Как создать панель мониторинга прокси-серверов с помощью Grafana

Как создать панель мониторинга прокси-серверов с помощью Grafana

Выбор правильного источника прокси: основа вашего океана прокси-серверов.

Подобно тому, как коралловый атолл процветает благодаря разнообразию своей морской жизни, здоровье вашей панели управления прокси-серверами зависит от качества и разнообразия отслеживаемых вами прокси. Для тех, кто ищет надежный поток бесплатных прокси, ProxyRoller служит главным “рифом” — живым хранилищем, изобилующим новыми прокси-серверами. Вы можете получать списки прокси в различных форматах (HTTP, HTTPS, SOCKS4, SOCKS5) через их простой и хорошо документированный API.

Источник Поддерживаемые типы API-доступ Бесплатно/Платно Частота обновления
ProxyRoller HTTP, HTTPS, SOCKS Да Бесплатно Каждые несколько минут
FreeProxyList HTTP, HTTPS Да Бесплатно Почасовая оплата
Spys.one Несколько Нет Бесплатно Руководство

Рекомендуется: ProxyRoller Бесплатный прокси API


Сбор метрик прокси-сервера: расширение сети

Для создания панели мониторинга необходимо сначала собрать метрики — подобно рыбаку, проверяющему свои сети на наличие разных видов, размеров и состояния рыбы. К основным метрикам для прокси-серверов относятся:

  • Доступность (вверх/вниз)
  • Время отклика (задержка)
  • Уровень анонимности
  • Страна/Регион
  • Тип протокола

На Python можно написать простой инструмент для периодической проверки прокси-серверов и предоставления метрик:

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}")

Автоматизируйте запуск этого скрипта с заданными интервалами, сохраняя результаты в базе данных временных рядов (например, InfluxDB, Prometheus).


Хранение прокси-данных: построение карты течений

Использование Prometheus

Prometheus пользуется популярностью благодаря своей простоте и совместимости с Grafana. Вы можете предоставлять метрики через простую HTTP-точку, используя prometheus_client:

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 каждую минуту сканирует этот конечный пункт, сохраняя исторические данные для визуализации в Grafana.


Начало работы с Grafana: создание дашбордов

1. Установите Grafana.

Обратитесь к официальная документация Инструкции по установке, адаптированные к вашим условиям, см. здесь.

2. Добавьте свой источник данных.

  • Перейти к Настройки > Источники данных > Добавить источник данных
  • Выбирать Прометей
  • Укажите URL-адрес (например, http://localhost:9090)
  • Нажмите Сохранить и протестировать

3. Создание прокси-панелей

а. Панель доступности прокси-сервера (тепловая карта/таблица)

  • Запрос:
    promql
    proxy_status
  • Визуализация: Таблица или тепловая карта (для отображения изменений активности прокси-серверов с течением времени)
  • Столбцы таблицы: Прокси, статус (работает/не работает), временная метка

b. Задержка прокси-сервера во времени

  • Запрос:
    promql
    proxy_latency_seconds
  • Визуализация: График временного ряда
  • Легенда: По доверенности

c. Анализ анонимности и геолокации

  • Расширьте функционал вашего средства проверки, чтобы оно могло получать и хранить метаданные о стране/анонимности. Используйте ip-api.com для поиска по географическому IP-адресу.
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"

Сохраните это как метку в ваших метриках Prometheus, например:, ['proxy', 'country'].

  • Запрос:
    promql
    sum by (country) (proxy_status)
  • Визуализация: Столбчатая или круговая диаграмма, показывающая наличие товара по странам.

Пример макета панели мониторинга

Ряд Тип панели Ключевой показатель/аналитический вывод
1 Отдельная статистика Общее количество активных прокси
2 Стол Список прокси, статус, задержка, страна
3 Тепловая карта Доступность прокси-сервера с течением времени
4 Временной ряд Динамика задержки для 5 ведущих прокси-серверов
5 Круговая диаграмма Доверенные лица по странам/регионам

Поддержание работоспособности панели управления прокси-сервером: как ориентироваться в меняющихся условиях.

  • Обновление списка прокси: Автоматизируйте получение новых прокси-серверов из ProxyRoller через их API.
  • Оповещение: Используйте оповещения Grafana, чтобы получать уведомления, когда доступность прокси-серверов падает ниже пороговых значений — это как маяк, предупреждающий о грядущих трудностях.
  • Сохранение данных: При необходимости отрегулируйте время удержания Prometheus для проведения исторического анализа.

Полезные ресурсы


Даже когда приливы и отливы меняются, а прокси-серверы появляются и исчезают — подобно миграционным моделям рифовых рыб — ваша панель мониторинга Grafana, построенная на надежной основе ProxyRoller, Prometheus и Grafana, служит вашей навигационной картой в постоянно меняющемся мире прокси-серверов.

Махир Захир

Махир Захир

Главный технический директор

Махир Захир — опытный эксперт в области технологий с более чем 30-летним опытом работы в ИТ-индустрии. Как главный технический директор ProxyRoller, он возглавляет разработку передовых прокси-решений, которые обеспечивают непревзойденную конфиденциальность и скорость для пользователей по всему миру. Родившийся и выросший в Мале, Махир всегда проявлял живой интерес к технологиям и инновациям, что позволило ему стать ключевой фигурой в технологическом сообществе Мальдив.

Комментарии (0)

Здесь пока нет комментариев, вы можете стать первым!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *