Linux环境安装Zabbix_Server自动化脚本

小柒助手 Shell评论68,5423字数 803阅读2分40秒阅读模式

此脚本是Zabbix_Server安装脚本,有需要朋友可以参考,脚本内容如下:

系统环境:CentOS 7.9文章源自小柒网-https://www.yangxingzhen.cn/6695.html

软件版本:4.4.3文章源自小柒网-https://www.yangxingzhen.cn/6695.html

[root@localhost ~]# vim auto_install_zabbix_server.sh文章源自小柒网-https://www.yangxingzhen.cn/6695.html

  1. #!/bin/bash
  2. #2020-3-12 09:28:53
  3. #By Author YangXingZhen
  4. #Auto Install Zabbix_Server And Zabbix_Agent
  5. #Define Zabbix path variables
  6. ZABBIX_URL=http://mirrors.yangxingzhen.com/zabbix
  7. ZABBIX_FILES=zabbix-4.4.3.tar.gz
  8. ZABBIX_FILES_DIR=zabbix-4.4.3
  9. ZABBIX_PREFIX=/usr/local/zabbix
  10. function Install_Zabbix (){
  11. #Install Zabbix_Server
  12. if [ ! -d ${ZABBIX_PREFIX} ];then
  13. #Install Package
  14. yum -y install net-snmp net-snmp-devel perl-DBI curl curl-devel libevent libevent-devel wget gcc gcc-c++ mysql-devel pcre pcre-devel
  15. wget -c ${ZABBIX_URL}/${ZABBIX_FILES}
  16. tar xf ${ZABBIX_FILES}
  17. cd ${ZABBIX_FILES_DIR}
  18. ./configure --prefix=${ZABBIX_PREFIX} --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
  19. if [ $? -eq 0 ];then
  20. make && make install
  21. echo -e "\033[32mThe Zabbix_Server Install Sussess...\033[0m"
  22. else
  23. echo -e "\033[31mThe Zabbix_Server Install Failed...\033[0m"
  24. exit 1
  25. fi
  26. else
  27. echo -e "\033[31mThe Zabbix_Server already Install...\033[0m"
  28. exit 1
  29. fi
  30. #Backup Configuration File
  31. \cp ${ZABBIX_PREFIX}/etc/zabbix_server.conf ${ZABBIX_PREFIX}/etc/zabbix_server.conf.bak
  32. ln -sf ${ZABBIX_PREFIX}/sbin/zabbix_* /usr/local/sbin/
  33. #Config Zabbix_Server File
  34. cat >${ZABBIX_PREFIX}/etc/zabbix_server.conf <<EOF
  35. LogFile=/tmp/zabbix_server.log
  36. PidFile=/tmp/zabbix_server.pid
  37. DBHost=localhost
  38. DBName=zabbix
  39. DBUser=zabbix
  40. DBPassword=www.yangxingzhen.cn
  41. Timeout=30
  42. LogSlowQueries=3000
  43. EOF
  44. #Configuring system services
  45. \cp misc/init.d/tru64/zabbix_server /etc/init.d/zabbix_server
  46. chmod o+x /etc/init.d/zabbix_server
  47. #Create zabbix user
  48. useradd -s /sbin/nologin zabbix >/dev/null 2>&1
  49. #Configure power on self start
  50. grep -qw "/etc/init.d/zabbix_server" /etc/rc.d/rc.local
  51. if [ $? -ne 0 ];then
  52. echo "/etc/init.d/zabbix_server start" >>/etc/rc.d/rc.local
  53. chmod +x /etc/rc.d/rc.local
  54. fi
  55. }
  56. function Config_Zabbix_DB (){
  57. stty erase '^H'
  58. Code=""
  59. while true
  60. do
  61. read -p "$(echo -e "\033[32m请输入Zabbix_Server连接的数据库IP(Defaultlocalhost):\033[0m")" DB_Host
  62. if [ -z "${DB_Host}" ];then
  63. echo -e "\033[31m输入错误,数据库IP不能为空...\033[0m"
  64. elif [ "${DB_Host}" = "q" -o "${DB_Host}" = "Q" ];then
  65. Code="break"
  66. else
  67. sed -i "s/DBHost=.*/DBHost=${DB_Host}/" ${ZABBIX_PREFIX}/etc/zabbix_server.conf
  68. while true
  69. do
  70. read -p "$(echo -e "\033[32m请输入Zabbix_Server连接的数据库名(Defaultzabbix): \033[0m")" DB_Name
  71. if [ "${DB_Name}" = "q" -o "${DB_Name}" = "Q" ];then
  72. Code="break"
  73. elif [ -z "${DB_Name}" ];then
  74. echo -e "\033[31m输入错误,数据库名不能为空...\033[0m"
  75. else
  76. sed -i "s/DBName=.*/DBName=${DB_Name}/" ${ZABBIX_PREFIX}/etc/zabbix_server.conf
  77. while true
  78. do
  79. read -p "$(echo -e "\033[32m请输入Zabbix_Server连接的数据库用户名(Defaultzabbix): \033[0m")" DB_User
  80. if [ "${DB_User}" = "q" -o "${DB_User}" = "Q" ];then
  81. Code="break"
  82. elif [ -z "${DB_User}" ];then
  83. echo -e "\033[31m输入错误,数据库用户名不能为空...\033[0m"
  84. else
  85. sed -i "s/DBUser=.*/DBUser=${DB_User}/" ${ZABBIX_PREFIX}/etc/zabbix_server.conf
  86. while true
  87. do
  88. read -p "$(echo -e "\033[32m请输入Zabbix_Server连接的数据库密码(Defaultwww.yangxingzhen.cn): \033[0m")" DB_Passwd
  89. if [ "${DB_Passwd}" = "q" -o "${DB_Passwd}" = "Q" ];then
  90. Code="break"
  91. elif [ -z "${DB_Passwd}" ];then
  92. echo -e "\033[31m输入错误,数据库密码不能为空...\033[0m"
  93. else
  94. sed -i "s/DBPassword=.*/DBPassword=${DB_Passwd}/" ${ZABBIX_PREFIX}/etc/zabbix_server.conf
  95. [ -f /usr/bin/mysql ] || yum -y install mysql >/dev/null
  96. echo -e "\033[32m正在测试数据库连接...\033[0m"
  97. mysql -h${DB_Host} -u${DB_User} -p${DB_Passwd} -e "show databases;" >/dev/null 2>&1
  98. if [ $? -eq 0 ];then
  99. echo -e "\033[32mMysql连接测试结果:Sussess\033[0m"
  100. echo -e "\033[32m正在导入Zabbix初始数据...\033[0m"
  101. mysql -h${DB_Host} -u${DB_User} -p${DB_Passwd} ${DB_Name} <database/mysql/schema.sql
  102. mysql -h${DB_Host} -u${DB_User} -p${DB_Passwd} ${DB_Name} <database/mysql/images.sql
  103. mysql -h${DB_Host} -u${DB_User} -p${DB_Passwd} ${DB_Name} <database/mysql/data.sql
  104. echo -e "\033[32m正在启动Zabbix_Server服务...\033[0m"
  105. /etc/init.d/zabbix_server start
  106. Code="break"
  107. else
  108. echo -e "\033[31mMysql测试结果:Failed...\033[0m"
  109. Config_Zabbix_DB
  110. fi
  111. fi
  112. ${Code}
  113. done
  114. fi
  115. ${Code}
  116. done
  117. fi
  118. ${Code}
  119. done
  120. fi
  121. ${Code}
  122. done
  123. }
  124. function Main (){
  125. Install_Zabbix
  126. Config_Zabbix_DB
  127. }
  128. Main

脚本执行方式:文章源自小柒网-https://www.yangxingzhen.cn/6695.html

[root@localhost ~]# sh auto_install_zabbix_server.sh文章源自小柒网-https://www.yangxingzhen.cn/6695.html

文章源自小柒网-https://www.yangxingzhen.cn/6695.html 文章源自小柒网-https://www.yangxingzhen.cn/6695.html

若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如本文“对您有用”,欢迎随意打赏,谢谢!

继续阅读
Wechat
微信扫一扫,加我!
weinxin
我的微信
微信号已复制
微信公众号
微信扫一扫,关注我!
weinxin
我的公众号
公众号已复制
Shell最后更新:2022-12-6
小柒助手
  • 本文由 小柒助手 发表于 2020年4月8日 11:45:24
  • 声明:本站所有文章,如无特殊说明或标注,本站文章均为原创。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。转载请务必保留本文链接:https://www.yangxingzhen.cn/6695.html
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

拖动滑块以完成验证
加载中...