Tools

News

Notícias

Classificados

Cursos

Broker

IPv4:

IPv6:

 

UpOrDown
Ping
MTR
Smokeping
MTU Detect
Portscan
DNS
HTTP/SSL
My IP
IP Calc
IP Extractor

Integrando Prometheus com ISP.Tools

Introdução

Prometheus e Grafana são a dupla clássica para observabilidade. O ISP Tools pode ser usado como fonte de dados externa para medir latência, perda de pacotes e estabilidade de rotas a partir de probes distribuídas. Isso permite visualizar como a sua rede se comporta a partir de diversos pontos da internet.

Neste tutorial você vai criar um exporter em Python, configurar o Prometheus para coletar métricas e exibir tudo no Grafana.

Pré requisitos

  • Python 3
  • Flask
  • requests
  • Prometheus instalado
  • Grafana instalado
  • Chave da API do ISP.Tools

Instalando dependências

      pip install flask requests
    

Criando o exporter

Crie um arquivo exporter.py.

      from flask import Flask, Response
import requests

app = Flask(__name__)

API_KEY = "SUA_CHAVE_AQUI"
TARGET = "8.8.8.8"

def run_ping():
    r = requests.post(
        "https://api.isp.tools/v1/ping",
        json={"target": TARGET},
        headers={"x-rapidapi-key": API_KEY, "x-rapidapi-host": "isp-tools.p.rapidapi.com"}
    )
    return r.json()

@app.route("/metrics")
def metrics():
    data = run_ping()
    avg = data.get("avg", 0)
    loss = data.get("loss", 0)

    text = ""
    text += f'isp_ping_latency_ms {{ target="{TARGET}" }} {avg}\n'
    text += f'isp_ping_loss_percent {{ target="{TARGET}" }} {loss}\n'

    return Response(text, mimetype="text/plain")

if __name__ == "__main__":
    app.run(port=9105, host="0.0.0.0")

    

O exporter faz um ping externo por requisição. Em produção você pode fazer caching, coletar várias métricas de vários hosts e expor tudo no mesmo endpoint.

Iniciando o exporter

Rode.

      python exporter.py
    

Acesse no navegador.

      http://localhost:9105/metrics
    

Você deve ver algo como:

      isp_ping_latency_ms { target="8.8.8.8" } 22
isp_ping_loss_percent { target="8.8.8.8" } 0
    

Configurando o Prometheus

Edite o prometheus.yml.

      scrape_configs:
  - job_name: isp_tools
    static_configs:
      - targets:
        - "192.168.1.10:9105"

    

Reinicie o Prometheus.

      systemctl restart prometheus

    

Agora ele coleta métricas automaticamente.

Criando um painel no Grafana

  • Acesse o Grafana
  • Adicione o Prometheus como datasource
  • Crie um painel
  • Use a métrica isp_ping_latency_ms

Exemplo de query.

      isp_ping_latency_ms

    

Para perda de pacotes.

      isp_ping_loss_percent

    

Você pode criar alertas como:

  • Latência acima de 50 ms
  • Perda maior que 2 porcento
  • Falha de coleta

Melhorias possíveis

  • Rodar múltiplos targets e expor como métricas diferentes
  • Executar traceroute externo e expor latência por hop
  • Salvar resultados no Prometheus para gerar gráficos de mudança de rota
  • Criar dashboards de rotas e estabilidade por ASN

Conclusão

Com poucos passos você integra o ISP.Tools ao Prometheus e ganha visibilidade externa real da sua rede. A combinação com Grafana traz gráficos claros e alertas que ajudam a detectar problemas antes dos usuários.

Picture of Giovane Heleno
Giovane Heleno
Founder of ISP.Tools and tamer of bad-tempered technology that insists on breaking precisely when it shouldn’t.

Related News

ISP.Tools survives thanks to ads.

Consider disabling your ad blocker.
We promise not to be intrusive.

Cookie Consent

We use cookies to improve your experience on our site.

By using our site you consent to cookies. Learn more