Ei, algo está acontecendo ...

O estado atual das coisas

Então você chegou tão longe na série, legal. Você tem seu cluster Elasticsearch, seu melhor envio de dados e você tem Kibana todo configurado com painéis bonitos. Está tudo bem, mas é uma noite de sábado e uma atualização de sistema ruim derrubou um de seus nós e os outros dois mal estão lidando com a carga.

Alguns antecedentes primeiro

ODFE vem com o plugin de alerta pré-instalado. Isso nos permite configurar alertas quando certas condições são atendidas.

Existem três maneiras de configurar alertas no ODFE: gráficos visuais, consultas de extração e detector de anomalias.

O primeiro é bastante autoexplicativo, então vamos nos concentrar nas consultas de extração. O detector de anomalias é um assunto interessante, mas está fora do escopo desta série.

Os alertas têm três seções importantes: monitores, gatilhos e ações. Um monitor é uma consulta que é executada a cada certo período de tempo, cada monitor possui um número de gatilhos. Um gatilho é uma condição avaliada com base na resposta da consulta de extração do monitor. Quando uma condição de disparo for avaliada como verdadeira, várias ações serão executadas.

Em termos simples:

  • Monitor: Quantos e-mails não lidos eu tenho?
  • Gatilho: Emails> 5
  • Ação: enviar mensagem de folga

Antes de começar, precisamos configurar um destino para notificações. Na seção Outras informações úteis , você encontrará um link para adicionar um aplicativo Webhook de entrada ao Slack. Anote o URL do webhook.

Vá para a seção Alerta, vá para a guia Destinos e clique em “Adicionar destino”. Dê um nome a ele, selecione “Slack” como o tipo e cole o url do webhook lá.

O ODFE lançou recentemente notificações por e-mail e também oferece suporte a webooks personalizados para outros aplicativos de mensagens, como equipes.

Assim que terminar, clique em “Criar”.

Configurando um Monitor

Para começar com alertas, precisamos de uma consulta. Uma consulta básica do Elastcsearch se parece com isto:

Média de uso de memória nos últimos 5 minutos

Felizmente, você não precisa escrever tudo isso para cada consulta. A seção de visualização é basicamente um editor de consulta visual.

Como o que queremos é um número simples, podemos usar a visualização métrica. Altere a agregação para “média”, selecione “system.memory.actual.used.pct” como o campo, clique em atualizar e basicamente está feito.

Agora precisamos obter a consulta. Próximo ao botão “Salvar”, haverá um botão “inspecionar”. Clique nele e altere a opção superior direita com o nome “Visualizar: Dados” para “Visualizar: Solicitações” clicando nele e selecionando a opção no menu suspenso. Kibana mostrará três guias: Estatísticas (muito útil para medir o desempenho da consulta), Solicitação e Resposta. Clique em Solicitar e, em seguida, no ícone de cópia na seção superior direita da guia de solicitação.

Vá em frente e cole essa consulta em seu editor de código favorito.

Agora podemos prosseguir com a criação de um alerta. Vá para a seção Alerta e clique na guia Monitores. Clique em criar monitor, dê um nome a ele e selecione “Definir usando consulta de extração” na lista suspensa “Método de definição”.

Na lista suspensa do índice, digite “metricbeat- *” e pressione Enter. Isso dividirá o espaço abaixo em dois. À esquerda você definirá uma consulta e à direita verá a resposta após clicar em “Executar”.

Substitua a consulta existente pela obtida na visualização e clique no botão “Executar” no canto superior direito.

Sua resposta deve ser mais ou menos assim:

O problema com isso é que, se você executá-lo daqui a uma hora, o resultado será o mesmo. Isso ocorre porque em nossa consulta de extração, as datas são estáticas.

Aqui está o nosso problema:

Tempo estático

Para corrigir isso, modifique a consulta para ter a seguinte aparência:

Tempo dinâmico

Portanto, se você pressionar o botão “Executar” várias vezes, verá que o valor muda.

Role para baixo e clique em “Criar”, isso o levará para a tela “Criar acionador”.

Criação de um gatilho

Para começar, defina o nome do acionador e selecione um nível de Severidade (isso é arbitrário). Abaixo, você verá a resposta para a consulta do Monitor e, logo abaixo da resposta, terá a Condição do acionador . Por padrão, a condição de disparo será “ctx.results [0] .hits.total.value> 0”.

Por enquanto, vamos nos concentrar em tudo o que vem depois de “ctx.results [0]”. A consulta padrão avalia se a quantidade de documentos lidos pela consulta é maior que 0. Isso não tem utilidade para nós, precisamos do uso de memória. Como você pode ver, nossa resposta tem o campo aggregations.1.value que é o que queremos, então mude sua condição de trigger para isto:

“Ctx.results [0] .aggregations.1.value> 0”

Role um pouco para baixo e clique no botão “Executar” e observe a resposta da condição do acionador mudar para “verdadeira”. Agora defina o valor após o sinal “>” para algo como 0,8 para 80%, porque a memória sempre estará acima de 0%.

Configurando uma ação

Abaixo do botão “Executar” você poderá configurar ações. Aqui você pode notificar um destino com uma mensagem.

Primeiro, dê um nome à ação e selecione o destino que você criou anteriormente. Digite um assunto para a mensagem e role um pouco para baixo. Aqui você verá a visualização da mensagem.

Queremos incluir variáveis ​​em nossas mensagens, então não precisamos criar um gatilho para cada servidor que temos. Para incluir uma variável da resposta na mensagem, use o seguinte modelo:

Mensagem de amostra para uso de memória

No lado direito da tela, há um botão “Enviar mensagem de teste” para testar seu destino.

Finalmente, para evitar uma inundação de notificações quando algo der errado, clique na caixa de seleção “Habilitar aceleração de ação” e insira um número razoável de minutos para aguardar antes de enviar outra notificação.

Para finalizar clique em criar.

Próximos passos

Na próxima e última parte desta série, revisaremos algumas configurações de desempenho e disponibilidade e compartilharei algumas coisas que aprendi da maneira mais difícil.

Veja outros artigos relacionados .

Outras informações úteis

Slack Incoming Webhooks

Suggested posts

Migração de Solr para Opensearch

Migração de 100 milhões de documentos de solr para opensearch

Migração de Solr para Opensearch

Usamos solr para nossos casos de uso de pesquisa/feed/sugestão automática/personalização de comércio eletrônico. Desafios com solr cluster ELK agora vem com licença elástica premium.

Construindo um sistema de detecção de anomalias de modelo não supervisionado em grande escala — Parte 2

Como criar modelos de ML com observabilidade em escala

Construindo um sistema de detecção de anomalias de modelo não supervisionado em grande escala — Parte 2

Por Rajeev Prabhakar, Han Wang, Anindya Saha Em nosso blog anterior, discutimos os diferentes desafios que enfrentamos para o monitoramento de modelos e nossa estratégia para abordar alguns desses problemas. Mencionamos brevemente o uso de escores z para identificar anomalias.

Related posts

A lenta erosão: revelando como as pessoas desperdiçam em suas carreiras

A lenta erosão: revelando como as pessoas desperdiçam em suas carreiras

No mundo acelerado e competitivo de hoje, a carreira desempenha um papel significativo no crescimento pessoal, na estabilidade financeira e na satisfação geral com a vida. No entanto, muitos indivíduos encontram-se presos em um ciclo implacável de estagnação e insatisfação, definhando gradualmente em suas vidas profissionais.

O desafio de leitura Goodreads é tóxico

O desafio de leitura Goodreads é tóxico

A coceira na minha mão aumentou enquanto eu negociava com o livreiro local por mais um livro. Este livro, como o resto que comprei recentemente, encontraria seu trono na minha pilha 'To Be Read' (TBR); e ainda assim, eu comprei.

Aprender na semana de trabalho é mais importante do que você pensa

Aprender na semana de trabalho é mais importante do que você pensa

Muitas vezes nos encontramos lutando para implementar o que sabemos que é bom para nós. Desde dizer a um outro significativo que o amamos até lembrar de falar como um pirata, sempre haverá quem afirme que um dia, semana ou mês de eventos não é necessário porque eles já estão fazendo essas coisas.

VIDA SEM LIMITES

Quando você cresce, tende a ouvir que o mundo é do jeito que é e sua vida é apenas viver sua vida dentro do mundo, nunca arriscando sua vida, apenas siga um caminho definido e morra no final, e tente não bater demais nas paredes. Mas essa é uma vida muito limitada.