====== Instalação Distribuída ======
+-------------+ +-------------+ +-------------+
| DB Server | | ZBServer | | ZBWeb |
|172.16.200.50| |172.16.200.60| |172.16.200.70|
+-------------+ +-------------+ +-------------+
↑ ↑ ↑ ↑ ↑ ↑
| | | | | |
| +------------------+ +-------------------+ |
+-----------------------------------------------+
===== Preparando o DB Server =====
Instalação PostgreSQL:[[installcentos|Instalação no CentOS]]
# vim /var/lib/pgsql/data/pg_hba.conf
[...]
# Zabbix
host zabbix zabbix 172.16.200.0/24 md5
[...]
postgres=# CREATE DATABASE zabbix;
CREATE DATABASE
postgres=# CREATE ROLE zabbix LOGIN;
CREATE ROLE
postgres=# \password zabbix
Digite nova senha:
Digite-a novamente:
postgres=# \q
Testando a conexão
# systemctl restart postgresql.service
# psql -U zabbix zabbix
Senha para usuário zabbix:
psql (9.2.10)
Digite "help" para ajuda.
zabbix=> \q
===== Zabbix Server =====
Adicionando o repositório Epel
# yum install epel-release
Instação do pacotes
# yum install zabbix22-server-pgsql zabbix22-server zabbix22 zabbix22-dbfiles-pgsql zabbix22-agent
Configuração do firewallD
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="172.16.200.0/24" port port="10051" protocol="tcp" accept' --permanent accept' --permanent
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="172.16.200.0/24" port port="10051" protocol="udp" accept' --permanent
success
# firewall-cmd --reload
success
Configuração da comunicação com o DataBase
# vim /etc/zabbix_server.conf
[...]
DBHost=pgsql.rascunhos.wiki.br
[...]
DBName=zabbix
[...]
DBUser=zabbix
[...]
DBPassword=senha
[...]
#DBSocket=/var/lib/mysql/mysql.sock # Comenta
[...]
DBPort=5432
[...]
Importando os bancos modelo
# cd /usr/share/zabbix-postgresql/
# scp data.sql images.sql schema.sql pgsql.rascunhos.wiki.br:/tmp
The authenticity of host 'pgsql.rascunhos.wiki.br (172.16.200.50)' can't be established.
ECDSA key fingerprint is d8:d7:78:aa:ab:3f:83:22:9c:a0:e4:8f:e5:59:f4:f3.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'pgsql.rascunhos.wiki.br,172.16.200.50' (ECDSA) to the list of known hosts.
root@pgsql.rascunhos.wiki.br's password:
data.sql 100% 853KB 852.8KB/s 00:01
images.sql 100% 1933KB 1.9MB/s 00:00
schema.sql 100% 101KB 100.5KB/s 00:00
Agora vamos passar para o DataBase Server
# cd /tmp/
# cat schema.sql | psql -U zabbix zabbix
Senha para usuário zabbix:
# cat images.sql | psql -U zabbix zabbix
Senha para usuário zabbix:
# cat data.sql | psql -U zabbix zabbix
Senha para usuário zabbix:
Voltando ao Zabbix server vamos checar a importação e já testando a conexão remota com o usuário zabbix
# psql -h pgsql.rascunhos.wiki.br -U zabbix zabbix
Senha para usuário zabbix:
psql (9.2.10)
Digite "help" para ajuda.
zabbix=> \dt
Lista de relações
Esquema | Nome | Tipo | Dono
---------+-----------------------+--------+--------
public | acknowledges | tabela | zabbix
public | actions | tabela | zabbix
public | alerts | tabela | zabbix
public | application_template | tabela | zabbix
public | applications | tabela | zabbix
public | auditlog | tabela | zabbix
public | auditlog_details | tabela | zabbix
public | autoreg_host | tabela | zabbix
public | conditions | tabela | zabbix
public | config | tabela | zabbix
public | dbversion | tabela | zabbix
public | dchecks | tabela | zabbix
public | dhosts | tabela | zabbix
public | drules | tabela | zabbix
public | dservices | tabela | zabbix
public | escalations | tabela | zabbix
public | events | tabela | zabbix
public | expressions | tabela | zabbix
public | functions | tabela | zabbix
public | globalmacro | tabela | zabbix
public | globalvars | tabela | zabbix
public | graph_discovery | tabela | zabbix
public | graph_theme | tabela | zabbix
public | graphs | tabela | zabbix
public | graphs_items | tabela | zabbix
public | group_discovery | tabela | zabbix
public | group_prototype | tabela | zabbix
public | groups | tabela | zabbix
public | history | tabela | zabbix
public | history_log | tabela | zabbix
public | history_str | tabela | zabbix
public | history_str_sync | tabela | zabbix
public | history_sync | tabela | zabbix
public | history_text | tabela | zabbix
public | history_uint | tabela | zabbix
public | history_uint_sync | tabela | zabbix
public | host_discovery | tabela | zabbix
public | host_inventory | tabela | zabbix
public | hostmacro | tabela | zabbix
public | hosts | tabela | zabbix
public | hosts_groups | tabela | zabbix
public | hosts_templates | tabela | zabbix
public | housekeeper | tabela | zabbix
public | httpstep | tabela | zabbix
public | httpstepitem | tabela | zabbix
public | httptest | tabela | zabbix
public | httptestitem | tabela | zabbix
public | icon_map | tabela | zabbix
public | icon_mapping | tabela | zabbix
public | ids | tabela | zabbix
public | images | tabela | zabbix
public | interface | tabela | zabbix
public | interface_discovery | tabela | zabbix
public | item_discovery | tabela | zabbix
public | items | tabela | zabbix
public | items_applications | tabela | zabbix
public | maintenances | tabela | zabbix
public | maintenances_groups | tabela | zabbix
public | maintenances_hosts | tabela | zabbix
public | maintenances_windows | tabela | zabbix
public | mappings | tabela | zabbix
public | media | tabela | zabbix
public | media_type | tabela | zabbix
public | node_cksum | tabela | zabbix
public | nodes | tabela | zabbix
public | opcommand | tabela | zabbix
public | opcommand_grp | tabela | zabbix
public | opcommand_hst | tabela | zabbix
public | opconditions | tabela | zabbix
public | operations | tabela | zabbix
public | opgroup | tabela | zabbix
public | opmessage | tabela | zabbix
public | opmessage_grp | tabela | zabbix
public | opmessage_usr | tabela | zabbix
public | optemplate | tabela | zabbix
public | profiles | tabela | zabbix
public | proxy_autoreg_host | tabela | zabbix
public | proxy_dhistory | tabela | zabbix
public | proxy_history | tabela | zabbix
public | regexps | tabela | zabbix
public | rights | tabela | zabbix
public | screens | tabela | zabbix
public | screens_items | tabela | zabbix
public | scripts | tabela | zabbix
public | service_alarms | tabela | zabbix
public | services | tabela | zabbix
public | services_links | tabela | zabbix
public | services_times | tabela | zabbix
public | sessions | tabela | zabbix
public | slides | tabela | zabbix
public | slideshows | tabela | zabbix
public | sysmap_element_url | tabela | zabbix
public | sysmap_url | tabela | zabbix
public | sysmaps | tabela | zabbix
public | sysmaps_elements | tabela | zabbix
public | sysmaps_link_triggers | tabela | zabbix
public | sysmaps_links | tabela | zabbix
public | timeperiods | tabela | zabbix
public | trends | tabela | zabbix
public | trends_uint | tabela | zabbix
public | trigger_depends | tabela | zabbix
public | trigger_discovery | tabela | zabbix
public | triggers | tabela | zabbix
public | user_history | tabela | zabbix
public | users | tabela | zabbix
public | users_groups | tabela | zabbix
public | usrgrp | tabela | zabbix
public | valuemaps | tabela | zabbix
(108 registros)
zabbix=> \q
Iniciando e habilitando o Zabbix Server e agent
# systemctl list-unit-files --type service | grep zabbix
zabbix-agent.service disabled
zabbix-server-pgsql.service disabled
zabbix-server.service disabled
# systemctl start zabbix-server-pgsql.service
# systemctl start zabbix-agent.service
# systemctl enable zabbix-server-pgsql.service
ln -s '/usr/lib/systemd/system/zabbix-server-pgsql.service' '/etc/systemd/system/multi-user.target.wants/zabbix-server-pgsql.service'
# systemctl enable zabbix-agent.service
ln -s '/usr/lib/systemd/system/zabbix-agent.service' '/etc/systemd/system/multi-user.target.wants/zabbix-agent.service'
Checando os serviços
# systemctl status zabbix-server-pgsql.service
zabbix-server-pgsql.service - Zabbix Server with PostgreSQL DB
Loaded: loaded (/usr/lib/systemd/system/zabbix-server-pgsql.service; enabled)
Active: active (running) since Ter 2015-04-28 12:56:45 BRT; 4min 29s ago
Main PID: 2784 (zabbix_server)
CGroup: /system.slice/zabbix-server-pgsql.service
├─2784 /usr/sbin/zabbix_server
├─2785 /usr/sbin/zabbix_server: configuration syncer [synced configuration in 0.009214 sec, idle 60 sec]
├─2786 /usr/sbin/zabbix_server: db watchdog [synced alerts config in 0.007735 sec, idle 60 sec]
├─2787 /usr/sbin/zabbix_server: poller #1 [got 0 values in 0.000001 sec, idle 5 sec]
├─2788 /usr/sbin/zabbix_server: poller #2 [got 0 values in 0.000003 sec, idle 5 sec]
├─2789 /usr/sbin/zabbix_server: poller #3 [got 0 values in 0.000002 sec, idle 5 sec]
├─2790 /usr/sbin/zabbix_server: poller #4 [got 0 values in 0.000001 sec, idle 5 sec]
├─2791 /usr/sbin/zabbix_server: poller #5 [got 0 values in 0.000003 sec, idle 5 sec]
├─2792 /usr/sbin/zabbix_server: unreachable poller #1 [got 0 values in 0.000001 sec, idle 5 sec]
├─2793 /usr/sbin/zabbix_server: trapper #1 [processed data in 0.000000 sec, waiting for connection]
├─2794 /usr/sbin/zabbix_server: trapper #2 [processed data in 0.000000 sec, waiting for connection]
├─2795 /usr/sbin/zabbix_server: trapper #3 [processed data in 0.000000 sec, waiting for connection]
├─2796 /usr/sbin/zabbix_server: trapper #4 [processed data in 0.000000 sec, waiting for connection]
├─2797 /usr/sbin/zabbix_server: trapper #5 [processed data in 0.002727 sec, waiting for connection]
├─2798 /usr/sbin/zabbix_server: icmp pinger #1 [got 0 values in 0.000005 sec, idle 5 sec]
├─2799 /usr/sbin/zabbix_server: alerter [sent alerts: 0 success, 0 fail in 0.000796 sec, idle 30 sec]
├─2800 /usr/sbin/zabbix_server: housekeeper [deleted 0 hist/trends, 0 items, 0 events, 0 sessions, 0 alarms, 0 audit items in 0.044173 sec, idle 1 hour(s)...
├─2801 /usr/sbin/zabbix_server: timer #1 [processed 0 triggers, 0 events in 0.000009 sec, 0 maintenances in 0.001806 sec, idle 30 sec]
├─2802 /usr/sbin/zabbix_server: http poller #1 [got 0 values in 0.000910 sec, idle 5 sec]
├─2803 /usr/sbin/zabbix_server: discoverer #1 [processed 0 rules in 0.000768 sec, idle 60 sec]
├─2804 /usr/sbin/zabbix_server: history syncer #1 [synced 0 items in 0.000000 sec, idle 5 sec]
├─2805 /usr/sbin/zabbix_server: history syncer #2 [synced 0 items in 0.000000 sec, idle 5 sec]
├─2806 /usr/sbin/zabbix_server: history syncer #3 [synced 0 items in 0.000001 sec, idle 5 sec]
├─2807 /usr/sbin/zabbix_server: history syncer #4 [synced 0 items in 0.000001 sec, idle 5 sec]
├─2808 /usr/sbin/zabbix_server: escalator [processed 0 escalations in 0.000804 sec, idle 3 sec]
├─2809 /usr/sbin/zabbix_server: proxy poller #1 [exchanged data with 0 proxies in 0.000002 sec, idle 5 sec]
└─2810 /usr/sbin/zabbix_server: self-monitoring [processed data in 0.000004 sec, idle 1 sec]
Abr 28 12:56:44 zabbixserver.rascunhos.wiki.br systemd[1]: Starting Zabbix Server with PostgreSQL DB...
Abr 28 12:56:45 zabbixserver.rascunhos.wiki.br systemd[1]: PID file /run/zabbixsrv/zabbix_server.pid not readable (yet?) after start.
Abr 28 12:56:45 zabbixserver.rascunhos.wiki.br systemd[1]: Started Zabbix Server with PostgreSQL DB.
# systemctl status zabbix-agent.service
zabbix-agent.service - Zabbix Monitor Agent
Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; enabled)
Active: active (running) since Ter 2015-04-28 12:58:41 BRT; 3min 8s ago
Main PID: 2832 (zabbix_agentd)
CGroup: /system.slice/zabbix-agent.service
├─2832 /usr/sbin/zabbix_agentd
├─2833 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
├─2834 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
├─2835 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
├─2836 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
└─2837 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
Abr 28 12:58:41 zabbixserver.rascunhos.wiki.br systemd[1]: Starting Zabbix Monitor Agent...
Abr 28 12:58:41 zabbixserver.rascunhos.wiki.br systemd[1]: PID file /run/zabbix/zabbix_agentd.pid not readable (yet?) after start.
Abr 28 12:58:41 zabbixserver.rascunhos.wiki.br systemd[1]: Started Zabbix Monitor Agent.
===== Zabbix Web =====
# yum install zabbix22-web-pgsql zabbix22-web zabbix22-agent
Configurando o FirewallD
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="172.16.200.0/24" service name="http"
accept' --permanent
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="172.16.200.0/24" port port="10050" protocol="tcp" accept' --permanent
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="172.16.200.0/24" port port="10050" protocol="udp" accept' --permanent
# firewall-cmd --reload
success
Configurando os parâmetros do PHP
# vim /etc/php.ini
[...]
post_max_size = 16M
[...]
max_execution_time = 300
[...]
max_input_time = 300
[...]
date.timezone = America/Belem
[...]
Configurando o VirtualHost
# cat /etc/httpd/conf.d/zabbix.conf
#
# Zabbix monitoring system php web frontend
#
NameVirtualHost *:80
ServerAdmin gean@rascunhos.wiki.br
ServerName zabbixweb.rascunhos.wiki.br
ServerAlias www.zabbixweb.rascunhos.wiki.br
DocumentRoot "/usr/share/zabbix"
ServerPath /
Alias /zabbix /usr/share/zabbix
Options FollowSymLinks
AllowOverride None
# Apache 2.4
Require all granted
# Apache 2.2
Order allow,deny
Allow from all
# Apache 2.4
Require all denied
# Apache 2.2
Order deny,allow
Deny from all
# Apache 2.4
Require all denied
Order deny,allow
Deny from all
ErrorLog logs/zabbixweb_error.log
CustomLog logs/zabbixweb_access.log combined
Iniciando e habilitando o apache
# systemctl start httpd.service
# systemctl enable httpd.service
ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'
Configurando o SELinux da conexão com o banco do apache
# getsebool httpd_can_network_connect_db
httpd_can_network_connect_db --> off
# setsebool -P httpd_can_network_connect_db 1
# getsebool httpd_can_network_connect_db
httpd_can_network_connect_db --> on
Agora vamos terminar a configuração no browser
firefox: http://zabbixweb.rascunhos.wiki.br
{{:zabbix01.png|}}
Clique em Next >>
{{:zabbix02.png|}}
Novamente clique em Next >>
{{:zabbix03.png|}}
Nesta tela será configurado a conexão com o DataBase, coloque os dados e faça um teste de conexão clicando em Test connection.
Se tiver sucesso podemos continuar clicando em Next >>
{{:zabbix04.png|}}
Aqui configuramos a conexão com o ZabbixServer.
Preencha os campos com as imformações do ZabbixServer e clique em next >>
{{:zabbix05.png|}}
Aqui é mostrado um sumário da instalação.
Clique em Next >>
{{:zabbix06.png|}}
Fim da instalação.
Agora podemos acessar o sistema com o usário: Admin ("A" Maiúsculo) e senha: zabbix