Monitoramento do sistema com notificações por email

9

Atualmente tenho um servidor Ubuntu 16.04 LTS e quero receber notificações por email com informações sobre o uso de recursos em meu servidor. CPU, memória, swap, o nome dele.

Eu entendo que posso usar o Glances para monitoramento local, mas não ficarei no console olhando as informações o tempo todo. Só preciso de notificações por email que me informem sobre recursos que atingiram valores acima do normal / críticos e sejam notificados.

Alguém sabe de um método que me permite fazer isso?

    
por SergeantSerk 09.06.2016 / 10:32

7 respostas

10

Eu vou te dar uma pequena lista de ferramentas - enquanto eu pessoalmente recomendo Nagios simplesmente porque eu estou acostumado com isso. Ele vem com uma grande base de usuários, boa coleção de plug-ins etc. - mas também ouvi coisas boas sobre Icinga .

Esteja ciente de que a configuração de Nagios ou Icinga levará algum tempo até que você tenha uma configuração perfeitamente funcional que cubra / monitore todos os seus serviços existentes. Provavelmente, o início não é assim tão fácil, mas uma vez que você o tenha conseguido, é uma configuração adorável que notificará todos os seus serviços definidos se os estados forem alterados para algo que seja reportável / definido como crítico

Nomes de projetos & amp; links

Primeiro de tudo: uma visão geral rápida:

Cliente & amp; Configurações do servidor

Outro software interessante

Configurações de host único

Mais informações

Sobre o Nagios

Wikipedia escreve

  

Nagios / ˈnɑːɡiːoʊs /, agora conhecido como Nagios Core, é gratuito e aberto   aplicativo de software de computador de origem que monitora sistemas, redes   e infra-estrutura. Nagios oferece serviços de monitoramento e alerta para   servidores, switches, aplicativos e serviços. Ele alerta os usuários quando   as coisas dão errado e os alerta uma segunda vez quando o problema   foi resolvido.

Exemplo de imagem - mostrando 1 das várias visualizações que você tem:

Aqui está uma boa postagem do AskUbuntu sobre Como instalar o Nagios . O Nagios Exchange oferece uma enorme coleção de plugins, addons, documentação, extensões e muito mais.

Sobre Munin

Wikipedia escreve

  

Munin é um sistema de monitoramento de rede de computador livre e de código aberto   aplicativo de monitoramento e monitoramento de infra-estrutura. isto   oferece serviços de monitoramento e alerta para servidores, switches,   aplicativos, serviços, etc. Ele alerta os usuários quando as coisas dão errado   e os alerta uma segunda vez quando o problema foi resolvido

Exemplo de imagem

Sobre Icinga

Wikipedia escreve

  

Icinga é um sistema de computador de código aberto e monitoramento de rede   aplicação. Foi originalmente criado como uma bifurcação do sistema Nagios   aplicativo de monitoramento em 2009.

     

Icinga está tentando superar as deficiências percebidas no Nagios   processo de desenvolvimento, bem como adicionar novos recursos, como   interface de usuário moderna estilo Web 2.0, conectores de banco de dados adicionais   (para MySQL, Oracle e PostgreSQL), e uma API REST que permite   administradores integram inúmeras extensões sem complicar   modificação do núcleo Icinga.

Exemplo de imagem mostrando 1 de várias visualizações:

Sobre o Spiceworks

Wikipedia escreve:

  

Spiceworks é uma rede profissional para a tecnologia da informação   (IT), com sede em Austin, Texas. o   empresa foi fundada em janeiro de 2006 por Scott Abel, Jay Hallberg, Greg   Kattawar e Francis Sullivan para criar software de gerenciamento de TI.

     

Spiceworks é uma comunidade on-line onde os usuários podem colaborar e buscar   conselhos um do outro e também se envolver em um mercado para comprar   Serviços e produtos relacionados a TI. A rede é estimada como sendo   usado por mais de seis milhões de profissionais de TI e 3.000 tecnologias   fornecedores.

Sobre o monit

Wikipedia escreve

  

Monit é uma ferramenta gratuita de supervisão de processos de código aberto para Unix e   Linux.Com o Monit, o status do sistema pode ser visualizado diretamente   linha de comando ou através do servidor da Web HTTP (S) nativo. Monit subiu para   popularidade com o Ruby on Rails e o servidor web Mongrel, [citação   necessário] porque era necessária uma ferramenta que pudesse gerenciar os muitos   Processos mongrel que precisavam ser executados para suportar um Ruby escalonável em   Site Rails, e Monit foi bastante adequado para as necessidades do   Comunidade Ruby on Rails. Muitos sites populares do Rails usaram o Monit,   incluindo o Twitter e o scribd.

Sobre o Cacti

Wikipedia escreve:

  

O Cacti é um monitoramento e gráfico em rede de código aberto baseado na web   ferramenta projetada como uma aplicação front-end para o código aberto,   ferramenta de registro de dados padrão da indústria RRDtool. Cactos permite que um usuário   pesquisar serviços em intervalos predeterminados e representar graficamente os dados resultantes.   Geralmente é usado para representar graficamente dados de séries temporais de métricas como CPU   carga e utilização de largura de banda de rede. Um uso comum é   monitorar o tráfego de rede pesquisando um comutador ou roteador de rede   interface via Protocolo Simples de Gerenciamento de Rede (SNMP).

     

O front end pode lidar com vários usuários, cada um com seu próprio gráfico   conjuntos, por isso às vezes é usado por provedores de hospedagem na web   (servidor especialmente dedicado, servidor privado virtual e   provedores de colocação) para exibir estatísticas de largura de banda   clientes. Pode ser usado para configurar a coleta de dados,   permitindo que certas configurações sejam monitoradas sem qualquer   configuração de RRDtool. Os cactos podem ser estendidos para monitorar   fonte via shell scripts e executáveis.

Sobre o Zabbix

Wikpedia escreve:

  

O Zabbix é um software de monitoramento de código aberto para redes e   aplicações, criado por Alexei Vladishev. Ele é projetado para monitorar   e acompanhar o status de vários serviços de rede, servidores e outros   hardware de rede.

     

O Zabbix usa MySQL, PostgreSQL, SQLite, Oracle ou IBM DB2 para armazenar   dados. Seu backend é escrito em C e o frontend da web é escrito em   PHP O Zabbix oferece várias opções de monitoramento

    
por dufte 09.06.2016 / 10:40
2

Você pode usar várias soluções. Um deles é monit .

Na linha de comando, basta executar o seguinte comando:

sudo apt-get install monit

O Monit agora deve estar instalado e acessível por meio de um dos seguintes URLs:

http://localhost:2812
http://IPADDRESS:2812 (local network IP)
http://domain.com:2812 (if you have domain name pointing to your server)

Configuração da Monit

Antes de começar a usar o Monit para o monitoramento automático do servidor, você precisa fazer algumas configurações básicas. Primeiro faça o backup da configuração padrão Monit usando o seguinte comando:

sudo mv /etc/monit/monitrc /etc/monit/monitrc.bak

Em seguida, crie um novo arquivo monitrc usando o comando

sudo /etc/monit/monitrc 

e copie o seguinte conteúdo para ele.

# How often in seconds should monit check your services.
set daemon 120

set logfile /var/log/monit.log
set idfile /var/lib/monit/id
set statefile /var/lib/monit/state

# Configure your SMTP out server. 
set mailserver smtp-server.columbus.rr.com port 25,localhost

set eventqueue
    basedir /var/lib/monit/events # set the base directory where events will be stored
    # optionally limit the queue size
    slots 100 

# Use one of the following 2 lines. The second line alerts on every little change and can be annoying.
set alert [email protected] but not on { instance, pid, ppid } #does not send alert on pid changes
#set alert [email protected] 

set httpd port 2812 and
    #Change username and password
    allow Username:Password
    # To enable SSL for WebUI uncomment the next 2 lines
    #ssl enable
    #pemfile /path/to/unified/certificate.pem
    # To restrict access to localhost only uncomment the following line
    #allow localhost

include /etc/monit/conf.d/*

As linhas que começam com # são comentários para ajudar você a personalizar a configuração. Certifique-se de ter pelo menos o email de administrador, o servidor SMTP e a porta SMTP configurados corretamente. Você também deve considerar alterar o nome de usuário e a senha do Monit WebUI. Se você tem um certificado SSL, você pode habilitar isso também para acesso HTTPS

Por enquanto, use os seguintes comandos para garantir que o Monit esteja funcionando bem.

Para testar a configuração de Monit para erros de sintaxe:

sudo monit -t

Para iniciar o Monit:

sudo monit

Para verificar o status da Monit:

sudo monit status

Monitoramento de carga do sistema com monitoração

É necessário que você tenha uma instância Monit funcional com um arquivo /etc/monit/monitrc adequado. As configurações de monit para vários serviços são carregadas da pasta /etc/monit/conf.d . Para monitorar a carga do servidor com Monit , crie um arquivo de configuração Monit usando o seguinte comando:

sudo /etc/monit/conf.d/systemload

Copie o seguinte conteúdo para ele, salve e saia

# domain.com could be IP, hostname, or localhost
check System domain.com
    if loadavg (1min) > 4 then alert
    if loadavg (5min) > 2 then alert
    if memory usage > 75% then alert
    if swap usage > 25% then alert
    if cpu usage (user) > 80% then alert
    if cpu usage (system) > 30% then alert
    if cpu usage (wait) > 20% then alert

Esse código fará com que Monit envie um alerta por e-mail quando uma das condições acima (por exemplo, carga média for >4 por pelo menos 1 min ou quando mais de 75% RAM estiver cheio) forem atendidas. Você pode personalizar as regras acima como quiser. Abaixo, um exemplo de alerta por e-mail enviado por Monit , juntamente com uma descrição de qual condição causou o alerta.

Teste e recarregue a monitoração

Depois de fazer as alterações, você precisa testar a configuração Monit :

sudo monit -t

Você deve ver a seguinte mensagem: Control File Syntax OK.

Em seguida, verifique se Monit já está em execução usando o seguinte comando:

sudo /etc/init.d/monit status

Se Monit estiver em execução, recarregue as configurações de Monit usando o seguinte comando:

sudo /etc/init.d/monit reload

Agora, abra seu navegador da Web e visite um dos seguintes URLs, dependendo de como sua Monit está configurada (certifique-se de usar o número de porta correto):

http://localhost:2812
http://IPADDRESS:2812 (local network IP)
http://domain.com:2812 (if you have domain name pointing to your server)

Você deve ver o status do sistema, carga, carga da CPU, carga da memória e carga de troca

Monitoramento de armazenamento com monitoração

Em seguida, é necessário que você tenha uma instância Monit funcional com um arquivo /etc/monit/monitrc adequado. As configurações de Monit para vários serviços são carregadas da pasta /etc/monit/conf.d . Para monitoramento de espaço de unidade com o arquivo de configuração Monit, create a Monit 'usando o seguinte comando:

sudo /etc/monit/conf.d/storagespace

Copie o seguinte conteúdo para ele, salve e saia

# add each drive you want to monitor below
check filesystem Ubuntu with path /dev/sda1
    if space usage > 90% then alert
check filesystem Home with path /dev/sda3
    if space usage > 90% then alert
check filesystem Media with path /dev/sdb1
    if space usage > 90% then alert

O código acima codificará o espaço no disco rígido em 3 partições em 2 unidades. Se algum deles estiver mais de 90% cheio, você ficará alerta.

Você também pode monitorar serviços específicos.

Monitore o Apache Server com Monit

Configurar o monitoramento do servidor Apache com Monit é com Monit’s modelos de configuração pré-criados. Tudo o que você precisa fazer é copiar o modelo existente da pasta /etc/monit/monitrc.d para /etc/monit/conf.d .

sudo cp /etc/monit/monitrc.d/apache2 /etc/monit/conf.d/

Em vez de copiar, você também pode criar um link simbólico. O processo do servidor da web Apache cria apache2.pid . O código acima monitora o arquivo apache2.pid e, se não existir, Monit tentará reiniciar o Apache. Um reinício irá acionar um alerta de email. Se o reinício falhar várias vezes, o Monit pára de monitorar o servidor Apache.

...

    
por 2707974 09.06.2016 / 11:00
2

Você também pode dar uma olhada no SeaLion Você pode definir alertas personalizados para uso da CPU, memória, etc. Além disso, você também pode adicionar suas próprias métricas e configurar notificações para elas. Além disso, você pode programar os comandos para serem executados em intervalos específicos e ver suas saídas em uma exibição de linha de tempo. Você pode encontrar mais sobre aqui .

    
por Araknid 01.08.2016 / 11:55
1

As ferramentas acima são ótimas para gerar e-mails. Eu prefiro receber e-mails para o meu monitoramento diário, já que não quero sentar e assistir a um painel o dia todo. O problema é que você é inundado por e-mails e só tem interesse quando algo dá errado. Além disso, como você sabe se um e-mail por algum motivo nunca foi entregue e acha que tudo está funcionando bem?

Procurei por muito tempo e encontrei dois produtos que podem ler seus e-mails de relatório e avisá-lo quando precisar agir.

  1. PRTG você pode configurar filtros de e-mail para procurar e-mails contendo certas palavras. Foi um pouco complicado de fazer.
  2. Uma ferramenta on-line chamada wwww.smtpviewer.com realmente faz o trabalho, além de ter uma configuração de tempo limite que avisa quando o e-mail de seus dispositivos monitorados não chegou por um tempo definido.
por John Grobbelaar 16.11.2016 / 12:32
0

Na minha escola, nosso professor nos deu um treinamento sobre o Pandora FMS, uma solução de monitoramento que abrange o monitoramento de servidores, aplicativos e até redes!

Eu só conhecia o Zabbix e o Nagios na época, nunca tinha ouvido falar dessa solução antes, mas agora estou baseando meu projeto nele por causa dos recursos extras que ele oferece. A parte de monitoramento do servidor é realmente madura e, em minha opinião, é mais simples de configurar e obter estatísticas de desempenho o mais rápido possível: link

    
por rawmal 09.06.2016 / 23:27
0

Apesar de não fazer exatamente o que você quer sair da caixa, acho que logwatch é uma ferramenta extremamente útil, mas simples.

Ele fornece um resumo diário de todos os eventos que aconteceram no diretório /var/log , além de outras informações importantes do sistema, como o espaço em disco atual. Tudo o que estiver faltando pode ser adicionado de forma simples (por exemplo, eu adicionei um script que verifica se certos daemons ainda estão sendo executados).

    
por Darren 09.06.2016 / 15:40
0

Pelo que entendi sua necessidade é muito básica. Você gostaria de enviar por texto o conteúdo do e-mail de pesquisa para palavras-chave específicas e, em seguida, ser notificado quando isso acontecer. Então, somente quando, por exemplo, o e-mail contiver a palavra falhar, você será notificado e não quando tiver sucesso. Eu também uso www.smtpviewer.com como mencionado por John Grobbelaar para ser notificado. A vantagem de usar uma ferramenta online é que você sempre pode ser notificado quando o email esperado não chegar. De todas as ferramentas de monitor de email que eu joguei com esta é a mais simples e só faz uma coisa.

    
por Dirk Hemmingway 31.08.2017 / 16:20
___ answer977174 ___

Eu experimentei esse problema ao fazer o upgrade do Xenial para o Zesty. Eu tentei as outras soluções, mas elas não funcionaram para mim.

Em vez disso, quando cheguei ao menu GRUB, inseri um kernel de recuperação. De lá, eu deixei cair em um terminal raiz e executei uma atualização / atualização apt, seguida pela opção "consertar pacotes quebrados" do sistema de recuperação.

Isso parece ter resolvido isso para mim. Eu acho que, por algum motivo, o servidor de exibição não conseguiu terminar a atualização, e por isso foi deixado neste estado meio quebrado.

    
___ answer837219 ___

Eu enfrentei o mesmo problema no meu computador pessoal. Parece vir de pacotes do kernel 4.4.0-43 que foram lançados sem outros necessários. Consulte o link

Primeiro, tente inicializar um kernel antigo

Segurar a tecla shift logo após iniciar a máquina deve exibir o menu grub. Então você deve poder escolher um kernel antigo em "opções avançadas".

Se você conseguir iniciar sua máquina dessa forma, terá sorte: você só precisa fazer upgrade para obter os pacotes ausentes:

%pre%

Se você não consegue inicializar a máquina

Neste caso, consegui resolvê-lo executando a atualização de uma chave USB ativa, por meio do chroot:

Se o disco do sistema não estiver criptografado

  • inicie o computador em um live-USB ou live-CD da mesma versão do Ubuntu (16.04.1)
  • monte seu disco de sistema (em / mnt neste exemplo. Se você montá-lo a partir da GUI, provavelmente estará em / media / ubuntu / some-uid: neste caso, substitua / mnt com este caminho abaixo)
  • monte os diretórios necessários para permitir que seu chroot acesse a Internet:

    %pre%

    e, se você tiver uma partição / boot separada: (ajuste o nome do dispositivo)

    %pre%
  • inicie o chroot e atualize:

    %pre%
  • e, finalmente, desmontar tudo e reiniciar (não tenho certeza se é realmente necessário):

    %pre%

Se o disco do sistema estiver criptografado

Neste caso, primeiro você precisa montá-lo com o mesmo nome que em seu / etc / crypttab (no meu caso foi sda3_crypt: encontre o seu na primeira coluna do / etc / crypttab , na linha do seu disco de sistema):

%pre%

siga o mesmo procedimento acima

Eu expliquei a história completa (em francês) no meu blog: link

    
___ answer837037 ___

Não é uma solução, mas uma solução rápida:

Eu experimentei exatamente a mesma coisa da atualização hoje.

Minha solução é inicializar o kernel anterior, conforme descrito em este post de um ano atrás.

Acesse o menu GRUB pressionando shift após ligar o computador, selecione Opções avançadas para o Ubuntu e vá para o kernel mais antigo na lista (não recuperação).

    
___ qstntxt ___

Tenho uma área de trabalho da torre de precisão Dell 3620 , com o Ubuntu 16.04 instalado.

Eu recentemente (hoje) atualizei (não atualizei), e depois ele pediu uma reinicialização, então eu fiz isso. No entanto, após a reinicialização, ele mostrou a tela de login e a conexão mencionada estabelecida (para internet através da Ethernet) e o cursor da senha de login estava piscando durante esse tempo, mas depois disso o cursor parou de piscar e não aceitou resposta do teclado ou mouse. Apenas uma opção é forçar o desligamento. Não tenho ideia de qual parte da atualização resultou nisso.

Tudo estava funcionando bem antes da atualização. Uma vez que o ícone Ethernet anunciando a conexão foi estabelecida, ele tira o cursor do mouse, e o teclado e o mouse simplesmente não funcionam. Eu até tentei conectar o teclado em outros slots, mas não tive sucesso. Posso desinstalar a última atualização?

NOTA :

Eu ouvi um som do processador quando a tela de login chegou e entre o cursor também pisca, mas uma vez que este som acabou, o pisca congela e você tem que desligar forçadamente, pois este é um computador do instituto (eu peguei o admin privilégio, dor de cabeça). Agora estou realmente preocupado com isso. Como consertar isso?

MELHORIA

Eu não tive que ir para um USB ao vivo, e eu fui capaz de ir para o grub Consegui ir ao menu GRUB pressionando a tecla Esc). Isso é o que eu tenho.

Eu não tenho ideia de como fazer isso depois disso. Está dizendo que o Secure boot proíbe o carregamento do módulo, enquanto carrega o Ubuntu eu fiz boot seguro, digitando uma senha para isso.

    
___ tag123drivers ___ Para questões relacionadas a módulos, aqueles que controlam e orquestram como o kernel deve se comunicar com o hardware ___ tag123updates ___ Perguntas sobre atualizações. Esta é uma tag muito geral. Se você tem uma tag mais específica (por exemplo, o nome do pacote de sua pergunta), use essa tag. ___ tag1231604 ___ Sexta versão LTS (Long Term Support) do Ubuntu, codinome "Xenial Xerus". Lançado em 21 de abril de 2016. Will End Of Life (EOL), abril de 2021. Use esta tag somente se sua pergunta for específica à versão. Não use isso para arquivar bugs! ___ A atualização do Ubuntu pára durante a configuração do mysql-server-5.7