Diário de Viagens e Trabalhos do Pajé
29abr/1110

Envio de Mensagens SMS no Zabbix utilizando Kannel

Posted by Pajé

Faz algum tempo que temos um serviço de Broker SMS, na empresa onde trabalho e nunca tive a oportunidade de configurar o Zabbix para envio de mensagens quando ocorrer algum evento através desse sistema. Eis que surgiu a demanda faz uns 2 meses e agora estou aqui colaborando com esse tutorial.

Já faz um bom tempo que o Zabbix suporta envio de mensagens utilizando um celular plugado no equipamento e na versão 2.8.4, foi habilitada uma nova feature para envio de SMS através do serviço comercial Ez Texting. No meu caso tenho um servidor Kennel e vamos utilizá-lo para tal. O Kennel é gateway SMS em Software Livre amplamente utilizado no mundo para envio de SMS em massa.

Configurando script de envio

A primeira coisa a se fazer é configurar no Zabbix Server o diretório de ga externos, um parâmetro do arquivo de configuração.
Edite o arquivo de configuração do Zabbix e veja se a configuração abaixo existe, caso não exista configure a mesma.

AlertScriptPath=/usr/local/bin

OBS: Esse path pode ser outro, só lembre do mesmo para colocar o script que será configurado.

Segue um modelo co script que deve ser colocado no diretório supradescrito:

#!/bin/bash
# Mensagem SMS Utilizando o Kannel
wget --spider "http://192.168.0.1:13013/cgi-bin/sendsms?username=tester&password=foobar&dlr-mask=31&from=27289&smsc=&to=$1&text=$2-$3"

NOTA: Foi utilizado para esse arquivo o nome envia_sms.

Vamos entender o script:
wget = Comando para acessar o servidor utilizando protocolo http;
--spider = Parâmetro para não realizar download do arquivo;
192.168.0.1:3014 = Endereço do gateway SMS e porta, 3014;
“Resto” = Complemento do script cgi do Kannel.

No final da linha temos 3 variáveis que são: $1, $2 e $3 representam:
$1 = Número do celular do usuário ;
$2 = Conteúdo do assunto padrão da Ação - Zabbix ;
$3 = Conteúdo da mensagem padrão da Ação – Zabbix .

Agora que sabemos exatamente o que o script faz, vamos criar uma mídia nova, agora no Zabbix Web. No menu acesse:

Administração > Tipos de Mídias > “Botão” Criar mídia

Será aberta uma janela. Nela configure o nome, tipo de mídia como Script e o nome do script que no caso é envia_sms.

Imagem 01

Agora siga até:

Administração > Usuários > “Click no usuário que vai receber o SMS
“Agora em Mídia, botão” Adicionar

Configure Tipo com SMS Script, enviar para com o código de área seguido do número do telefone celular, usar se risco os níveis de criticidade que será enviado o SMS e status como Ativo.

Imagem 02

Depois de salvo, em Mídia aparecerá a mídia configurada conforme a figura abaixo:

Imagem 03

Pronto. Temos o servidor Zabbix, script mídia e usuário configurado para receber o SMS. O próximo passo é criar uma ação que, de acordo com algumas condições estabelecidas, vai enviar de fato o SMS.

Siga no menu: Configuração > Ações > “Botão” Criar ação

Vai abrir uma tela para configurar os parâmetros da ação. Segue abaixo um modelo de configuração:

Imagem 04

Explicando a figura acima, foi configurado Assunto e Mensagem padrão com as informações que serão enviadas no SMS, as Condições da ação contendo os requisitos que evem ser satisfeitos para enviar a notificação de um evento e as Operações da Ação que é para quem será enviado o SMS .

Pronto. Quando surgir um novo alarme que seja contemplado dentro das condições da ação, será executado o script e enviado um SMS ao usuário selecionado.

Lembrando que pode ser adaptado os procedimentos para enviar SMS à um grupo de usuário e não só à um usuário.

Referencia: http://blog.skinkers.com/2010/12/08/zabbix-push-notifications-for-iphone/

2dez/102

Curso de Zabbix pelo CISL

Posted by Pajé

S@lve pessoal.

Entre os dias 16 e 19/11/2010, ministrei um curso de Zabbix Avançado pelo CISL, Comitê Técnico de Implementação de Software Livre, no Serpro São Paulo.

Através desse treinamento pude melhorar a documentação e manuais que de certa forma já estavam desatualizados, além da valiosa troca de experiências, pois participaram deste evento membros da DataPrev, Serpro e outras empresas públicas e privadas.

Coloco à disposição minha colaboração através desses manuais nos formatos ODF e PDF para download, contendo o procedimento de instalação e customização da identidade visual do Zabbix.

Manua em ODF |  Manual em PDF

Abraços do Pajé.

21mai/1029

Monitorando Backup’s do Bacula no servidor Zabbix

Posted by Pajé

Mais um documento sobre o Zabbix.

Introdução

O objetivo deste trabalho é desenvolver um documento para auxiliar os colaboradores da empresa onde trabalho, na customização do Zabbix na monitoração dos backup's realizados pelo servidor Bacula. A necessidade é obter um dashboard único de monitoração contemplando todos os eventos do ambiente.

Entendendo as configurações

Esse documento parte do pressuposto que já existe em operação no ambiente os servidores Zabbix, e Bacula, que serão ajustados para realizar a nova função.

Não existe necessidade de instalação de aplicativos ou serviços adicionais.

O fluxo da monitoração se resume na configuração do servidor Bacula para enviar as mensagens do bconsole, após o backup, não só para os logs mas também para o servidor Zabbix.

Para que isso aconteça, é utilizado um script escrito em perl, que coleta essas informações e envia ao servidor Zabbix através do "zabbix trapper", onde items e triggers se encarregam de formatar os dados e exibir para os operadores.

Esse procedimento foi implementado utilizando Debian GNU/Linux lenny, Bacula 3.0.2-3 backports e Zabbix 1.8.2.

Ajustando o servidor Bacula.

Para começar, faça donwload do script zabbix_bacula.pl, extraia, permissione e mova para o diretório /usr/local/bin.

# # tar -xzvf zabbix_bacula.tar.gz
# chmod 755 zabbix_bacula.pl
# chown root:zabbix zabbix_bacula.pl
# mv zabbix_bacula.pl  /usr/local/bin/

OBS: Edite o script e veja se o caminho para o zabbix_sender está correto.

my $zabbix_sender = "/usr/local/bin/zabbix_sender";

São duas as alterações necessárias no Bacula Director. Sendo assim, edite o arquivo conforme o exemplo abaixo e configure os campos.

# vi /etc/bacula/bacula-dir.conf

Na configuração das mensagens, adicione/modifique os valores:

mailcommand = "/usr/local/bin/zabbix_bacula.pl %r %c"
mail = zabbixserver.paje.net.br = all, !skipped

As configurações do Messages, servem para dizer como e para onde serão enviadas as mensagens do bconsole no servidor Bacula após os backup's. Neste caso, o campo mailcommand configura o path do script que customizamos, bem como os parâmetros para a execução, já o campo mail configura o host do servidor Zabbix e parâmetros. Mais informações veja no manual do bacula.

Nota: Cheque se o hostname ou DNS name configurado resolve corretamente o nome. Por padrão existem dois tipos de mensagens configuradas, o Standard e Daemon. Tenha certeza que na configuração do Job no Bacula client, o campo Messages corresponda com a configuração realizada.

OBS: É necessário que o campo Name tenha o mesmo valor tanto na configuração do host no Zabbix, quanto na configuração do cliente Bacula. Reinicie o serviço Bacula Diretor e se tudo ocorrer bem, seu servidor está ajustado.

Ajustando o servidor Zabbix

Todos os ajustes do Zabbix devem ser realizados através da interface Web. Logado, siga até a tela de configuração de itens: Configuration > Hosts No combo box localizado no canto superior direito, selecione Templates e abaixo, em Group, selecione em Templates .

Figura 01: Tela de configuração dos templates

Os items e triggers que estamos adicionando foram inseridos dentro do Template Linux, sendo assim clique em itens do Template Linux e na próxima tela no botão Create Item

.

Figura 02: Botão "Create Itens"

É necessário criar 8 items e triggers. Porém será exemplificado a criação a trigger bacula.backup.result que serve como exemplo para a criação das outras.

Figura 03: Tela para criar itens

Crie agora que temos o item configurado, crie a trigger através do botão "Create Trigger" e na expressão, aponte para o item criado, no campo Function selecione last value > N e N coloque 0 (zero).

Figura 04: Tela para criar triggers

Com base no itemtrigger criados anteriormente, crie as outras 7 utilizando os parâmetros abaixo:

Nome da trigger Items e Key de monitoração Valor de retorno
Bacula backup result bacula.backup.result 0 = OK ou OK -- with warnings e 1 = Erro
Bacula FD Byteswritten bacula.fd.byteswritten 2.95 MBytes
Bacula FD Fileswritten bacula.fd.fileswritten 7 bytes
Bacula SD Byteswritten bacula.sd.byteswritten 2.95 MBytes
Bacula SD Fileswritten bacula.sd.fileswritten 7 bytes
Bacula last volume bytes bacula.lastvolumebytes 11789564846
Bacula verify filesexamined bacula.verify.filesexamined ----
Bacula verify result bacula.verify.result ----

OBS: Na criação dos itens bacula.fd.fileswritten e bacula.fd.byteswritten , configure o campo Units com o valor Bytes . Os valores das triggers bacula.verify.filesexamined e bacula.verify.result não foram testados.

Referências/Agradecimentos

Sites

http://www.zabbix.com/forum/showthread.php?t=8145

http://www.bacula.org/en/dev-manual/main/main/Messages_Resource.html


Agradecimentos

Ao amigo da comunidade Zabbix milprog, por escrever o cookbook utilizado como base neste trabalho e auxiliar nos momentos de dúvida. Thank you again...

22abr/100

3º Seminário de Monitoração de Serviços – Palestra

Posted by Pajé

Agora sim está confirmada a palestra no 3º Seminário de Monitoração de Serviços. O evento acontecerá no SESC - Cacupé em Florianópolis nos dias 37 e 28.

A palestra, Monitorando Data Centers com Software Livre, expõe a experiência de uso de ferramentas livres como Zabbix, Cacti, Weathermaps e OTRS em um Data Center, tratando todo o ambiente de HOC - Hosting Operation System, até o processo de Service Desk demonstrando os benefícios como a pró-atividade e cumprimento do SLA - Service Level Agreement.

Mais sobre o evento:

Agenda

Dia 27/04 (terça-feira)

08:30 as 09:00 – Recepção e identificação

09:00 as 09:30 – Abertura com o Diretor-Presidente do SERPRO, Sr. Marcos Vinicius Ferreira Mazoni

09:30 as 09:45 – Apresentação Contextualização do Seminário – Sr. Marcos Martins Melo,  Coordenação Estratégica de Tecnologia do SERPRO

09:45 as 10:00 – Informações Logístico-administrativas – Sr. Renato Marques, Gerente Regional de Operações do SERPRO em Florianópolis

10:00 as 10:30 – Coffee Break

10:30 as 12:00 – Apresentação SERPRO

12:00 as 13:30 – Almoço

13:30 as 14:30 – Apresentação Cobra Tecnologia - Palestra Edmilson Pajé

14:30 as 15:30 – Apresentação Dataprev/SP

15:30 as 15:45 – Coffee Break

15:45 as 16:45 – a confirmar

16:45 as 17:45 – a confirmar

17:45 – Compartilhamento de experiências

28/04 (quarta-feira)

09:00 as 12:00 – Debate sobre viabilidade da criação da Comunidade de Monitoração de Serviços

12:00 – Encerramento do evento – Marcos Martins Melo, Coordenação Estratégica de Tecnologia do SERPRO

19abr/104

Monitoração de ativos utilizando Zabbix

Posted by Pajé

Já faz algum tempo que trabalho com Zabbix e já foi até tema de palestra no FISL - Forúm Internacional de Software Livre e Consegi - Congresso Internacional de Software Livre e Governo Eletrônico. Sendo assim, nada mais justo do que publicar uma documentação de instalação em português e no detalhe.

Como portei a doc do wiki, podem aparecer erros. Favor me avisar. @edmilsonpaje

Introdução

O objetivo deste trabalho é desenvolver um documento para auxiliar na instalação e configuração da ferramenta de monitoração Zabbix. Esse documento contempla todos os procedimentos para a total implantação do servidor.

OBS: Esse documento foi escrito para servidores Debian GNU/Linux.

Para este ambiente, será utilizada uma máquinas que receberá SGBD MySQL, o servidor de aplicação Zabbix Server e Zabbix Web. A partir deste passo, partimos do principio que já existem um sistema operacional Debian GNU/Linux instalado na máquina. Sendo assim, podemos prosseguir com a instalação das aplicações que irão compor nosso sistema de monitoramento Livre.

Rode o comando para a atualização da lista de pacotes do apt e as atualizações de segurança dos:

# apt-get update
# apt-get dist-upgrade

Inicie a instalação dos serviços e aplicativos necessário para compor a suíte. O comando abaixo instala todas as dependências necessárias para a compilação e instalação de cada aplicação.

# apt-get install mysql-server mysql-client libmysql++-dev gcc make \
apache2 libiksemel-dev libiksemel-utils libsnmp9-dev fping snmpd php5-cgi \
lm-sensors libsysfs2 php5 php5-gd php5-snmp php5-mysql php-pear perl-base \
liburi-perl libapache2-mod-perl2 libwww-perl libtool pkg-config rcconf \
libextutils-pkgconfig-perl libsnmp9-dev libcurl3-dev libgd-text-perl \
libio-zlib-perl libpdf-api2-perl libmysqlclient15-dev libcurl3

Para descrever melhor os principais pacotes que foram instalados, segue uma tabela com uma greve descrição da função de cada pacote.

Pacote Descrição
mysql5-server Utilizado pelo Zabbix para armazenar as informações
mysql5-devel Utilizado pelo Zabbix no ato de sua compilação
Apache2 Utilizado pelo Zabbix e pelo OTRS para hospedar duas páginas
gcc Utilizado pelo Zabbix no ato de sua compilação
make Utilizado pelo Zabbix no ato de sua compilação
iksemel-devel Client do Jabber para o Zabbix
libextutils-pkgconfig-perl Dependência para compilação do Zabbix
snmpd Suporte SNMP para o Zabbix
libsnmp9-dev Dependência para compilação do Zabbix
php Utilizado pelo Apache para rodar o Zabbix
mod-perl2 Dependência do OTRS
snmp Suporte SNMP para o Zabbix (tools

Para obter os pacotes mais novos do Zabbix, acesse a página do projeto em http://www.zabbix.com/download.php ou utilize os passos abaixo para baixar diretamente.

# mkdir /usr/src/zabbix
# cd /usr/src/zabbix
# wget -c http://prdownloads.sourceforge.net/zabbix/zabbix-1.8.2.tar.gz


OBS
: Armazene, de preferência, os códigos sempre dentro do diretório /usr/src e lembre de baixar a última versão estável.

Configurando e instalando o Zabbix

A partir de agora, iniciamos a configuração para compilar e instalar o Zabbix no sistema, bem como torná-lo operacional.
Neste passo, será preparado o sistema operacional, digamos que será um pré configuração para a compilação do Zabbix.

Crie o usuário Zabbix.

# adduser --no-create-home --disabled-password --disabled-login \
--shell=/bin/false zabbix

Como já estão instalados os pacotes apache2 e mysql5-server, reinicie os mesmos para validar o start dos serviços.

# /etc/init.d/httpd stop
# /etc/init.d/httpd start
# /etc/init.d/mysqld stop
# /etc/init.d/mysqld start

Para compilar o Zabbix, descompacte o arquivo com os sources localizados no diretório /usr/src/zabbix.

# cd /usr/src/zabbix/
# tar -xzvf zabbix-1.8.2.tar.gz
# cd zabbix-1.8.2
# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp \
--with-libcurl --prefix=/usr/local/zabbix


Nota:
Observe que estamos habilitando na compilação o Zabbix Server e Agente, suporte a base de dados MySQL, ao protocolo SNMP, ao Jabber e a biblioteca Lib Curl.

Talvez seja necessário utilizar o comando abaixo para a compilação:

# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp
--with-jabber --with-libcurl PKG_CONFIG_PATH=/usr/lib/pkgconfig/ \
PKG_CONFIG=/usr/bin/pkg-config


OBS:
Agora estamos passando por parâmetro os caminhos ( path's ), do pkg-config que é necessário para a compilação do Zabbix.

Será exibido na tela informações sobre a compilação, bem como os recursos que foram habilitados. Segua com a preparação da base de dados MySQL.
No Shell, coloque senha no usuário root.

# mysqladmin -u root password 'NOVA_SENHA'

Crie a base de dados no MySQL.

# mysql -p -u root
> CREATE DATABASE zabbix;

Crie um usuário chamado Zabbix.

 > GRANT ALL privileges ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'senha';

Execute os scripts sql para criar a base de dados Zabbix no MySQL.

# mysql -u zabbix -p zabbix < create/schema/mysql.sql
# mysql -u zabbix -p zabbix < create/data/data.sql
# mysql -u zabbix -p zabbix < create/data/images_mysql.sql

Instale o Zabbix.

# make install

Realize os ajustes finais no Sistema. Edite o arquivo /etc/services e adicione as linhas:

# vi /etc/services

Conteúdo:

zabbix_agent 10050/tcp   # Zabbix Agent
zabbix_trap 10051/tcp   # Zabbix Server

Copie os arquivos de configuração para o diretório /etc/zabbix.

# mkdir /etc/zabbix
# cp misc/conf/zabbix_server.conf misc/conf/zabbix_agent* /etc/zabbix/

Crie os diretórios para armazenagem dos log's e do pid.

# mkdir /var/log/zabbix
# mkdir /var/run/zabbix
# chown zabbix: /var/log/zabbix /var/run/zabbix

Configurando o Zabbix Server. Edite o arquivo /etc/zabbix/zabbix-server.conf .

# vi /etc/zabbix/zabbix_server.conf

Modifique ou descomente as seguintes TAG's:

# Define um Node ID exclusivo
NodeID=0
# Fequencia de envio de alertas
SenderFrequency=30
# Nível do debug no Log File
DebugLevel=3
# Timeout de conecxão com o agente
Timeout=5
# Caminho do arquivo pid do Zabbix Server
PidFile=/var/run/zabbix/zabbix_server.pid
# Caminho do arquivo de log do Zabbix Server
LogFile=/var/log/zabbix/zabbix_server.log
# Tamanho do arquivo de log
LogFileSize=2
# Caminho dos scripts customizados
AlertScriptsPath=/home/zabbix/bin/
# Servidor MySQL
DBHost=localhost
# Nome da base de dados no MySQL
DBName=zabbix
# Usuário da base de dados no MySQL
DBUser=zabbix
# Senha do usuário Zabbix no MySQL
DBPassword=SENHA

O Zabbix está configurado no sistema. Agora configure o Zabbix Server no init padrão do sistema para que inicie automaticamente no boot caso os sistema seja desligado.

# cp  misc/init.d/debian/zabbix-server /etc/init.d/zabbix_server
# chmod a+x /etc/init.d/zabbix_server

Entre no rcconf e habilite o zabbix_server. Edite o arquivo /etc/init.d/zabbix_server e deixe as linhas como o exemplo abaixo:

# vi /etc/init.d/zabbix_server

Conteúdo:

NAME=zabbix_server
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/home/zabbix/bin:/usr/local/sbin
#DAEMON=/etc/init.d/${NAME}
DAEMON=/usr/local/sbin/zabbix_server
DESC="Zabbix server daemon"
PID=/var/run/zabbix/$NAME.pid

Configurando o Font-End do Zabbix Server
Edite o arquivo /etc/php5/apache2/php.ini e inclua as linhas:

# vi /etc/php5/apache2/php.ini

Conteúdo:

date.timezone = America/Sao_Paulo
max_execution_time = 300
post_max_size = 16M
max_input_time = 300

Copie os códigos fontes fontes php para o /var/www.

# cp -r /usr/src/zabbix/zabbix-1.8.2/frontends/php/ /var/www/zabbix
# chown -R www-data:zabbix /var/www/zabbix

Agora seu Front-End esta pré-configurado. Utilizando um browser, entre com o seguinte endereço:

http://MEU_DOMINIO/zabbix/

Será exibida a tela para execução das configurações e validação das configurações anteriores.
Clique em Next.
Na próxima tela será exibido a licença do produto. Selecione a opção "I Agree" e clique em Next.
A próxima tela valida as configurações e os pré-requisitos para execução do Zabbix. Se tudo estiver OK, clique em Next.
Agora vamos a configuração da conexão com a base de dados.
Na opção Type, selecione MySQL.
Na opção Host, escreva localhost.
Na opção Port, deixe padrão (0).
Na opção Name, insira o nome da base de dados no MySQL (zabbix).
Na opção user, insira o nome do usuário com permissão de acesso (zabbix).
Na opção Password, coloque a senha do usuário.
Agora, clique no botão Test Conection para validar as configurações. Se tudo estiver certo, aparecerá um OK verde acima do botão.
Clique em Next.
A próxima tela serve para confirmar as configurações do passo anterior. Clique em Next.
Essa tela confirma se os arquivos de configurações estão OK. Clique em Next.
Será exibida uma mensagem de sucesso na configuração. Se isso acontecer, o Front-End para o Zabbix está configurado corretamente.
Clique em Finish.
Agora ira aparecer a tela de login do Zabbix. Para se logar, utilize o usuário "admin" e deixe o campo senha coloque "zabbix". Clique em Enter.
Clique na aba Admistration e depois no usuário Admin.
Nessa página que será aberta, clique em "Change Password" e se abrirão 2 novos campos, "Password" e "Password (Once Again)". Troque a senha do usuário Admin.

Configurando o Zabbix Agent no Servidor

Como compilamos o Zabbix Agent junto com o servidor, vamos utilizar o mesmo para monitorar o Zabbix Server.
Configure o agente do Zabbix para iniciar automaticamente no Boot do sistema.

# cd /usr/src/zabbix/zabbix-1.6.2
# cp  misc/init.d/debian/zabbix-agent /etc/init.d/zabbix_agent
# chmod a+x /etc/init.d/zabbix_agent

Entre no rcconf e habilite o zabbix_server.

# rcconf

Edite o arquivo /etc/init.d/zabbix_server.

# vi /etc/init.d/zabbix_agent

Conteúdo:

NAME=zabbix_agent
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/home/zabbix/bin:/usr/local/sbin
#DAEMON=/etc/init.d/${NAME}
DAEMON=/usr/local/sbin/zabbix_agentd
DESC="Zabbix server daemon"
PID=/var/run/zabbix/$NAME.pid

Modifique também as linhas abaixo no arquivo /etc/zabbix/zabbix_agentd.conf:

# vi /etc/zabbix/zabbix_agentd.conf

Conteúdo:

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log

OBS: No caso do servidor, não é preciso criar os diretório zabbix dentro do /var/run e /var/log, pois já foram criados durante a configuração do server.

Instalando e configurando o Zabbix Agent

Com o servidor instalado, configurado e funcional, é possível iniciar a instalação dos agentes do Zabbix nos sistemas operacionais que serão monitorados.

Zabbix Agent no Debian ou Ubuntu

Para instalar o agente no Debian/Ubuntu é muito simples. Basta baixar o pacote zabbix-agent via apt e configurar o endereço do servidor como segue abaixo:
Instalando o Zabbix Agent.

# apt-get  install zabbix-agent

Será exibida uma tela em dialog, no campo digite o endereço IP do servidor e tele ENTER.

Tudo configurado no agente.

Zabbix Agent no Solaris 10

Baixe do porta do Zabbix a ultima versão dos binários para Solaris 10.
Copie os diretório com o agente através com comando scp para o novo servidor e caso necessário descompacte o mesmo com gunzip e tar xvf. Neste exemplo, estamos utilizando a versão 1.6.2 do agente para Solaris.
Crie o home para o usuário "zabbix".

# mkdir -p /opt/zabbix

Crie um grupo e usuário chamado "zabbix".

# groupadd zabbix
# useradd -s /usr/bin/bash -g zabbix -d /opt/zabbix zabbix

Copie os arquivos binários do Zabbix para /opt/zabbix/bin.

# cp -r /home/paje/zabbix_agents_1.6.2.sol10/bin/ /opt/zabbix/

Permissione o home do usuário.

# chown -R zabbix:zabbix /opt/zabbix

Crie o diretório onde serão armazenados os arquivos de configuração do Zabbix e copie os arquivos de configuração bases.

# mkdir -p /etc/zabbix
# cp /home/paje/zabbix_agents_1.6.2.sol10/etc/* /etc/zabbix/

Crie e permissione também o o diretório onde serão armazenados os logs.

# mkdir -p /var/log/zabbix-agent/
# touch /var/log/zabbix-agent/zabbix_agentd.log
# chown -R zabbix:zabbix /var/log/zabbix-agent/

Coloque no "$PATH" do usuário Zabbix e do Root o diretório bin do Zabbix. Com base no script de init do Linux, crie um para Solaris e coloque no rc3 adicionando  o link para que seja iniciado no boot.

# ln -s /etc/init.d/zabbix_agent /etc/rc3.d/

Inicie o script e tudo deve funcionar.

#  /etc/init.d/zabbix_agent start

Zabbix Agent no Windows 2003 Server

Para se instalar o Zabbix agent em um Windows 2003 Server, baixe o binário para Windows do link abaixo:

http://www.zabbix.com/download.php

Descompacte o arquivo e utilize os binários para a arquitetura que estiver trabalhando. No caso win32. (Extraia os arquivos em c:\) Após baixar o agente, crie um diretório no c:\ chamado zabbix.

OBS: Copie o conteúdo do diretório extraído ( win32 ), para dentro de c:\zabbix.

Após crie um arquivo em c:\zabbix_agentd.conf, e nele coloque o conteúdo a seguir. Lembre que o arquivo não pode ter extensão .txt.
Conteúdo:

Server=XXX.XXX.XXX.XXX
Hostname=localhost
StartAgents=5
DebugLevel=3
PidFile=c:\zabbix\zabbix_agentd.pid
LogFile=c:\zabbix\zabbix_agentd.log
Timeout=3

Onde está XXX.XXX.XXX.XXX deve possuir o IP do servidor Zabbix e onde está localhost pode ficar como localhost ou pode por o nome da máquina caso ela esteja registrada no domínio (existe uma probabilidade de acontecer erros de conexão quando se usa outro nome e não localhost).
O próximo passo é criar no diretório c:\zabbix dois arquivos. Um para o log e outro para o pid.

c:\zabbix\zabbix_agentd.log
c:\zabbix\zabbix_agentd.pid

Agora, siga os procedimentos para instalar o Zabbix Agente no Windows.
Iniciar > Executar > "cmd" > OK

cd c:\zabbix
C:\zabbix\zabbix_agentd.exe --install

NOTA: Observe que existem outros parâmetros para o comando acima. Utilize a opção --help para obter o conjunto de parâmetros válidos.
Neste momento o agente já está instalado e pode ser acionado com o comando:

C:\zabbix\zabbix_agentd.exe --start

Uma forma mais ágil e pratica de manipular o agente do Zabbix no Windows, é utilizar o Painel de Controle do sistema para administrar o funcionamento.
Para acessar, siga as instruções:
Iniciar > Configurações > Painel de Controle > Ferramentas Administrativas > Serviços de Componentes
Agora, clique sobre o item Serviços e será exibida a lista de serviços que estão instalados em sua máquina. Procure item ZABBIX Agent.
Ao abrir esse item é exibida uma janela com os parâmetros básicos de administração do Zabbix. Instalado e funcionando.

Atualização do Zabbix ( Upgrade )

Antes, observe o manual e página de download no site do Zabbix para validar a compatibilidade, não só dos agentes, mas da versão que está sendo atualizada. Algumas vezes é necessário realizar upgrade por upgrade de versão em versão até chegar na desejada.

OBS: A atualização pode ser toda realida através do servidor de aplicação, não sendo necessário entrar no servidor MySQL. Utilize o comando mysql para "rodar" o script sql na base.

NOTA: Caso os backups da base de dados não existam, aconcelho tirar um dump com o comando mysqldump, evitando assim possíveis perdas.

Atualizando o Zabbix Server e Client
Copie os códigos para entro de /usr/src e descompacte o arquivo para iniciarmos o upgrade.
Ex:

# cp -r /media/pendrive/zabbix-1.8.2 /usr/src
# cd /usr/src/zabbix-1.8.2/
# tar -xzvf zabbix-1.8.2.tar.gz
# cd zabbix-1.8.2

Com os serviços parados, proceguimos com a compilação da aplicação. Esse procedimento é o mesmo utilizado para instalação.
Para atualizar a aplicação, pare todos os serviços realacionados a ele.

# /etc/init.d/zabbix_server stop
# /etc/init.d/zabbix_agent stop
# /etc/init.d/apache2 stop

Para compilar e configurar, utilize:

# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl \
--prefix=/usr/local/zabbix
# make install

Como as configurações e ajustes já estão feitas no sistema, não é necessário realizar auterações.

NOTA: Valide se existem novas funcionalidades na nova versão e se existe a mecessidade de habilitá-las no zabbix_server.conf e zabbix_agent.conf e não esqueça de incluir nesta documentação.

Os binários estão compilados e instalados, agora seguimos com a atualização da base MySQL.

OBS: Não existe a necessidade de drop nos indexes nem atualização para a base nas versões 1.8.x para 1.8.2.

Atualização do Zabbix server, client e MySQl concluída.

Atualizando o Zabbix Web

Agora é preciso atualizar a aplicação web para que seja possível vizualizar os eventos via browser.
Ajuste o arquivo php.ini.

# vi /etc/php5/apache2/php.ini

Conteúdo:

post_max_size = 16M
max_input_time = 300

Primeiro , remova o backup antigo e faça um novo.

# cd /var/www
# rm -rf zabbix-old
# cp -r zabbix zabbix-old

Agora copie os novos arquivos.

# cp -r /usr/src/zabbix-1.8.2/zabbix-1.8.2/frontends/php/ /var/www/zabbix
# cp -r zabbix-old/conf/zabbix.conf.php zabbix/conf
# chown -R www-data:zabbix /var/www/zabbix

Upgrade concluído com sucesso.

Agradecimentos

Ao @victorhugopa pela correção da senha "zabbix" na tela de login da aplicação.
Aos amigos colaboradores do Data Center onde trabalho pelos testes , não só neste, mas em todos os manuais que escrevo.