Expect Script to install the Zabbix-Agent on all Linux Servers

In this article I will demonstrate how to install expect we install the zabbix-agent in all servers at once.

Install expect

# yum install expect expectk

Create dir

# mkdir -p /opt/adm

# cd /opt/adm

Create a list of your hosts to install

# vi hosts.txt

192.168.0.1
192.168.0.2
192.168.0.3

Create the expect Script

If you want to test in 1 host uncomment the line #set host 192.168.0.1 and comment set host [lindex $argv 0]

# vi zabbix_install.expect

#!/usr/bin/expect

set timeout 5
set user “root”
#set host 192.168.0.1
set host [lindex $argv 0]
set pass “Your_Password”
log_file resultado.log

spawn ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no “${user}@${host}”
expect “assword”
send “$pass\r”
expect “${user}@”
send “whoami\r”

#Customizing

send "rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm \r"
send "yum install zabbix zabbix-agent -y \r"
send "mv /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf_original \r"
send "echo Hostname=\$(hostname) > /etc/zabbix/zabbix_agentd.conf\r"
send "echo Server=monitoramento.diegoluisi.eti.br >> /etc/zabbix/zabbix_agentd.conf\r"
send "echo ServerActive=monitoramento.diegoluisi.eti.br >> /etc/zabbix/zabbix_agentd.conf\r"
send "echo EnableRemoteCommands=1 >> /etc/zabbix/zabbix_agentd.conf\r"
send "echo Timeout=30 >> /etc/zabbix/zabbix_agentd.conf\r"
send "echo LogFileSize=0 >> /etc/zabbix/zabbix_agentd.conf\r"
send "echo LogFile=/var/log/zabbix/zabbix_agentd.log >> /etc/zabbix/zabbix_agentd.conf\r"
send "echo PidFile=/var/run/zabbix/zabbix_agentd.pid >> /etc/zabbix/zabbix_agentd.conf\r"
send "echo '############# www.diegoluisi.eti.br #############' >> /etc/zabbix/zabbix_agentd.conf\r"
send "iptables -A INPUT -p tcp -m tcp --dport 10050 -j ACCEPT \r"
send "iptables-save"
send "/etc/init.d/iptables restart"
send "chkconfig zabbix-agent on \r"
send "/etc/init.d/zabbix-agent restart \r"
send "exit\r"
send "exit\r"
interact

Execute in all hosts of your list

for i in $(cat hosts.txt);do ./zabbix_install.expect $i;done

Captura de Tela 2015-05-22 às 13.53.30

Instalar Agent Zabbix no CentOS/RHEL usando YUM

Eae galera, vou ensinar como instalar o zabbix-agent no CENTOS/RHEL via yum

Primeiramente como root

# rpm --import http://repo.zabbixzone.com/centos/RPM-GPG-KEY-zabbixzone
# rpm -Uv http://repo.zabbixzone.com/centos/zabbixzone-release-0.0-1.noarch.rpm
# yum install zabbix-agent -y
# chkconfig zabbix-agent on
# vi /etc/zabbix/zabbix_agentd.conf

Procurar e alterar a linha abaixo de:

Server=127.0.0.1

por

Server=ENDERECOIP_OU_NOMEDOSEUSERVER

# :wq
# vi /etc/sysconfig/iptables
-A INPUT -p tcp –dport 10050 -j ACCEPT
-A INPUT -p tcp –dport 10051 -j ACCEPT
:wq
# service iptables restart
# service zabbix-agent restart

Só isso e até a próxima…
Espero que tenham gostado.