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