check_env.go 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package auto
  2. import (
  3. "xg_auto_deploy/internal/global"
  4. "xg_auto_deploy/internal/models"
  5. "xg_auto_deploy/internal/remote"
  6. )
  7. func CheckSysEnv(nodeTemp *models.ServerNodeConfig) {
  8. send := func(cmd string, flag *string) {
  9. _, err := remote.SingleCmd(nodeTemp, cmd)
  10. if err != nil {
  11. *flag = "未设置"
  12. }
  13. *flag = "已配置"
  14. }
  15. send(`grep "net.core.wmem_default = 2097152" /etc/sysctl.conf`, &nodeTemp.CoreWmemDefault)
  16. send(`grep "net.core.rmem_default = 2097152" /etc/sysctl.conf`, &nodeTemp.CoreRmemDefault)
  17. send(`grep "net.core.rmem_max = 8388608" /etc/sysctl.conf`, &nodeTemp.CoreRmemMax)
  18. send(`grep "net.core.wmem_max = 8388608" /etc/sysctl.conf`, &nodeTemp.CoreWmemMax)
  19. send(`grep "ulimit -s 20480" /etc/profile`, &nodeTemp.OsOpenFiles)
  20. send(`grep "ulimit -n 10240" /etc/profile`, &nodeTemp.OsStackSize)
  21. }
  22. func modifySysEnv(nodeTemp *models.ServerNodeConfig, cmd string) {
  23. send := func(cmd string) {
  24. _, err := remote.SingleCmd(nodeTemp, cmd)
  25. if err != nil {
  26. }
  27. }
  28. send(`echo "net.core.wmem_default = 2097152" | sudo tee -a /etc/sysctl.conf`)
  29. send(`echo "net.core.rmem_default = 2097152" | sudo tee -a /etc/sysctl.conf`)
  30. send(`echo "net.core.rmem_max = 8388608" | sudo tee -a /etc/sysctl.conf`)
  31. send(`echo "net.core.wmem_max = 8388608" | sudo tee -a /etc/sysctl.conf`)
  32. send(`echo "ulimit -s 20480" | sudo tee -a /etc/profile`)
  33. send(`echo "ulimit -n 10240" | sudo tee -a /etc/profile`)
  34. send("sysctl -p /etc/sysctl.conf")
  35. send("source /etc/profile")
  36. }
  37. func CheckAppEnv(nodeTemp *models.ServerNodeConfig) {
  38. _, err := remote.SingleCmd(nodeTemp, "gcc --version")
  39. if err != nil {
  40. nodeTemp.AppInfo.Gcc = "不存在"
  41. global.Logs.Warnf("%s: gcc未安装", nodeTemp.NodeId)
  42. } else {
  43. nodeTemp.Gcc = "gcc已安装"
  44. }
  45. _, err = remote.SingleCmd(nodeTemp, "rpm -q libaio")
  46. if err != nil {
  47. nodeTemp.AppInfo.Libaio = "不存在"
  48. global.Logs.Warnf("%s: libaio未安装", nodeTemp.NodeId)
  49. } else {
  50. nodeTemp.Libaio = "libaio已安装"
  51. }
  52. _, err = remote.SingleCmd(nodeTemp, "snmpd -v")
  53. if err != nil {
  54. nodeTemp.AppInfo.Snmpd = "不存在"
  55. global.Logs.Warnf("%s节点:snmpd未安装", nodeTemp.NodeId)
  56. } else {
  57. nodeTemp.Snmpd = "snmpd已安装"
  58. }
  59. _, err = remote.SingleCmd(nodeTemp, "ntpd --version")
  60. if err != nil {
  61. nodeTemp.AppInfo.Ntpd = "不存在"
  62. global.Logs.Warnf("%s节点: ntpd未安装", nodeTemp.NodeId)
  63. } else {
  64. nodeTemp.Ntpd = "ntpd已安装"
  65. }
  66. }