Ir para o conteúdo
ou

Software livre Brasil

 Voltar a Blogosfera d...
Tela cheia Sugerir um artigo

Rafael Gomes: Atualizando agentes do Zabbix em massa

9 de Junho de 2011, 0:00 , por Software Livre Brasil - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 347 vezes

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 :P )

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! :P

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!


Fonte: http://techfree.com.br/wordpress/2011/06/09/atualizando-agentes-do-zabbix-em-massa/

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.