Pular para o conteúdo principal

Instalando o Zabbix 2.2 no CentOS 6 via repositório EPEL


Esta dica é para quem precisa instalar um servidor de Zabbix em um ambiente pequeno até médio/pequeno porte de forma rápida, prática e melhor gerenciável (em termo de S.O.).

Para ter ideia do que é uma pequena, media e grande instalação, existe uma tabela na documentação do zabbix para dar noção da configuração do hardware necessário para o servidor. Não é específica para saber até que ponto usar a instalação através dos fontes ou dos pacotes pré-compilados (repositórios), mas é só pra ter uma ideia, até porque depende da quantidade de itens, tempo e tipo da checagem.
A máquina que utilizei para fazer os testes para este texto é virtual, com a instalação mínima do CentOS 6.5, i686, com firewall e selinux desabilitados. A alocação de espaço nas partições depende de quanto você tem disponível, do que será e como será monitorado. Recomendo instalar o CentOS 6 x86_64, separar o ‘/var’ e utilizar LVM. Para maiores informações releiam o que está no link acima.
Escolhi o repositório EPEL devido algumas empresas que usam CentOS o adotarem, ser bastante confiável.

ADICIONANDO REPOSITÓRIO EPEL

Para adicionar o EPEL em sistemas x86_64:
Em i686:
Em seguida rode o ‘yum repolist’ e confira se o repositório foi instalado e configurado com sucesso. Depois atualize o sistema.
# yum repolist epel
# yum updade

INSTALAÇÃO DE PACOTES

Essa instalação leva em consideração suporte a banco de dados MySQL, SSH, monitoração WEB, Jabber e SNMP. Mão na massa.
Pacotes necessários:
# yum install zabbix22 zabbix22-web-mysql.noarch zabbix22-web.noarch zabbix22-server-mysql zabbix22-server.noarch zabbix22-dbfiles-mysql.noarch zabbix22-agent mysql mysql-server mysql-devel php-ZendFramework2.noarch php-php-gettext.noarch libssh2 libssh2-devel libcurl libcurl-devel iksemel iksemel-devel iksemel-utils net-snmp net-snmp-utils net-snmp-devel
Após isso, o usuário zabbix será criado, assim como alguns diretórios que usaremos mais pra frente, vale a pena dar uma olhada no tem neles (referente ao zabbix, no caso do ‘/etc’, hehe):
/etc
/etc/zabbix/
/usr/share/zabbix/
/usr/share/zabbix-mysql/
Se quiser, instale também alguns softwares que ajudam bastante na administração do servidor. Respectivamente um monitor de sistema, de rede e de banco.
# yum install htop nload mytop
CONFIGURANDO O SISTEMA
Depois de tudo instalado, vamos começar a configurar o sistema, começando pela inicialização automática dos daemons:
chkconfig –level 2345 zabbix-agent on
chkconfig –level 2345 zabbix-server on
chkconfig –level 2345 httpd on
chkconfig –level 2345 mysqld on
Permissões, nessa ordem, para não tirar as permissões de ‘/etc/zabbix/web’:
# chown -R zabbix.zabbix /etc/zabbix*
# chown -R apache.apache /etc/zabbix/web
# chmod a+s /usr/sbin/fping
Se ainda não fez, edite seu ‘/etc/hosts’:
# echo “<ip_servidor> <nome_servidor>” >> /etc/hosts
Se você também usou a instalação mínima do CentOS, é de suma importância configurar o serviço NTP. Se já tem instalado cheque as configurações. Para instalar o NTP, rode o comando:
# yum install ntp
Se o servidor tiver acesso a internet não precisa editar o arquivo de configuração, caso ele não tenha acesso, edite o arquivo ‘/etc/ntp.conf’ comentando todas as linhas:
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
E adicione o servidor de hora da sua rede local:
server <servidor_ntp_local> iburst
Agora configura o daemon para iniciar automaticamente com o sistema e inicie o serviço ‘ntpd’. Em alguns segundos ele estará sincronizado, mas se quiser uma atualização imediata use o comando ‘ntpdate’.
# chkconfig –level 2345 ntpd on
# service ntpd restart
# ntpdate

CONFIGURANDO O MYSQL

Inicie o serviço e altere a senha de root. Onde tem , obviamente deverá ser trocado pela senha:
# service mysqld start
# mysqladmin -u root password ‘<password>’
Em seguida, na primeira linha criaremos a base de dados ‘zabbix’ e setaremos o charset utf8, na segunda linha daremos permissão total ao usuário zabbix na base ‘zabbix’ que acabamos de criar, setando uma senha de acesso.
# mysql -u root -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘<password>’;
mysql> exit
Agora preparamos o banco para ser utilizado pelo Zabbix:
# mysql -u root -p zabbix < /usr/share/zabbix-mysql/schema.sql
# mysql -u root -p zabbix < /usr/share/zabbix-mysql/images.sql
# mysql -u root -p zabbix < /usr/share/zabbix-mysql/data.sql

CONFIGURANDO O ZABBIX

Em seus arquivos de configuração não há muito o que fazer, levando em conta a instalação básica. Edite o arquivo ‘/etc/zabbix_server.conf’ ajustando o parâmetro:
DBPassword=<password_zabbix_mysql>
Não precisa o ‘/etc/zabbix_agentd.conf’.

CONFIGURANDO O APACHE

Basicamente, para você não ter problema ou não se assustar ao reiniciar o httpd (:p), edite o aquivo ‘/etc/httpd/conf/httpd.conf’:
ServerName <nome_servidor>:80
DocumentRoot “/var/www/html/zabbix”
A segunda linha fará com que o frontend do Zabbix seja exibido somente ao colocar o nome do servidor no navegador.

CONFIGURANDO O FRONTEND

Nesta etapa, alinharemos o frontend para que possamos acessar aquela bela interface web do nosso querido Zabbix :)
# mkdir /var/www/html/zabbix
# cp -av /usr/share/zabbix/* /var/www/html/zabbix/
# chown -R apache.apache /var/www/html/zabbix
# chmod 764 /var/www/html/zabbix
Depois edite o arquivo ‘/etc/php.ini’, ajustando os seguintes parâmetros:
max_execution_time 300
memory_limit 128M
post_max_size 16M
upload_max_filesize 2M
max_input_time 300
date.timezone America/Recife
Agora (re)inicie os serviços:
# service zabbix-server restart
# service zabbix-agentd restart
# service mysqld restart
# service httpd restart
Em um micro qualquer, abra o navegador e acesse o Zabbix server. No primeiro acesso será necessários mais algumas configurações. Na página inicial, clique em Next:
Estando tudo OK (se você seguiu à risca deverá estar) clique em Next:
Em ‘Configure DB connection’, coloque o usuário ‘zabbix’ e a senha escolhida ao configurar o banco, em seguida clique em ‘Test Connection’, fechando a conexão clique em Next:
Conforme na imagem coloque o nome do seu servidor e clique em Next:
Nessa tela, uma visão geral do que foi feito:
Aqui é mostrado que um arquivo de configuração foi criado, clique em Finish:

CONCLUSÃO e REFERÊNCIA

Em relação à instalação do Zabbix pelos fontes, a opção pelos pacotes pré-compilados é bem mais simples e facilita futuras atualizações. Como dito no início, é claro que para um ambiente complexo e que você realmente precise aproveitar seu hardware da melhor forma, é mais vantajoso compilando os fontes.
Usei como referência a documentação do Zabbix que é muito rica, na minha opinião.
Dúvidas, críticas e sugestões é só comentar :)

Comentários

Postagens mais visitadas deste blog

Tutorial: Consultas LDAP no Active Directory

Hoje será mostrado como fazer Consultas Salvas (Saved queries) e alguns exemplos: 1. No Active Directory Users and Computers, click com o botão direito no item Saved Queries e selecione New e depois Query. 2. Digite o nome para a Query, por exemplo: “Usuários Ativos” e coloque uma descrição e depois clic em Define Query. 3. Na drop-down box Find selecione Custom Search e então click em Advanced tab. 4. Digite uma das Queries e execute. Consultas de Usuarios Usuarios sem grupo (apenas domain users): (&(objectCategory=user)(objectClass=user)(!memberOf=*)) Usuarios sem e-mail (objectcategory=person)(!mail=*) Usuarios com e-mail (objectcategory=person)(mail=*) Usuarios que nunca fizeram logon no dominio (&(&(objectCategory=person)(objectClass=user))(|(lastLogon=0)(!(lastLogon=*)))) Usuários Criados depois de 09/10/2011 (objectCategory=user)(whenCreated>=20111009000000.0Z) Obs: troque o data por uma data da sua necessidade Usuários que precisam mudar a sen...

Usando o CIFS para mapear diretórios Windows no Linux

Usando o CIFS para mapear diretórios Windows no Linux Se você utiliza o samba e está tendo problemas com mapeamentos, não possui Samba no seu servidor Linux ou precisa acessar de forma rápida um diretório Windows pelo Linux, passe a usar o CIFS. Com ele, caso o servidor mapeado sofra um shutdown (Linux mapeando Windows), automaticamente ao se re-estabelecer a conexão com o Servidor, o mapeamento sobe. Neste post estarei tratando a situação onde temos um servidor Linux e desejamos através dele efetuar leituras ou gravações em diretórios no Windows. No Windows Estou adotando como exemplo o servidor com IP 192.168.0.1, dominio TESTE, usuário Administrador e senha 123!456. O objetivo é mapear o diretório D:\Teste no Linux. Então, pelo windows, compartilhe este diretório. No Linux# cd /mnt # mkdir teste # mount –t cifs //192.168.0.1/teste /mnt/teste –o user=Administrador,password=’123!456’,domain=TESTE Pronto!!! Agora você pode compartilhar seus arquivos entre o...

Erro MYSQL Cloud (Google, AWS, Digital Ocean) - Resolvido

Atualmente executando um servidor nginx com o wordpress, recebo um erro no banco de dados após alguns minutos de execução. Ao executar o comando para verificar os logs: # tail -f /var/log/mysqld.log a saída do comando é : 2019-09-12 19:11:24 25864 [Note] Plugin 'FEDERATED' is disabled. 2019-09-12 19:11:24 25864 [Note] InnoDB: Using atomics to ref count buffer pool pages 2019-09-12 19:11:24 25864 [Note] InnoDB: The InnoDB memory heap is disabled 2019-09-12 19:11:24 25864 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2019-09-12 19:11:24 25864 [Note] InnoDB: Memory barrier is not used 2019-09-12 19:11:24 25864 [Note] InnoDB: Compressed tables use zlib 1.2.11 2019-09-12 19:11:24 25864 [Note] InnoDB: Using Linux native AIO 2019-09-12 19:11:24 25864 [Note] InnoDB: Using CPU crc32 instructions 2019-09-12 19:11:24 25864 [Note] InnoDB: Initializing buffer pool, size = 128.0M InnoDB: mmap(137363456 bytes) failed; errno 12 2019-09-12 19:11:2...