Após de uma thread na lista de discussão do Zabbix, percebi que os administradores do Zabbix, assim como eu, não costumam atualizar seus agentes, quer seja por preguiça ou outro motivo qualquer. (Na maioria das vezes é preguiça mesmo )
Não vou defender a necessidade da atualização, acredito que todos já sabem que no pior dos casos a correção de bugs já é o bastante para se tornar NECESSÁRIO atualizar o agente, correto?
Vamos por a mão na massa!
Estou usando como exemplo o CentOS, mas acredito que seja facilmente customizável para sua distro preferida.
Como a versão mais nova do Zabbix-agente no repositório EPEL5 é a 1.4.7 utilizaremos pacotes criados pelo meu amigo Gomix (Gracias!), que estão disponíveis aqui.
Baixe todos os pacotes e deposite em um servidor, com apache, no diretório /var/www/html/deploy
Agora nesse mesmo diretório você criará um arquivo chamado atualiza_zabbix.sh com o conteúdo abaixo:
#!/bin/bash
echo “#################”
echo “Baixando pacote”
echo “#################”wget http://<ip do servidor que depositou os pacotes e script>/deploy/zabbix-1.8.5-1.el5.$(uname -i).rpm > /dev/null
echo “#################”
echo “instalando pacote”
echo “#################”rpm -Uvh zabbix-*
echo “#####################”
echo “Reiniciando o serviço”
echo “#####################”service zabbix-agent restart
echo “#####################”
echo “Removendo lixo”
echo “#####################”rm -fr zabbix* atualiza_zabbix.sh
Agora execute o comando abaixo:
# chown -R apache:apache /var/www/html/deploy
Agora na sua máquina, crie um arquivo chamado lista_servidores, com a lista de ip (ou nome, caso seu DNS esteja configurado) dos seus servidores, um valor abaixo do outro.
Ainda na sua máquina, execute o comando abaixo:
for i in `cat lista_servidores`; do ssh -l root $i "wget http://<ip do servidor que depositou os pacotes e script>/deploy/atualiza_zabbix.sh && chmod +x atualiza_zabbix.sh && ./atualiza_zabbix.sh" ; done
Obs: Foi utilizado o usuário root aqui, mas em caso do usuário root esteja desabilitado use outro usuário com sudo.
Pronto! Agora só coloque as senhas dos servidores, caso não já tenha trocado as chaves publicas, claro!
Update – Se você não tiver problema em adicionar repositórios, pode encurtar o tutorial a um único comando:
for i in `cat lista_servidores`; do ssh -l root $i "rpm -Uvh http://fedora.danny.cz/danny-el/danny-release-5-1.noarch.rpm && yum update zabbix-agent -y && rpm -e danny-release-5-1" ; done
Thanks Sharkcz!
0sem comentários ainda