Métricas de ping com Prometheus e Grafana

Um post simples, que acredito poder contribuir em qualquer área, E nada mais é do que pingar 😊😂, Vamos ver que eu dou risada, mas fornece informações interessantes em muitas ocasiões. Neste post vamos ver como enviar pings para endereços IP internos / externos que estamos interessados em saber a sua latência, se houver cortes… e compreendê-lo visualmente com Grafana.

Se estivéssemos interessados em saber em tempo real (ao nível de 1 segundo, 5…) conectividade com determinados endereços IP, saber minimamente quando temos um problema de rede, se não acessamos a Internet, um serviço que publicámos, ou endereços IP internos das delegações, Centro de dados… Endereços IP sobre os quais estaremos interessados em saber (eu) se as embalagens caírem e (Ii) O seu tempo de resposta (conhecer latências). Neste post vamos ver como de uma forma muito simples e rápida o temos montado.

Como eu lhe disse, Este ano pretendo enfatizar um pouco este tipo de temas que ainda não abordamos muito no blog, especialmente aqueles que são fáceis de implantar e aplicar a uma maioria 🙂 Então vamos começar! Partindo do princípio de que já temos no nosso ambiente implantou um Prometheus e um Grafana, Podemos começar.

A maneira mais eficaz será implantar outro contêiner do Docker, Neste caso, usaremos 'ping-exportador’ que em um instante nos permitirá fazer ping e visualizar seus dados em um painel do Grafana, Criamos a pasta e entramos:

cd mkdir ping-exportador mkdir ping-exportador/config cd ping-exportador

Criamos o arquivo de configuração docker compose para este contêiner com 'nano docker-compose.yaml’

Versão: '3.9'
services:
    ping_exporter:
        imagem: CZERWONK/ping_exporter container_name: ping_exporter volumes:
            - './config:/Configuração:ro'
        ports:
            - '9427:9427'
        restart: a menos que redes paradas:
           ping_exporter_default:

Redes:
  ping_exporter_default:
    motorista: Ponte Ipam:
     Configuração:
       - Sub-rede: XX.XX.XX.0/24
         Porta de entrada: XX.XX.XX.1

Onde você criará um contêiner chamado ping_exporter, com base na imagem de ping_exporter, que montará a pasta config e exporá as métricas de pings na porta 9427tcp, particularidades minhas que eu gosto de definir faixas de rede específicas, caso contrário, Eu pulei os últimos 4 Linhas.

O próximo passo, será criar o arquivo de configuração para ping_exporter, Deixo-vos este exemplo:

Objetivos:
  - 8.8.8.8
  - 1.1.1.1
  - 192.168.0.1
  - 192.168.1.1

Ping:
  intervalo: 5s tempo limite: 5s tamanho do histórico: 42
  tamanho da carga útil: 120

Opções:
  desativarIPv6: Verdadeiro

Como você pode ver, Na secção «Metas»’ podemos adicionar os endereços IP que queremos ping,. Bem como os parâmetros padrão, no entanto, para fazer os pings a cada 5 Segundos, Definir um tempo limite, Tamanho… Em primeiro lugar, Esqueci-me, Deixo-vos o Link Oficial do projeto, caso pretenda ter mais informações.

Com isso temos, Tudo o que resta é desdobrar o recipiente e colocá-lo em funcionamento, por isso:

sudo docker compor -d

Depois que o contêiner é implantado, poderemos verificar se ele já estará expondo as métricas dos PINGs, por isso, se nos conectarmos a partir de um navegador com http ao endereço IP do Docker, para o porto de ping_exporter (9427TCP por padrão) e coloque o final do URL '/metrics'.

Agora, o que nos resta, será instruir Prometheus a ingerir essas métricas, por isso, será tão simples como editar o ficheiro de configuração Prometheus (Por exemplo: «nano~/prometheus/prometheus/prometheus.yml’ e adicionamos um trabalho para se conectar ao IP e à porta do ping_exporter:

...
  - job_name: Ping-Prometheus scrape_interval: 5scrape_timeout: 5static_configs:
      - Objetivos:
        - DIRECCION_IP_DOCKER:PUERTO_PING_EXPORTER
...

Por padrão, ele conectará cada 5 Segundos.

E não se esqueça de reiniciar o recipiente Prometheus para recarregar as configurações:

sudo Docker Reiniciar Prometheus

E é isso, Já o temos!! O que nos resta? Bem, veja em Grafana 😊. Para fazer isso,, assumindo que seguimos os passos do documento anterior, já implantamos o Grafana e criamos a fonte de dados contra o Prometheus, Bem, é só que teremos que importar um painel que gostamos e que a comunidade criou, por exemplo, eu recomendo este ID: 19761. Assim na Grafana, não será nada mais do que bater em Dashboards > Novo > Importação > Cole o ID e o painel será importado, ele pedirá que você nomeie o Dashboard e escolha o conector Prometheus. A partir daí você está pronto!

A partir daí, você pode personalizar o painel ao seu gosto, se você considerá-lo, ou o que você precisar. Mas uau, você verá que em um momento você tem um painel onde será fácil interpretar se um endereço IP teve um problema durante um determinado período de tempo, bem como se os pacotes forem descartados ou se quisermos ver tempos de latência, Melhores tempos, Resultados médios ou piores. Para provar as cores que são pings simples.

Em algumas ocasiões, graças a este tipo de informação, conseguimos determinar quando uma WAN estava a correr mal, ou quando há um problema de eletrônica de rede, e de um switch pacotes caem, pois pode ter algum problema/ônus…

Como diria Kristian Pielholf em Bricomanía… fácil, Simples e familiar 🤣, Espero como sempre que tenha achado interessante e com dicas destas e de outras possamos conhecer e dominar as nossas infraestruturas.

Envio um abraço, Carregue-se bem 😉

Postagens recomendadas

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Não hesite em contactar-me, Vou tentar ajudá-lo sempre que puder, Compartilhar é viver ;) . Desfrute de documentos!!!