====== 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