1. 程式人生 > >Zabbix agent批量自動部署

Zabbix agent批量自動部署

In known user onf root sbin zab print com

感謝李大神的幫助~


廢話:系統大批量上線時,我們一個個去裝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(我標紅了)


環境信息:

1、跑腳本的IP:192.168.2.100

2、Zabbix Server IP:192.168.2.201

3、agent安裝路徑:/usr/local/zabbix

agent日誌:/tmp下面

4、設置了開啟啟動



#!/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 "yes\r" }

expect "password" { send "${passwd}\r" }

expect "#" { send "groupadd zabbix\r" }

expect "#" { send "useradd -g zabbix zabbix -s /sbin/nologin\r" }

expect "#" { send "mkdir /usr/local/zabbix\r" }

expect "#" { send "scp 192.168.2.100:/opt/zabbix_agents_3.2.0.linux2_6.amd64.tar.gz /usr/local/zabbix\r" }

expect "yes/no" { send "yes\r" }

expect "password" { send "123456\r" }

expect "#" { send "cd /usr/local/zabbix\r" }

expect "#" { send "tar xf zabbix_agents_3.2.0.linux2_6.amd64.tar.gz\r" }

expect "#" { send "sed -i '91c Server=192.168.2.201' /usr/local/zabbix/conf/zabbix_agentd.conf\r" }

expect "#" { send "sed -ri \"/^Hostname/s/.*/Hostname=\\\${HOSTNAME%%.*}/\" /usr/local/zabbix/conf/zabbix_agentd.conf\r" }

expect "#" { send "/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/conf/zabbix_agentd.conf\r" }

expect "#" { send "chmod -R 755 /usr/local/zabbix\r" }

expect "#" { send "chown -R zabbix. /usr/local/zabbix\r" }

expect "#" { send "rm -rf /usr/local/zabbix/zabbix_agents_3.2.0.linux2_6.amd64.tar.gz\r" }

expect "#" { send "echo \"/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/conf/zabbix_agentd.conf\" >> /etc/rc.local\r" }

expect "#" { send "exit\r" }

EOF

done


Zabbix agent批量自動部署