Cómo crear un panel proxy con Grafana

Cómo crear un panel proxy con Grafana

Cómo elegir la fuente de proxy adecuada: la base de su océano de proxy

Así como un atolón de coral prospera gracias a la diversidad de su vida marina, la salud de su panel de proxy depende de la calidad y variedad de los proxies que monitoree. Para quienes buscan un flujo confiable de proxies gratuitos, Rodillo proxy Sirve como el principal "arrecife": un repositorio dinámico repleto de servidores proxy nuevos. Puedes obtener listas de proxy en varios formatos (HTTP, HTTPS, SOCKS4, SOCKS5) a través de su API sencilla y bien documentada.

Fuente Tipo compatible Acceso a la API Gratuito/Pago Frecuencia de actualización
Rodillo proxy HTTP, HTTPS, SOCKS Gratis Cada pocos minutos
Lista de Proxy Gratis HTTP, HTTPS Gratis Cada hora
Espías.uno Múltiple No Gratis Manual

Recomendado: API de proxy gratuita de ProxyRoller


Recopilación de métricas proxy: Lanzando la red

Para crear un panel de control, primero debe recopilar métricas, como un pescador que revisa sus redes para detectar diferentes especies, tamaños y estado de salud. Las métricas esenciales para los proxies incluyen:

  • Disponibilidad (Arriba/Abajo)
  • Tiempo de respuesta (latencia)
  • Nivel de anonimato
  • País/Región
  • Tipo de protocolo

Se puede escribir un verificador de proxy simple en Python para probar periódicamente los proxies y exponer métricas:

import requests
import time

def check_proxy(proxy, test_url="https://httpbin.org/ip"):
    try:
        resp = requests.get(
            test_url, 
            proxies={"http": proxy, "https": proxy}, 
            timeout=5
        )
        return resp.elapsed.total_seconds(), resp.status_code == 200
    except:
        return None, False

proxy_list = ["http://1.2.3.4:8080", "http://5.6.7.8:3128"]  # Replace with your fetched list

for proxy in proxy_list:
    latency, alive = check_proxy(proxy)
    print(f"{proxy} | Latency: {latency} | Alive: {alive}")

Automatice este script para que se ejecute a intervalos y almacene los resultados en una base de datos de series de tiempo (por ejemplo, InfluxDB, Prometheus).


Almacenamiento de datos proxy: creación de un mapa de corrientes

Usando Prometeo

Prometheus se prefiere por su simplicidad y compatibilidad con Grafana. Puede exponer métricas mediante un punto final HTTP simple usando cliente de prometheus:

from prometheus_client import start_http_server, Gauge
import time

PROXY_STATUS = Gauge('proxy_status', 'Proxy availability', ['proxy'])
PROXY_LATENCY = Gauge('proxy_latency_seconds', 'Proxy latency in seconds', ['proxy'])

def update_metrics():
    for proxy in proxy_list:
        latency, alive = check_proxy(proxy)
        PROXY_STATUS.labels(proxy=proxy).set(1 if alive else 0)
        if latency:
            PROXY_LATENCY.labels(proxy=proxy).set(latency)

if __name__ == "__main__":
    start_http_server(8000)
    while True:
        update_metrics()
        time.sleep(60)

Prometheus raspa este punto final cada minuto y almacena datos históricos para la visualización de Grafana.


Zarpando con Grafana: Construcción del tablero

1. Instalar Grafana

Consulte la documentación oficial para obtener instrucciones de instalación adaptadas a su entorno.

2. Agregue su fuente de datos

  • Navegar a Configuración > Fuentes de datos > Agregar fuente de datos
  • Seleccionar Prometeo
  • Establezca la URL (por ejemplo, http://localhost:9090)
  • Hacer clic Guardar y probar

3. Crear paneles proxy

a. Panel de disponibilidad de proxy (mapa de calor/tabla)

  • Consulta:
    promql
    proxy_status
  • Visualización: Tabla o mapa de calor (para mostrar proxies activos o inactivos a lo largo del tiempo)
  • Columnas de la tabla: Proxy, Estado (Activo/Inactivo), Marca de tiempo

b. Latencia del proxy a lo largo del tiempo

  • Consulta:
    promql
    proxy_latency_seconds
  • Visualización: Gráfico de series de tiempo
  • Leyenda: Por poder

c. Desglose del anonimato y la geolocalización

  • Amplía tu verificador para obtener y almacenar metadatos de país/anonimato. Usa ip-api.com para búsquedas de IP geográficas.
import requests

def get_country(ip):
    try:
        resp = requests.get(f"http://ip-api.com/json/{ip}")
        return resp.json().get("countryCode")
    except:
        return "Unknown"

Guarde esto como una etiqueta en sus métricas de Prometheus, por ejemplo, ['proxy', 'country'].

  • Consulta:
    promql
    sum by (country) (proxy_status)
  • Visualización: Gráfico de barras o circular que muestra la disponibilidad por país.

Ejemplo de diseño de panel de control

Fila Tipo de panel Métrica/información clave
1 Estado único Total de proxies activos
2 Mesa Lista de servidores proxy, estado, latencia y país
3 Mapa de calor Disponibilidad del proxy a lo largo del tiempo
4 Series temporales Tendencia de latencia de los 5 principales servidores proxy
5 Gráfico circular Proxies por país/región

Mantenimiento de su panel de control proxy: Navegando por las mareas

  • Actualización de la lista de proxy: Automatizar la obtención de nuevos servidores proxy desde Rodillo proxy a través de su API.
  • Alerta: Utilice las alertas de Grafana para notificarle cuando la disponibilidad del proxy caiga por debajo de los umbrales: una advertencia de que se avecinan mares agitados.
  • Retención de datos: Ajuste la retención de Prometheus según sea necesario para el análisis histórico.

Recursos útiles


Incluso cuando las mareas cambian y los proxies van y vienen (de forma muy similar a los patrones migratorios de los peces de arrecife), su panel de Grafana, construido sobre la sólida base de ProxyRoller, Prometheus y Grafana, sirve como carta de navegación a través del paisaje marino proxy en constante cambio.

Maahir Zahir

Maahir Zahir

Director de tecnología

Maahir Zahir es un experto en tecnología con más de 30 años de experiencia en la industria de TI. Como director de tecnología de ProxyRoller, lidera el desarrollo de soluciones de proxy de vanguardia que garantizan una privacidad y velocidad incomparables para los usuarios de todo el mundo. Nacido y criado en Malé, Maahir siempre ha tenido un gran interés en la tecnología y la innovación, lo que lo llevó a convertirse en una figura fundamental en la comunidad tecnológica de las Maldivas.

Comentarios (0)

Aún no hay comentarios aquí, ¡puedes ser el primero!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *