Versões utilizada: Debian 9.4(Stretch) + NGINX-1.10 + PHP-7.3 + Zabbix-3.4.10
Ambiente mínimo: Servidor Zabbix+FrontEdnd (4GB Memória + 10GB HD) e servidor DB separado
A página de documentação do zabbix lista os requisitos para funcionamento.
Ajustar o repositório debian para baixar o pacote snmp-mibs-downloader, pois depende do repositório on-free
# vi /etc/apt/sources.list
deb http://ftp.us.debian.org/debian/ buster main non-free
deb http://ftp.us.debian.org/debian/ buster-backports main
# apt update && apt install fping libaio1 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libcurl4 libdbd-mysql-perl libdbi-perl libgd3 libhtml-template-perl libiksemel3 libltdl7 liblua5.1-0 libvpx4 libonig4 libperl5.24 libodbc1 libopenipmi0 libqdbm14 libsensors5 libterm-readkey-perl libxpm4 ssl-cert ttf-dejavu-core libclone-perl libmldbm-perl libnet-daemon-perl libsql-statement-perl libgd-tools libipc-sharedcache-perl odbc-postgresql tdsodbc unixodbc-bin lm-sensors snmp snmpd libsnmp-base libsnmp30 snmp-mibs-downloader tinyca snmptrapd mysqltuner zabbix-agent zabbix-get zabbix-server-mysql
# apt-get install php7.3 php7.3-fpm php7.3-cgi php7.3-cli php7.3-common php7.3-gd php7.3-json php7.3-ldap php7.3-mysql php7.3-readline php-net-socket php-pear php-gettex
Baixar o pacote do Zabbix ajustando a URL com a versão a ser utilizada
# cd /opt
# wget http://repo.zabbix.com/zabbix/4.2/debian/pool/main/z/zabbix-release/zabbix-release_4.2-2%2Bbuster_all.deb
# dpkg -i zabbix-release_4.2-2+jessie_all.deb
# apt -f install
Ajustar variáveis do PHP
# vi /etc/php/7.3/fpm/php.ini
max_input_vars = 10000
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_execution_time = 300
max_input_time = 300
date.timezone = America/Sao_Paulo
always_populate_raw_post_data = -1
Criar o website de acesso ao zabbix em
# vi /etc/nginx/sites-available/zabbix.conf
server {
listen 80;
listen [::]:80;
charset utf-8;
access_log /var/log/nginx/zabbix.access.log;
error_log /var/log/nginx/zabbix.error.log;
root /usr/share/zabbix;
index index.php;
server_name zabbix.dominio.com.br;
#server_name <IP>;
location / {
index index.php;
error_page 403 404 502 503 504 /zabbix/index.php;
try_files $uri $uri/ =404;
}
location ~ \.php$ {
if (!-f $request_filename) { return 404; }
expires epoch;
include snippets/fastcgi-php.conf;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_param SERVER_NAME $host;
}
# location ~ \.(jpg|jpeg|gif|png|ico)$ {
# access_log off;
# }
location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {
access_log off;
log_not_found off;
expires 365d;
}
location ~ /\.ht {
deny all;
}
location ~ /\. {
access_log off;
log_not_found off;
deny all;
}
}
Criar o link simbólico para o nginx em sites-enable
# ln -s /etc/nginx/sites-available/zabbix.conf /etc/nginx/sites-enabled/zabbix.conf
Reiniciado o serviço nginx e php
# nginx -t <- Se OK reinicie os serviços
# systemctl restart php7.3-fpm.service
# systemctl restart nginx.service
Definir inicio automatico para o serviço Zabbix-Server
# systemctl enable zabbix-server.service
# systemctl enable zabbix-agent.service
# apt install zabbix-frontend-php
* (Opcional) A configuração abaixo server para database local, caso não use pule para Criando database e remova o serviço da inicialização com o comando.
# systemctl disable mariadb.service
# update-rc.d mysql remove
* Caso utilize o mesmo servidor para base de dados ajuste o arquivo de configuração conforme abaixo;
* Ajustar configuração do MySQL no arquivo /etc/mysql/my.cnf
MySQL
bind-address = 0.0.0.0
max-connections = 200 ou 400
MariaDB
[mysqld]
datadir=D:/MARIADB/data
port=3307
innodb_buffer_pool_size=49140M <- 70 a 80% da memória
innodb_file_per_table
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
[client]
port=3307
plugin-dir=C:/Program Files/MariaDB 10.3/lib/plugin
default-character-set=utf8mb4
[mysql]
default-character-set = utf8mb4
* UTF8MB4
* Iniciar o mysql
# systemctl start mysql.service
shell> mysql -uroot -p<password>
mysql> create database zabbix character set utf8mb4 collate utf8mb4_unicode_ci;
mysql> grant all privileges on zabbix.* to zabbix@'<IP_SERVER_ZABBIX>' identified by '<password>';
mysql> flush privileges;
mysql> quit;
# cd /usr/share/doc/zabbix-server-mysql
# zcat create.sql.gz | mysql -uroot -p zabbix
NOTA: Nunca utilize o simbolo '@' nas senhas, isso pode gerar problemas de conexão.
* Editar o arquivo de configuração /etc/zabbix/zabbix_server.conf e ajustar as entradas abaixo:
DBHost=<IP_SERVER_DB>
DBName=zabbix
DBUser=zabbix
DBPassword=<password>
StartPollers=40 <- unreachable poller process 75% busy - ajustar para adequar o aviso se necessário
StartPollersUnreachable=40 <- unreachable poller process 75% busy - ajustar para adequar o aviso se necessário
StartPingers=20 <- icmp pinger processes more than 75 busy - ajustar para adequar o aviso se necessário
StartDiscoverers=20 <- icmp pinger processes more than 75 busy - ajustar para adequar o aviso se necessário
TrendCacheSize=8M
ValueCacheSize=16M
Timeout=15
* Iniciar o serviço Zabbix
# systemctl start zabbix-server.service
* Criar entrada A no DNS apontando o nome zabbix para o IP do servidor
* Acesse a pagina do Zabbix para confiugrar o ambiente
http://zabbix.dominio.com.br
1
2
3
4
5
6
7
8
9
10
Nota: após a finalização da instalação via Web, é criado o arquivo de conexão em /etc/zabbix/web/zabbix.conf.php que contém as informações de acesso ao banco de dados.
* Criar grupo de monitoramento
* Clique em Administration/User groups/Create user group e ajuste conforme necessário
* Clique em Permissions e adicione quais recursos irão ser monitorados
* Por fim clique em Add.
* Cliquem Administration/Users/Create user e ajuste conforme necessário.
* Associe ao grupo criado anteriormente para receber as permissões necessárias.
* Em Users é possível ajustar a permissão de User Type. No frontend do Zabbix clique no usuário que deseja alterar a permissão, clique em Permissions e ajustes
* Para definir permissões de Super Admin altere o parâmetro User type para Zabbix Super Admin do usuário que deseja, desta maneira será definida a permissão total ao Zabbix.
* Acesse com o usuário Super Admin para realizer ajustes das permissões dos usuários que realizaram login no frontend do Zabbix.
* Removendo Autenticação LDAP e Recuperando Senha de Admin
– Conectar no MySQL:
mysql -u zabbix -p <password>
– Consultar como estavam suas listas de usuários e configuração do LDAP:
select name, alias, passwd from users;
– Remover a authenticação por LDAP:
update config set authentication_type=0;
– Reiniciar o password do usuário Admin: (Caso você não se lembre mais)
update zabbix.users set passwd=md5(‘password’) where alias=’Admin’;
- Link 1 /
* Com o comando abaixo e possivel verifica a conectividade do serviço Zabbix
# netstat -ntlp | grep zabbix
* Clique no ícone da ferramenta
para acessar as configurações.
* Para ajustar a conexão com a database e o frontend do Zabbix é necessario ajustar o arquivo de configuração zabbix.conf.php que esta no diretorio de arquivos WWW do Zabbix. Essa configuração é relizada quando o frontend não esta no mesmo servidor.
/usr/share/zabbix/conf/zabbix.conf.php
Ou
/var/www/html/zabbix/conf
* O processo de limpeza do servidor Zabbix é responsável por apagar dados antigos do banco de dados.
* Poderá ser ajustado no arquivo de configuração:
HousekeepingFrequency=0
* A execução manual da limpeza é feita utilizando o comando:
# zabbix_server -R housekeeper_execute
* Seguindo parte da documentação, no servidor Zabbix execute:
* Pare os serviços
# systemctl stop zabbix-server.service && systemctl stop zabbix-agent.service
* Realizar backup da database
Linux:
# mysqldump --opt -c -Q -x -h <HOST> -u <USER> -p<PASSWORD> zabbix | gzip > /home/backup/zabbix-<DATE>.gz
Windows:
"C:\Program Files\MariaDB 10.3\bin\mysqldump.exe" --user=root --password=<SENHA> --databases "zabbix" > D:\BACKUP_MYSQL\zabbix-<DATA>.sql
* Configurar o repositorio
# vi /etc/apt/sources.list.d/zabbix.list
deb https://repo.zabbix.com/zabbix/4.2/debian stretch main
deb-src https://repo.zabbix.com/zabbix/4.2/debian/ stretch main
* Atualizar
# apt update
# apt install apt-transport-https
# apt update && apt dist-upgrade
*** zabbix_server.conf (Y/I/N/O/D/Z) [default=N] ? <Press Enter>
*** zabbix.list (Y/I/N/O/D/Z) [default=N] ? <Press Enter>
*** zabbix_agentd.conf (Y/I/N/O/D/Z) [default=N] ? <Press Enter>
*** zabbix_java_gateway.conf (Y/I/N/O/D/Z) [default=N] ? <Press Enter>
* Reinicie os serviçosar o repositório
# systemctl restart php7.0-fpm
# systemctl start zabbix-agent.service && systemctl start zabbix-server.service
* Acompanhe o LOG
# tail -f /var/log/zabbix/zabbix_server.log
...
107396:20190315:093115.993 database upgrade fully completed
...
107396:20190315:093152.806 event name update completed
...
* Segue os passos para atualização de versão 3.2 para 3.4
* Pare o serviço
# /etc/init.d/zabbix-server stop
* Realizar backup da database
# mysqldump --opt -c -Q -x -h <HOST> -u <USER> -p<PASSWORD> zabbix | gzip > /home/backup/zabbix-<DATA>.gz
* Realizar backup dos arquivos de configuração
# mkdir /home/upgradezabbix
# mkdir /home/upgradezabbix/etc-zabbix
# cp -a /etc/zabbix/* /home/upgradezabbix/etc-zabbix/
# cp -a /etc/php5/fpm/php.ini /home/upgradezabbix/
* Baixar a versão a nova versão
# wget http://repo.zabbix.com/zabbix/3.2/debian/pool/main/z/zabbix-release/zabbix-release_3.2-1+jessie_all.deb
# wget http://repo.zabbix.com/zabbix/3.4/debian/pool/main/z/zabbix-release/zabbix-release_3.4-1+stretch_all.deb
* Realizar upgrade da instalação
# dpkg -i zabbix-release_3.2-1+jessie_all.deb
*** zabbix.list (Y/I/N/O/D/Z) [default=N] ? Y -> Definir Y para atualizar os arquivos conf de repositorio Zabbix
# apt-get update
# apt-get upgrade
*** zabbix.list (Y/I/N/O/D/Z) [default=N] ? N -> Definir N para atualizar os arquivos conf do Zabbix
# apt-get install -f
* Iniciar o serviço
# /etc/init.d/zabbix-server start
* Acompanhe no log a atualização da database
# tail -f /var/log/zabbix/zabbix_server.log
.........
29883:20161117:081929.773 Zabbix Server stopped. Zabbix 3.0.5 (revision 62889).
1574:20161117:090037.240 Starting Zabbix Server. Zabbix 3.2.1 (revision 62890).
1574:20161117:090037.241 ****** Enabled features ******
1574:20161117:090037.241 SNMP monitoring: YES
1574:20161117:090037.241 IPMI monitoring: YES
1574:20161117:090037.241 Web monitoring: YES
1574:20161117:090037.241 VMware monitoring: YES
1574:20161117:090037.241 SMTP authentication: YES
1574:20161117:090037.241 Jabber notifications: YES
1574:20161117:090037.241 Ez Texting notifications: YES
1574:20161117:090037.241 ODBC: YES
1574:20161117:090037.241 SSH2 support: YES
1574:20161117:090037.241 IPv6 support: YES
1574:20161117:090037.241 TLS support: YES
1574:20161117:090037.241 ******************************
1574:20161117:090037.241 using configuration file: /etc/zabbix/zabbix_server.conf
1574:20161117:090037.250 current database version (mandatory/optional): 03000000/03000000
1574:20161117:090037.250 required mandatory version: 03020000
1574:20161117:090037.250 starting automatic database upgrade
1574:20161117:090037.482 completed 1% of database upgrade
1574:20161117:090037.589 completed 2% of database upgrade
.........
1574:20161117:090056.770 completed 97% of database upgrade
1574:20161117:090057.002 completed 98% of database upgrade
1574:20161117:090057.003 completed 100% of database upgrade
1574:20161117:090057.004 database upgrade fully completed