====== Monit - Monitoramento de Serviços ======
Monit é um serviço que faz monitoramento do sistema que pode ser visualizado via browser. É acessado via usuário e senha.
===== Instalação =====
Primeiramente devemos habilitar o repositório backports no debian 10
# printf '%s\n' "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.list
# apt update
# apt install monit
===== Configuração =====
Por padrão o monit não consegue executar com o certificado do site utilizando o certbot.
[[https://www.awsmonster.com/2019/04/cwp-how-to-add-lets-encrypt-ssl-to.html|Site de referencia para a configuração do certificado]]
# cp /etc/letsencrypt/live/server_fqdn/fullchain.pem /etc/ssl/certs/monit.pem
# cat /etc/letsencrypt/live/server_fqdn/privkey.pem >> /etc/ssl/certs/monit.pem
Gere os parâmetros Diffie-Hellman, levará tempo
# openssl dhparam -2 2048 >> /etc/ssl/certs/monit.pem
Definir proprietário e permissões nesse arquivo
# chmod 0600 /etc/ssl/certs/monit.pem
# chown root:root /etc/ssl/certs/monit.pem
Antes de iniciar o monit devemos configurar algumas coisas para deixar o mesmo mais seguro.
# nano /etc/monit/monitrc
set daemon 60 # check services at 2-minute intervals
check process apache with pidfile /run/apache2/apache2.pid
start program = "systemctl restart apache2" with timeout 60 seconds
stop program = "systemctl stop apache2"
set httpd port 2832 and
# use address localhost # only accept connection from localhost (drop if you use M/Monit)
allow 0.0.0.0/0.0.0.0 # allow localhost to connect to the server and
allow "usuario":"senha" # require user 'admin' with password 'monit'
ufw allow 2812
ufw reload
# cd /etc/monit/conf.d
==== MariDB ====
check process mysqld with pidfile /run/mysqld/mysqld.pid
start program = "systemctl start mariadb start"
stop program = "systemctl stop mariadb"
if failed unixsocket /var/run/mysqld/mysqld.sock then restart
==== Verificar / ====
check filesystem rootfs with path /
if space usage > 90% then alert
==== sshd ====
check process sshd with pidfile /run/sshd.pid
start program = "systemctl start sshd"
stop program = "systemctl stop sshd"
if failed port 2228 protocol ssh then restart