Como monitorar o servidor usando o Zabbix?
"Não se pode medir o que não se pode melhorar". Você já leu ou ouviu essa frase em algum lugar? Vamos entendê-la na prática.
Suponha que você possui 60 sites em um servidor e um dia de madrugada você recebe uma ligação de vários clientes informando que os sites deles estão fora do ar. Quando você acessa o servidor, descobre que o servidor não possui mais memória e começa a se questionar:
- Como eu deixei chegar nesse ponto?
Bom, se você não media e monitorava a quantidade de memória usada, não tinha como você saber que isso estava acontecendo e é aí que mora o grande problema! Se você não mede, além de não conseguir melhorar, também não consegue previnir.
Buscando resolver esse tipo de problema, irei te ensinar a instalar o Zabbix, ele é uma ferramenta de monitoramento de servidores (redes, serviços, disponibilidade etc).
Como instalar o zabbix?
O primeiro passo é baixar o pacote no site oficial. Aqui irei instalar para o ubuntu 20.04, meu servidor web é o Nginx e uso o Mysql.
- Instalando o pacote
cd /usr/local/src/
wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.4-1+ubuntu20.04_all.deb
sudo dpkg -i zabbix-release_5.4-1+ubuntu20.04_all.deb
sudo apt update
- instale o zabbix
apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
- Crie uma base de dados (no meu caso vou usar o SQL direto). Acesse o mysql.
- Caso seu usuário root tenha senha, acrescente o -p no final do comando
mysql -u root
- Crie a base e o usuário
create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by 'SenhaQualquer+';
grant all privileges on zabbix.* to zabbix@localhost;
quit;
- Agora é hora de importar o esquema inicial da base de dados. O zabbix, por padrão salva o arquivo compactado (por isso usaremos "zcat") em: /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz
zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -p zabbix
Parte 2 – Servidor Web
Agora temos que configurar a parte do servidor web. Primeiro, crie uma entrada no DNS com o domínio que você queira usar depois disso siga os passos:
- Acesse as duas linhas comentadas no arquivo /etc/zabbix/nginx.conf acrescentando o domínio que será usado e a porta. No meu caso, as linhas ficaram assim:
- Copie o arquivo nginx.conf para dentro do diretório do nginx: /etc/nginx/sites-available
mv /etc/zabbix/nginx.conf /etc/nginx/sites-available/default
cp /etc/nginx/sites-available/www /etc/nginx/sites-enabled/default
- Altere as configurações do banco de dados no arquivo /etc/zabbix/zabbix_server.conf
- Altere o parâmetro "DBPassword="
nano /etc/zabbix/zabbix_server.conf
- Reinicie os serviços
- Antes de reiniciar dê o camando nginx -t no terminal e tenha certeza de que está tudo certo.
systemctl restart zabbix-server zabbix-agent nginx php7.4-fpm
systemctl enable zabbix-server zabbix-agent nginx php7.4-fpm
Parte 3 – Frontend
- Acesse o domínio que você configurou no "server_name" e siga o passo a passo. No meu caso foi \’fontes.aptans.com\’
- Acrescente a senha do banco (que foi definida no primeiro passo). No meu caso foi SenhaQualquer+
- Insira o IP do servidor
Pronto. Agora basta acessar!
- Username Padrão: Admin
- Senha Padrão: zabbix
Espero que tenham gostado e que seja útil!