Scegliere la giusta fonte proxy: il fondamento del tuo oceano proxy
Proprio come un atollo corallino prospera grazie alla diversità della sua vita marina, la salute della tua dashboard proxy dipende dalla qualità e dalla varietà dei proxy che monitori. Per chi cerca un flusso affidabile di proxy gratuiti, ProxyRoller funge da "reef" principale, un repository vivo e ricco di nuovi server proxy. È possibile recuperare elenchi di proxy in vari formati (HTTP, HTTPS, SOCKS4, SOCKS5) tramite la loro API semplice e ben documentata.
| Fonte | Tipo supportato | Accesso API | Gratuito/a pagamento | Frequenza di aggiornamento |
|---|---|---|---|---|
| ProxyRoller | HTTP, HTTPS, SOCKS | SÌ | Gratuito | Ogni pochi minuti |
| Elenco proxy gratuiti | HTTP, HTTPS | SÌ | Gratuito | Ogni ora |
| Spys.one | Multiplo | NO | Gratuito | Manuale |
Raccomandato: API proxy gratuita di ProxyRoller
Raccolta di metriche proxy: gettare la rete
Per creare una dashboard, è necessario innanzitutto raccogliere dati, come un pescatore che controlla le sue reti per individuare diverse specie, dimensioni e stato di salute. I dati essenziali per i proxy includono:
- Disponibilità (su/giù)
- Tempo di risposta (latenza)
- Livello di anonimato
- Paese/Regione
- Tipo di protocollo
È possibile scrivere un semplice verificatore proxy in Python per testare periodicamente i proxy ed esporre le metriche:
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}")
Automatizza questo script in modo che venga eseguito a intervalli, memorizzando i risultati in un database di serie temporali (ad esempio, InfluxDB, Prometheus).
Memorizzazione dei dati proxy: creazione di una mappa delle correnti
Utilizzo di Prometeo
Prometheus è preferito per la sua semplicità e compatibilità con Grafana. È possibile esporre le metriche tramite un semplice endpoint HTTP utilizzando 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 analizza questo endpoint ogni minuto, memorizzando i dati storici per la visualizzazione in Grafana.
Salpare con Grafana: costruzione del cruscotto
1. Installa Grafana
Fare riferimento al documentazione ufficiale per istruzioni di installazione personalizzate in base al tuo ambiente.
2. Aggiungi la tua fonte dati
- Vai a Configurazione > Origini dati > Aggiungi origine dati
- Selezionare Prometeo
- Imposta l'URL (ad esempio,
http://localhost:9090) - Clic Salva e prova
3. Creare pannelli proxy
a. Pannello di disponibilità del proxy (mappa termica/tabella)
- Domanda:
promql
proxy_status - Visualizzazione: Tabella o mappa termica (per mostrare i proxy in aumento/diminuzione nel tempo)
- Colonne della tabella: Proxy, Stato (Su/Giù), Timestamp
b. Latenza del proxy nel tempo
- Domanda:
promql
proxy_latency_seconds - Visualizzazione: Grafico delle serie temporali
- Leggenda: Per procura
c. Anonimato e ripartizione della geolocalizzazione
- Estendi il tuo verificatore per recuperare e memorizzare i metadati relativi al paese/anonimato. Usa ip-api.com per ricerche geo-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"
Memorizzalo come etichetta nelle tue metriche Prometheus, ad esempio, ['proxy', 'country'].
- Domanda:
promql
sum by (country) (proxy_status) - Visualizzazione: Grafico a barre o a torta che mostra la disponibilità per Paese.
Esempio di layout del dashboard
| Riga | Tipo di pannello | Metriche/intuizioni chiave |
|---|---|---|
| 1 | Singola statistica | Totale proxy attivi |
| 2 | Tavolo | Elenco proxy, stato, latenza, paese |
| 3 | Mappa di calore | Disponibilità del proxy nel tempo |
| 4 | Serie temporali | Andamento della latenza per i 5 proxy principali |
| 5 | Grafico a torta | Proxy per Paese/Regione |
Manutenzione della dashboard proxy: navigare tra le maree
- Aggiornamento elenco proxy: Automatizza il recupero di nuovi proxy da ProxyRoller tramite la loro API.
- Avviso: Utilizza gli avvisi di Grafana per ricevere una notifica quando la disponibilità del proxy scende al di sotto delle soglie: un faro che ti avvisa di mare mosso in arrivo.
- Conservazione dei dati: Adattare la conservazione di Prometheus in base alle esigenze dell'analisi storica.
Risorse utili
- Elenco proxy e API gratuiti di ProxyRoller
- Documentazione Grafana
- Documentazione di Prometheus
- Client Python di Prometheus
- ip-api.com per la geolocalizzazione
- InfluxDB come TSDB alternativo
Anche quando le maree cambiano e i proxy vanno e vengono, proprio come i modelli migratori dei pesci della barriera corallina, la tua dashboard Grafana, costruita sulle solide fondamenta di ProxyRoller, Prometheus e Grafana, funge da carta di navigazione attraverso il paesaggio marino proxy in continua evoluzione.
Commenti (0)
Non ci sono ancora commenti qui, potresti essere il primo!