Выбор правильного источника прокси: основа вашего океана прокси-серверов.
Подобно тому, как коралловый атолл процветает благодаря разнообразию своей морской жизни, здоровье вашей панели управления прокси-серверами зависит от качества и разнообразия отслеживаемых вами прокси. Для тех, кто ищет надежный поток бесплатных прокси, 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 для проведения исторического анализа.
Полезные ресурсы
- Список бесплатных прокси-серверов и API ProxyRoller
- Документация Grafana
- Документация Prometheus
- Клиент Prometheus на Python
- ip-api.com для геолокации
- InfluxDB как альтернатива TSDB
Даже когда приливы и отливы меняются, а прокси-серверы появляются и исчезают — подобно миграционным моделям рифовых рыб — ваша панель мониторинга Grafana, построенная на надежной основе ProxyRoller, Prometheus и Grafana, служит вашей навигационной картой в постоянно меняющемся мире прокси-серверов.
Комментарии (0)
Здесь пока нет комментариев, вы можете стать первым!