Grafana ile Proxy Kontrol Paneli Nasıl Oluşturulur?

Grafana ile Proxy Kontrol Paneli Nasıl Oluşturulur?

Doğru Proxy Kaynağını Seçmek: Proxy Okyanusunuzun Temel Taşı

Tıpkı bir mercan adasının deniz yaşamının çeşitliliğine bağlı olarak gelişmesi gibi, proxy kontrol panelinizin sağlığı da izlediğiniz proxy'lerin kalitesine ve çeşitliliğine bağlıdır. Güvenilir bir ücretsiz proxy akışı arayanlar için, ProxyRoller Bu, sürekli güncellenen proxy sunucularıyla dolu, yaşayan bir veri deposu olan ana "resif" görevi görüyor. Basit ve iyi belgelenmiş API'leri aracılığıyla çeşitli formatlarda (HTTP, HTTPS, SOCKS4, SOCKS5) proxy listeleri alabilirsiniz.

Kaynak Desteklenen Türler API Erişimi Ücretsiz/Ücretli Güncelleme Sıklığı
ProxyRoller HTTP, HTTPS, SOCKS Evet Özgür Her birkaç dakikada bir
ÜcretsizProxyListesi HTTP, HTTPS Evet Özgür Saatlik
Casuslar.bir Çoklu HAYIR Özgür Manuel

Tavsiye edilen: ProxyRoller Ücretsiz Proxy API'si


Vekil Metrikleri Toplama: Ağı Atma

Bir gösterge paneli oluşturmak için öncelikle ölçümler toplamanız gerekir; tıpkı bir balıkçının ağlarını farklı türler, boyutlar ve sağlık açısından kontrol etmesi gibi. Vekil göstergeler için temel ölçümler şunlardır:

  • Müsaitlik (Yukarı/Aşağı)
  • Yanıt Süresi (Gecikme)
  • Anonimlik Seviyesi
  • Ülke/Bölge
  • Protokol Türü

Python dilinde, proxy'leri periyodik olarak test eden ve ölçümler sunan basit bir proxy denetleyicisi yazılabilir:

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

Bu komut dosyasını belirli aralıklarla çalışacak şekilde otomatikleştirin ve sonuçları bir zaman serisi veritabanına (örneğin, InfluxDB, Prometheus) kaydedin.


Proxy Verilerinin Depolanması: Bir Akım Haritası Oluşturma

Prometheus Kullanımı

Prometheus, basitliği ve Grafana uyumluluğu nedeniyle tercih ediliyor. Metrikleri basit bir HTTP uç noktası üzerinden şu şekilde sunabilirsiniz: prometheus_istemcisi:

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 bu uç noktadan her dakika veri toplayarak Grafana görselleştirmesi için geçmiş verileri depoluyor.


Grafana ile Yelken Açmak: Gösterge Paneli Oluşturma

1. Grafana'yı yükleyin.

Şuna bakın: resmi dokümanlar Ortamınıza uygun kurulum talimatları için.

2. Veri Kaynağınızı Ekleyin

  • Şuraya git: Yapılandırma > Veri Kaynakları > Veri kaynağı ekle
  • Seçme Prometheus
  • URL'yi ayarlayın (örneğin, http://localhost:9090)
  • Tıklamak Kaydet ve Test Et

3. Proxy Panelleri Oluşturun

a. Proxy Kullanılabilirliği Paneli (Isı Haritası/Tablo)

  • Sorgu:
    promql
    proxy_status
  • Görselleştirme: Tablo veya Isı Haritası (zaman içinde artan/azalan proxy'leri göstermek için)
  • Tablo Sütunları: Proxy, Durum (Çalışıyor/Çalışmıyor), Zaman Damgası

b. Zaman İçinde Vekil Sunucu Gecikmesi

  • Sorgu:
    promql
    proxy_latency_seconds
  • Görselleştirme: Zaman serisi grafiği
  • Efsane: Vekaleten

c. Anonimlik ve Coğrafi Konum Dağılımı

  • Denetleyicinizi ülke/anonimlik meta verilerini almak ve saklamak üzere genişletin. Kullanın ip-api.com coğrafi IP sorgulamaları için.
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"

Bunu Prometheus metriklerinizde bir etiket olarak saklayın, örneğin:, ['proxy', 'country'].

  • Sorgu:
    promql
    sum by (country) (proxy_status)
  • Görselleştirme: Ülkelere göre kullanılabilirliği gösteren çubuk veya pasta grafiği.

Kontrol Paneli Örnek Düzeni

Sıra Panel Tipi Temel Ölçüt/Analiz
1 Tek İstatistik Toplam Aktif Proxy Sayısı
2 Masa Proxy Listesi, Durum, Gecikme Süresi, Ülke
3 Isı haritası Zaman İçinde Vekil Sunucu Kullanılabilirliği
4 Zaman Serisi En İyi 5 Proxy için Gecikme Trendi
5 Pasta Grafiği Ülke/Bölgeye Göre Vekil Sunucular

Proxy Kontrol Panelinizi Yönetmek: Dalgalanmalarda Yol Almak

  • Proxy Listesini Yenile: Yeni proxy'leri otomatik olarak alma işlemini gerçekleştirin. ProxyRoller API'leri aracılığıyla.
  • Uyarı: Proxy kullanılabilirliği eşik değerlerin altına düştüğünde sizi bilgilendirmek için Grafana uyarı sistemini kullanın; bu, önümüzdeki zorlu koşulların habercisi niteliğinde bir uyarı işaretidir.
  • Veri Saklama: Tarihsel analiz için Prometheus saklama süresini gerektiği gibi ayarlayın.

Yararlı Kaynaklar


Gelgitler değişse ve vekil veriler gelip gitse bile –tıpkı resif balıklarının göç desenleri gibi– ProxyRoller, Prometheus ve Grafana'nın sağlam temeli üzerine kurulu Grafana kontrol paneliniz, sürekli değişen vekil veriler denizinde size yol gösteren bir harita görevi görür.

Maahir Zahir

Maahir Zahir

Baş Teknoloji Sorumlusu

Maahir Zahir, BT sektöründe 30 yılı aşkın deneyime sahip deneyimli bir teknoloji uzmanıdır. ProxyRoller'da Baş Teknoloji Sorumlusu olarak, dünya çapındaki kullanıcılar için benzersiz gizlilik ve hız sağlayan son teknoloji proxy çözümlerinin geliştirilmesine öncülük etmektedir. Malé'de doğup büyüyen Maahir, teknoloji ve inovasyona her zaman büyük ilgi duymuştur ve bu da onu Maldivler'in teknoloji topluluğunda önemli bir figür haline getirmiştir.

Yorumlar (0)

Burada henüz yorum yok, ilk siz olabilirsiniz!

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir