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.