Zabbix agent批量自动部署

废话:系统大批量上线时,我们一个个去装agent,有点枯燥,这里分享个expect结合上一篇《zabbix自动发现》,可以省不少工时。

准备工作:

1、下载客户端去吧https://www.zabbix.com/download_agents

2、跑脚本的主机192.168.2.100

1)下载的客户端放在了/opt下面
2)需要安装agent的(ip)和(passwd)信息,放在了ip_list.sh文件中

# vim /opt/ip_list.sh  192.168.2.1:123456  192.168.2.2:123456  192.168.2.3:123456  192.168.2.4:123456  192.168.2.5:123456  

3)脚本agent_install.sh也放在了/opt下面

3、注意修改Zabbix Server IP、跑脚本的IP(我标红了)

环境信息:

  • 跑脚本的IP:192.168.2.100
  • Zabbix Server IP:192.168.2.201
  • agent安装路径:/usr/local/zabbix
  • agent日志:/tmp下面
  • 设置了开启启动
#!/bin/bash    # User:zgd  # https://www.zabbix.com/download_agents  # Install_URL:/usr/local/zabbix  # DATE:20180622  # Version:V2.3    rm -rf /root/.ssh/known_hosts  for i in {1..5}  do   host=`sed -n "${i}p" /opt/ip_list.txt |awk -F ":" '{print $1}'`   passwd=`sed -n "${i}p" /opt/ip_list.txt |awk -F ":" '{print $2}'`    expect << EOF    set timeout 300    spawn ssh root@$host    expect "yes/no" { send "yesr" }    expect "password" { send "${passwd}r" }    expect "#" { send "groupadd zabbixr" }    expect "#" { send "useradd -g zabbix zabbix -s /sbin/nologinr" }    expect "#" { send "mkdir /usr/local/zabbixr" }    expect "#" { send "scp 192.168.2.100:/opt/zabbix_agents_3.2.0.linux2_6.amd64.tar.gz /usr/local/zabbixr" }    expect "yes/no" { send "yesr" }    expect "password" { send "123456r" }    expect "#" { send  "cd /usr/local/zabbixr" }    expect "#" { send "tar xf zabbix_agents_3.2.0.linux2_6.amd64.tar.gzr" }    expect "#" { send "sed -i '91c Server=192.168.2.201' /usr/local/zabbix/conf/zabbix_agentd.confr" }    expect "#" { send "sed -ri "/^Hostname/s/.*/Hostname=\${HOSTNAME%%.*}/" /usr/local/zabbix/conf/zabbix_agentd.confr" }    expect "#" { send "/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/conf/zabbix_agentd.confr" }    expect "#" { send "chmod -R 755 /usr/local/zabbixr" }    expect "#" { send "chown -R zabbix. /usr/local/zabbixr" }    expect "#" { send "rm -rf /usr/local/zabbix/zabbix_agents_3.2.0.linux2_6.amd64.tar.gzr" }    expect "#" { send "echo "/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/conf/zabbix_agentd.conf" >> /etc/rc.localr" }    expect "#" { send "exitr" }  EOF  done  

原文出处:51cto -> http://blog.51cto.com/13690439/2131980

本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果侵犯你的利益,请发送邮箱到 [email protected],我们会很快的为您处理。