ZABBIX Proxy com MySQL

Instalação e configuração do ZABBIX Proxy com MySQL.

[ Hits: 13.405 ]

Por: Alex Silva em 21/01/2015


Instalação e configuração do zabbix_proxy 2.4.1



Atualizar o S.O.:

# yum update

Instalar o nano e wget:

# yum install wget nano

Baixar e instalar o fping:

# wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/tarent_admins/CentOS_CentOS-6/x86_64/fping-3.5-161.1.x86_64.rpm
# rpm -ivh fping-3.5-161.1.x86_64.rpm

Dependências necessárias

Instalar os pacotes necessários:

# yum install mysql-libs.$(arch) mysql-devel mysql-server libcurl net-snmp net-snmp-utils net-snmp-libs net-snmp-devel libssh2-devel.$(arch) libssh2.$(arch) OpenIPMI-devel.$(arch) OpenIPMI.$(arch) OpenIPMI-libs.$(arch) OpenIPMI-perl.$(arch) OpenIPMI-python.$(arch) compat-openldap.$(arch) openldap.$(arch) openldap-devel.$(arch) gcc curl curl-devel libxml2.x86_64 libxml2-devel.x86_64 java-1.7.0-openjdk

Instalar a database em modo secure e iniciar o serviço do MySQL:

# mysql_install_db
# mysql_secure_installation
# service mysqld start

Configurar a senha de acesso ao MySQL e testar o acesso:

# mysqladmin -u root password '1234'
# mysql -uroot -p
# quit

Ajuste o desempenho do MySQL:

# nano /etc/my.conf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld]
back_log = 75
skip-innodb
max_connections = 2000
key_buffer = 384M
myisam_sort_buffer_size = 64M
join_buffer_size = 1M
read_buffer_size = 1M
sort_buffer_size = 2M
table_cache = 1800
thread_cache_size = 384
wait_timeout = 7200
connect_timeout = 60
tmp_table_size = 64M
max_heap_table_size = 64M
max_allowed_packet = 64M
max_connect_errors = 1000
read_rnd_buffer_size = 524288
bulk_insert_buffer_size = 8M
query_cache_limit = 4M
query_cache_size =128M
query_cache_type = 1
query_prealloc_size = 65536
query_alloc_block_size = 131072

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
bind address = 127.0.0.1
nice = -5
open_files_limit = 8192

[mysqldump]
quick
max_allowed_packet = 16M

[myisamchk]
key_buffer = 64M
sort_buffer = 64M
read_buffer = 16M
write_buffer = 16M

# Split Tables

innodb_file_per_table = 1
key_buffer_size = 32M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M

Criar o usuário "zabbix" para a aplicação:

# adduser zabbix -s /bin/false

Criar o diretório "zabbix" em /usr/src/ para baixar o pacotes, descompactar e acessar:

# mkdir /usr/src/zabbix
# cd /usr/src/zabbix
# wget http://ufpr.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.1/zabbix-2.4.1.tar.gz
# tar -xzvf zabbix-2.4.1.tar.gz
# cd zabbix-2.4.1

Criar a database para o Zabbix e configurar permissão de acesso:

# mysql -uroot -p

mysql> create database zabbix character set UTF8 ;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '1234' ;
mysql> flush privileges ;
mysql> quit;

Acesse os ".sql" do pacote para importar as estruturas para a base de dados:

# cd zabbix-2.4.1/database/mysql/
# mysql -u zabbix -p zabbix < schema.sql

Após a estruturação do banco de dados do Zabbix, iniciar a compilação:

# cd /usr/src/zabbix/zabbix-2.4.1
# ./configure --enable-proxy --enable-agent --with-mysql --with-net-snmp --with-libcurl
# make install

Certifique-se que as portas de escuta do agent e server foram configurados automaticamente em /etc/services. Caso não, configure manualmente:

# nano /etc/services

zabbix-agent 10050/tcp #Zabbix Agent
zabbix-agent 10050/udp #Zabbix Agent
zabbix-proxy 10051/tcp #Zabbix Server
zabbix-proxy 10051/udp #Zabbix Server
zabbix-proxy 10052/tcp #Zabbix Proxy
zabbix-proxy 10052/udp #Zabbix Proxy

Crie a pasta para para armazenar os logs da ferramenta e ajuste o dono da pasta:

# mkdir /var/log/zabbix
# chown -R zabbix:zabbix /var/log/zabbix

Configure ou valide os "*.confs" do Zabbix no caminho abaixo:

# nano /usr/local/etc/zabbix_agentd.conf

PidFile=/var/log/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=20
DebugLevel=3
EnableRemoteCommands=1
LogRemoteCommands=1
Server=
ListenPort=10050
StartAgents=15
Hostname=localhost
RefreshActiveChecks=120
BufferSend=10
BufferSize=200
MaxLinesPerSecond=200
Timeout=15

# nano /usr/etc/zabbix_proxy.conf

ProxyMode=0
Server=IP do zabbix server (master)
ServerPort=10051
Hostname=Nome do proxy cadastrado no zabbix server (master), tem que ser o mesmo nome
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=100
DebugLevel=3
PidFile=/var/log/zabbix/zabbix_proxy.pid
DBName=zabbix
DBUser=zabbix
DBPort=3306
DBPassword=1234
DBHost=localhost
DBSocket=/var/lib/mysql/mysql.sock
ProxyLocalBuffer=1
ProxyOfflineBuffer=1
HeartbeatFrequency=60
ConfigFrequency=60
DataSenderFrequency=60
StartPollers=65
StartPollersUnreachable=15
StartPingers=60
StartDiscoverers=35
StartHTTPPollers=5
HousekeepingFrequency=1
CacheSize=20M
StartDBSyncers=8
HistoryCacheSize=20M
HistoryTextCacheSize=32M
Timeout=15
UnreachablePeriod=45
UnavailableDelay=60
UnreachableDelay=15
FpingLocation=/usr/sbin/fping
LogSlowQueries=2
StartIPMIPollers=0
StartJavaPollers=0
StartVMwareCollectors=0
VMwareFrequency=60
StartSNMPTrapper=0

Copie os daemons do Zabbix e ajuste as permissões para execução:

# cp /usr/src/zabbix//zabbix-2.4.1/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
# cp /usr/src/zabbix//zabbix-2.4.1/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_proxy

Alterar o nome do daemon de "zabbix_server" para "zabbix_proxy":

# nano /etc/init.d/zabbix_proxy #localizar e alterar
# chmod +x /etc/init.d/zabbix_*

Dar as permissões para a execução do fping pelo usuário "zabbix":

# chown root:zabbix /usr/sbin/fping*
# chmod 4710 /usr/sbin/fping*
# chmod ug+s /usr/sbin/fping

Inicie os daemons do Zabbix:

# /etc/init.d/zabbix_proxy start
# /etc/init.d/zabbix_agentd start

Valide se os processo do Zabbix estão rodando:

# ps -eux | grep -i zabbix

Adicione o "zabbix_proxy" e "zabbix_agentd" para iniciar automaticamente:

# chkconfig --add zabbix_agentd
# chkconfig --add zabbix_proxy
# chkconfig --level 35 zabbix_agentd on
# chkconfig --level 35 zabbix_proxy on

Listando os serviços para inicialização automática:

# chkconfig --list | grep zabbix

Libere as portas 10050, 10051 10052 no IPtables, para que as comunicações tenham êxito:

# nano /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT

Obs.: linhas ACCEPT antes das REJECT.

Atualize as regras e faça o restore do IPtables e restart:

# iptables-restore /etc/sysconfig/iptables
# /etc/init.d/iptables restart

É necessário configurar o SELinux para o modo permissive:

# nano /etc/sysconfig/selinux

SELINUX=permissive

Reiniciar o servidor para perfeito funcionamento.

   

Páginas do artigo
   1. Instalação e configuração do zabbix_proxy 2.4.1
Outros artigos deste autor

Instalando o Zabbix no CentOS

Leitura recomendada

Configurando o Asterisk com autenticação LDAP

Compartilhando arquivos e bookmarks do Firefox entre Linux e Windows

Ubuntu 12.04 - Integração com Active Directory do Windows 2008

Fazendo o kernel 2.6 resolver o problema da montagem de discos USB

OpenVPN Matriz > Filial com PPTP

  
Comentários
[1] Comentário enviado por d1l50n em 21/01/2015 - 12:47h


Amigo. Creio que com sqlite3 fica bem mais rápido e vc utiliza bem menos memória.

[2] Comentário enviado por millinux em 21/01/2015 - 17:37h


Amigo
Tenho outro post da.mesma coisa com sqlife3

Um par quem quer mysql e ourtro sqlite3


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts