Prometheus pode gerar alertas quando um alvo não está disponível e enviá -los para o gerente de alerta, enviando uma notificação por e -mail para que você saiba que um alvo está abaixado. Este é apenas um exemplo. Prometheus pode enviar alertas para alertar o gerente, dependendo de qualquer métrica de Prometheus. Então, as possibilidades são ilimitadas.
Neste artigo, mostrarei como instalar o Prometheus Alert Manager no Ubuntu 20.04 LTS. Também mostrarei como configurar o Prometheus e o Alert Manager para enviar notificações por e -mail via Gmail quando um alvo Prometheus estiver inativo (indisponível). Então vamos começar.
Índice:
Pré -requisitos:
Para seguir este artigo, você deve:
Este artigo é uma continuação do artigo como instalar o Prometeu no Ubuntu 20.04 LTS. Se você precisar de ajuda para instalar o Prometeu no Ubuntu 20.04 LTS e criando um usuário do sistema Prometheus, não deixe de conferir.
Instalando o Alert Manager:
Você pode baixar a versão mais recente do Alert Manager no site oficial de Prometheus e instalá -lo no Ubuntu 20.04 LTS com muita facilidade.
Primeiro, navegue para o ~/Downloads Diretório (ou qualquer outro diretório temporário de sua escolha) da seguinte maneira:
$ CD ~/Downloads
Baixe a versão mais recente do Alert Manager (v0.22.2 no momento da redação deste artigo) com o seguinte comando:
$ wget https: // github.com/prometeus/alertManager/liberações/download/v0.22.2/alertManager-0.22.2.Linux-AMD64.alcatrão.gz
Alert Manager está sendo baixado. Pode demorar um pouco para completar.
Neste ponto, o Alert Manager deve ser baixado.
Depois que o Alert Manager for baixado, você deve encontrar um novo arquivo de arquivo AlertManager-0.22.2.Linux-AMD64.alcatrão.gz em seu diretório de trabalho atual, marcado na captura de tela abaixo.
$ ls -lh
Extraia o AlertManager-0.22.2.Linux-AMD64.alcatrão.gz Arquive com o seguinte comando:
$ tar xzf alertManager-0.22.2.Linux-AMD64.alcatrão.gz
Você deve encontrar um novo diretório AlertManager-0.22.2.Linux-amd64/ conforme marcado na captura de tela abaixo.
$ ls -lh
Agora, mova o AlertManager-0.22.2.Linux-AMD64 diretório para /optar/ diretório e renomeie -o para AlertManager do seguinte modo:
$ sudo mv -v alertManager -0.22.2.Linux-amd64 /opt /alertManager
Altere o usuário e o grupo de todos os arquivos e diretórios do /opt/alertManager/ diretório para root da seguinte forma:
$ sudo chown -rfv root: root /opt /alertManager
No /opt/alertManager diretório, você deve encontrar o AlertManager Binário e o arquivo de configuração do gerenciador de alerta AlertManager.yml, conforme marcado na captura de tela abaixo. Você vai usá -los mais tarde. Então, apenas lembre -se disso.
Criando um diretório de dados:
O Alert Manager precisa de um diretório onde possa armazenar seus dados. Como você estará executando o gerenciador de alertas como o Prometeu usuário do sistema, o Prometeu O usuário do sistema deve ter acesso (leia, gravar e executar permissões) para esse diretório de dados.
Você pode criar o dados/ diretório no /opt/alertManager/ diretório da seguinte maneira:
$ sudo mkdir -v/opt/alertManager/dados
Mudar o proprietário e o grupo do /opt/alertManager/data/ diretório para Prometeu com o seguinte comando:
$ sudo chown -rfv prometeus: prometeus/opt/alertManager/dados
O proprietário e o grupo do /opt/alertManager/data/ O diretório deve ser alterado para Prometeu, como mostrado na captura de tela abaixo.
$ ls -lh
Iniciando o gerenciador de alertas na inicialização:
Agora, você precisa criar um arquivo de serviço do Systemd para o Alert Manager para que você possa gerenciar facilmente (iniciar, parar, reiniciar e adicionar à inicialização) o serviço AlertManager com o Systemd.
Para criar um arquivo de serviço Systemd AlertManager.serviço, Execute o seguinte comando:
$ sudo nano/etc/systemd/System/alertManager.serviço
Digite as seguintes linhas no AlertManager.serviço arquivo.
[Unidade]
Descrição = alertManager para Prometheus
[Serviço]
Reinicie = sempre
Usuário = Prometheus
Execstart =/opt/alertManager/alertManager -Config.arquivo =/opt/alertManager/alertManager.YML -armazenamento.caminho =/opt/alertManager/dados
Execreload =/bin/kill -hup $ mainpid
Timeoutstopsec = 20s
Sendsigkill = não
[Instalar]
WantedBy = MultiUser.alvo
Depois de terminar, pressione + X seguido pela Y e Para salvar o AlertManager.serviço arquivo.
Para que as mudanças do Systemd entrem em vigor, execute o seguinte comando:
$ sudo systemctl daemon -load
Agora, comece o AlertManager Serviço com o seguinte comando:
$ sudo systemctl Start alertManager.serviço
Adicione o AlertManager Serviço para a inicialização do sistema para iniciar automaticamente a inicialização com o seguinte comando:
$ sudo systemctl alertmanager.serviço
Como você pode ver, o AlertManager serviço é ativo/em execução. Isso é também habilitado (ele começará automaticamente na inicialização).
$ sudo systemctl status alertmanager.serviço
Configurando Prometheus:
Agora, você tem que configurar o Prometeu para usar o Alert Manager. Você também pode monitorar o Alert Manager com Prometheus. Vou mostrar como fazer os dois nesta seção.
Primeiro, encontre o endereço IP do computador onde você instalou o Alert Manager com o seguinte comando:
$ hostname -i
No meu caso, o endereço IP é 192.168.20.161. Vai ser diferente para você. Então, certifique -se de substituí -lo por seu a partir de agora.
Agora, abra o arquivo de configuração do Prometheus /Opt/Prometheus/Prometheus.yml com o Nano Editor de texto da seguinte forma:
$ sudo nano/opt/prometheus/prometheus.yml
Digite as seguintes linhas no scrape_configs seção para adicionar alerta gerenciador para monitorar com prometeus.
- job_name: 'alertManager'
static_configs:
- Alvos: ['192.168.20.161: 9093 ']
Além disso, digite o endereço IP e o número da porta do gerenciador de alerta no alerta> alertmanagers Seção marcada na captura de tela abaixo.
Depois de terminar, pressione + X seguido pela Y e Para salvar o Prometeu.yml arquivo de configuração.
Para que as mudanças entrem em vigor, reinicie o Prometeu Serviço da seguinte forma:
$ sudo systemctl reinicie prometeus.serviço
Visite o URL http: // 192.168.20.161: 9090/alvos do seu navegador da web favorito, e você deve ver que AlertManager está no ACIMA estado. Então, Prometheus pode acessar o gerenciador de alertas muito bem.
OBSERVAÇÃO: Eu instalei o Prometheus e o Alert Manager no mesmo computador. Portanto, o endereço IP da minha instância de Prometheus é o mesmo que os gerentes de alerta. Se você instalou Prometeu em um computador diferente, faça os ajustes necessários a partir de agora.
Criando uma regra de alerta de Prometheus:
Em Prometheus, você pode usar o acima expressão para encontrar o estado dos alvos adicionados ao Prometheus, como mostrado na captura de tela abaixo.
Os alvos que estão no ACIMA Estado (em execução e acessível a Prometheus) terá o valor 1, e alvos que não estão no ACIMA (ou ABAIXO) Estado (não funcionando ou inacessível para Prometheus) terá o valor 0.
Se você parar um dos alvos - node_exporter (Digamos).
$ sudo systemctl stop node-exporter.serviço
O acima O valor desse alvo deve ser 0, Como você pode ver na captura de tela abaixo. Você entendeu a ideia.
Então, você pode usar o up == 0 Expressões para listar apenas os alvos que não estão em execução ou inacessíveis para Prometheus, como você pode ver na captura de tela abaixo.
Essa expressão pode ser usada para criar um alerta de Prometheus e enviar alertas para alertar o gerente quando um ou mais alvos não estão em execução ou inacessíveis para Prometheus.
Para criar um alerta de Prometheus, crie um novo arquivo regras.yml no /Opt/Prometheus/ diretório da seguinte maneira:
$ sudo nano/opt/prometeus/regras.yml
Agora, digite as seguintes linhas no regras.yml arquivo.
grupos:
- Nome: teste
regras:
- Alerta: Instalancedown
expr: up == 0
para: 1m
Depois de terminar, pressione + X seguido pela Y e Para salvar o regras.yml arquivo.
Aqui, o alerta Instalancedown será demitido quando os alvos não estiverem funcionando ou inacessíveis para Prometheus (isto é up == 0) por um minuto (1m).
Agora, abra o arquivo de configuração do Prometheus /Opt/Prometheus/Prometheus.yml com o Nano Editor de texto da seguinte forma:
$ sudo nano/opt/prometheus/prometheus.yml
Adicione o regras.yml arquivo no regra_files Seção do Prometeu.Arquivo de configuração YML, marcado na captura de tela abaixo.
Outra opção importante do Prometeu.yml arquivo é avaliação_interval. Prometheus verificará se alguma regras correspondiam a cada avaliação_interval tempo. O padrão é 15S (15 segundos). Então, o alerta rege no regras.yml O arquivo será verificado a cada 15 segundos.
Depois de terminar, pressione + X seguido pela Y e Para salvar o Prometeu.yml arquivo.
Para que as mudanças entrem em vigor, reinicie o Prometeu Serviço da seguinte forma:
$ sudo systemctl reinicie prometeus.serviço
Agora, navegue até o URL http: // 192.168.20.161: 9090/Regras do seu navegador da web favorito, e você deve ver a regra Instalancedown que você acabou de adicionar.
Navegue até o URL http: // 192.168.20.161: 9090/alertas do seu navegador da web favorito, e você deve ver o estado do alerta se inspainha, como pode ver na captura de tela abaixo.
Como você parou node_exporter Anteriormente, o alerta está ativo e está esperando ser enviado para o gerente de alerta.
Depois de um minuto passou, o alerta Instalancedown deve estar no Disparo estado. Isso significa que o alerta é enviado ao gerente de alerta.
Configurando o Gmail Receiver no Alert Manager:
Nesta seção, mostrarei como configurar o Gmail como o receptor do Alert Manager, para que você possa receber e -mails em sua conta do Gmail do Alert Manager se um alvo de Prometheus estiver abaixado.
Para configurar o Gmail como o receptor do Alert Manager, você deve gerar uma senha de aplicativo para o Gmail a partir das configurações de segurança da sua conta do Google.
Para fazer isso, navegue para URL https: // MyAccount.Google.com do seu navegador favorito e clique em Segurança> senhas de aplicativos conforme marcado na captura de tela abaixo.
Você deve ver a seguinte página.
Selecione Correspondência de Selecione aplicativo menu suspenso, conforme marcado na captura de tela abaixo.
Selecione Outro (nome personalizado) de Selecionar dispositivo menu suspenso, conforme marcado na captura de tela abaixo.
Digitar AlertManager (ou qualquer coisa que você quiser) e clique em GERAR conforme marcado na captura de tela abaixo.
Uma senha de aplicativo deve ser gerada. Copie -o e guarde em algum lugar seguro. Você precisará disso mais tarde.
Agora, abra o arquivo de configuração do Alert Manager /opt/alertManager/alertManager.yml com o Nano Editor de texto da seguinte forma:
$ sudo nano/opt/alertManager/alertmanager.yml
Para adicionar um novo receptor do Gmail, digite as seguintes linhas no receptores seção do AlertManager.yml arquivo marcado na captura de tela abaixo.
- Nome: 'Gmail'
email_configs:
- para: '@gmail.com '
De: '@gmail.com '
SMARTHOST: SMTP.Gmail.com: 587
auth_username: '@gmail.com '
auth_entity: '@gmail.com '
auth_password: ''
OBSERVAÇÃO: Certifique -se de substituir com o nome de usuário (a parte antes da seção @ do seu email) da sua conta do Google e com a senha do aplicativo que você gerou anteriormente.
Em seguida, defina o gerente de alerta receptor para Gmail (o receptor que você acabou de criar) conforme marcado na captura de tela abaixo.
Depois de terminar, pressione + X seguido pela Y e Para salvar o AlertManager.yml arquivo de configuração.
Alert Manager usará o Gmail Receptor a partir de agora.
repetição_interval também é uma opção de gerente de alerta importante. Por padrão, repetição_interval está configurado para 1h (1 hora). Se o Alert Manager tiver enviado com sucesso um e -mail na sua conta do Gmail, ele esperará uma hora antes de enviar outro. Se você não quiser receber e -mails com muita frequência, pode aumentá -lo.
Agora, reinicie o AlertManager Serviço Systemd para as alterações entrarem em vigor da seguinte forma:
$ sudo systemctl reiniciar alertManager.serviço
Você deve receber um e -mail em breve na sua conta do Gmail, como pode ver na captura de tela abaixo.
Você parou node_exporter Antes, lembre -se?
Solução de problemas de alerta gerente de e-mail de email problemas:
Você pode monitorar problemas de entrega de e -mail do Alert Manager com o seguinte comando:
$ sudo journalctl--sollow ---nopager --boot --unit alertmanager.serviço
O AlertManager Os registros de serviço Systemd devem ser exibidos, como você pode ver na captura de tela abaixo.
Se o Alert Manager não conseguir entregar e -mails ao seu endereço de e -mail, você poderá descobrir por que falhou aqui.
Um exemplo de entrega de e -mail com falha é mostrada na captura de tela abaixo. Se você ler a mensagem de log, poderá dizer que a entrega falhou porque a senha estava incorreta.
Conclusão:
Neste artigo, mostrei como instalar o Alert Manager no Ubuntu 20.04 LTS. Eu também mostrei como configurar o Alert Manager e o Prometheus para enviar notificações por e -mail para sua conta do Gmail quando um alvo de Prometheus estiver abaixo.
Referências: