September 19, 2022

IslamicCoin ISLM HAQQ blok zincirinde Zabbix ile validatör durum izleme.

Kripto topluluğumuz, ayrıntılı bir rehber makale yazdığımız HAQQ Blockchain Tanık (witness) Yarışmasına katılıyor. Lütfen bu makaleyi destekleyin, beğenin, yeniden gönderin, yorum yapın ve arkadaşlarınıza ve ortaklarınıza gönderin.

Witness Buraq'ımıza destek olun! IslamicCoin ISLM ağında witness test ağını başlattık. Buraq, Kuran-ı Kerim'den gizemli bir hayvandır. Witness için oy verin, tokenleri devredin ve onu ana ağ validatörü yapalım! https://testnet.manticore.team/haqq/staking/haqqvaloper1cnwjx9r4q6d06jnudhzx9eadx4g8sq8hhw0jk7

Genel bilgiler

Zabbix (https://zabbix.com), IT altyapısı izleme sistemleri oluşturmak için açık kaynaklı bir yazılımdır. Esnek yapılandırma seçeneklerine sahip yerleşik araçlar, bir dizi gerekli parametre oluşturmanıza, dinamiklerini izlemenize ve kritik sınırların aşılması durumunda uyarılar oluşturmanıza olanak tanır.

İşin anlaşılmasını kolaylaştırmak için, zaten bir Zabbix sunucunuz olduğunu ve node sunucusunda zabbix-agent'ın kurulu olduğunu varsayacağız. Henüz mevcut değilse, kurulum ve yapılandırma talimatları resmi web sitesinde bulunabilir: https://www.zabbix.com/download.

İşbu kullanım klavuzunda, Zabbix sürüm 5.2.2'yi kullanır. Zabbix'in diğer sürümleri için adımlar benzerdir.

Node statüsü (node)

Çalışan node durumu şu komut kullanılarak elde edilebilir:

curl localhost:26657/status

Komut yürütmenin sonucu bir json bloğudur:

Alınan bilgilerde “latest_block_height”, “latest_block_time” ve “catching_up” değerleri izleme için önemlidir. Ana görev, node blokları kaçırmamasını ve ağın gerisinde kalmamasını sağlamaktır. 50 bloktan fazla geri kalırsa hapis ile sonuçlanır.

Aşamayı RPC gezgininden alınan verilere göre kontrol edebilirsiniz: https://haqq-t.rpc.manticore.team/status

Bir zabbix aracısı ayarlama

Zabbix ile json ayrıştırma kurulumu aşağıdaki adımlardan oluşacaktır:

1. Tüm json dizesini orijinal haliyle Zabbix'teki elemente geçiriyoruz.

2. Bağımlı elemanı kullanarak, gerekli değerlere sahip ayrı elementler elde ederiz.

3. Elde edilen değerleri amacına uygun olarak kullanırız.

İçerikle birlikte /etc/zabbix/scripts/valoperstatus.sh node durumunu almak için bir komut dosyası oluşturalım:

#!/bin/bash
curl localhost:26657/status -s -H "Kabul et: uygulama/json"

burada curl komutu, çıktısının fazladan satır içermemesi ve Zabbix sunucusunda ayrıştırılabilmesi için parametrelerle doldurulur.

Zabbix'te veri getirme, özel bir parametre işaretçisi kullanılarak oluşturulur.

Aşağıdaki içeriğe sahip bir /etc/zabbix/zabbix_agentd.d/haqq.conf dosyası oluşturun:

UserParameter=valoperstatus,/etc/zabbix/scripts/valoperstatus.sh

yürütülebilir dosyaya statü atamayı unutmayın

chmod +x /etc/zabbix/scripts/valoperstatus.sh

zabbix-agent'ı kaydedin ve yeniden başlatın:

systemctl restart zabbix-agent

json'un istenen biçimde hatasız ve başka problemler olmadan doğru bir şekilde iletildiğini kontrol ediyoruz:

zabbix_agentd -t valoperstatus

Çıkışta aynı json olmalıdır. Bu, zabbix-agent yapılandırmasını tamamlar, şimdi Zabbix sunucusunu yapılandıracağız.

Zabbix sunucusu kurma

Sunucuda bir Haqq Veloper şablonu oluşturuyoruz ve buna durum anahtarı valu operar ile bir Variopedatus elementi ekliyoruz:

İşbu element zabbix-agent isteyecek ve json bloğunu alacaktır. Çalışmayı en son veriler bölümünde kontrol edebilirsiniz:

Form kayıtları aşağıdaki gibi görünmelidir:

Ardından, ihtiyacımız olan değerleri almak için bu json bloğunu ayrıştırmamız gerekiyor. “Dependent” (bağımlı element) türünde yeni bir veri öğesi oluşturma ve latest_block_height çağırma:

Ön İşleme sekmesinde bir ayrıştırma kuralı oluşturun. JSONPath'i ve $.result.sync_info.latest_block_height parametresini seçin

latest_block_height değeriyle ilgili verilerin gelmeye başladığını kontrol ediyoruz:

Benzer şekilde, catching_up parametresi için bir element oluşturuyoruz:

Şimdi Zabbix sunucusunun node'den gerekli tüm parametreleri aldığını kontrol ediyoruz:

Sonraki adım, RPC explorer'den latest_block_height değerini almayı yapılandırmaktır. Bunu yapmak için, HTTP aracı türü ve https://haqq-t.rpc.manticore.team/status URL'si ile bir haqq-t.rpc.manticore.team element oluşturulur. Alınan veri türünü metne ayarlayın.

Ardından benzetme yoluyla, ön işleme ile rpc.latest_block_height bağımlı bir element oluştururuz:

Artık sunucu hem bizim sunucumuzdan hem de RPC explorer'den latest_block_height değerlerini alıyor. Geriye, biriktirme listesi hakkında bildirimde bulunmak ve catching_up parametresinin durumunu değiştirmek için tetikleyiciler oluşturmak kalır.

Bir delta_latest_block_height tetikleyici oluşturun ve İfade bölümüne bir ifade girin:

{Haqq Valoper:rpc.latest_block_height.last()}-{Haqq Valoper:latest_block_height.last()}>10

bu formül, sunucudaki ve RPC explorerdeki latest_block_height karşılaştırır. 10'u aşarsa, bir yönetici uyarısı oluşturulur.

Başka bir tetikleyici, catching_up bir değişiklik olup olmadığını kontrol edecektir. catching_up tetikleyicisini çağıralım ve formülü ayarlayalım:

{Haqq Valoper:catching_up.last()}=”true”

catching_up tetikleyicisinin ekran görüntüsü:

Bu, latest_block_height и catching_up anahtarlarını kullanarak node izleme oluşturma işlemini tamamlar. Bu ayarlar değiştirilirse, yönetici bilgilendirilecek ve zamanında yanıt verilecektir.

Telegram sohbetimizde blok zinciri, kripto para birimleri, İslami finans ve helal yatırımlar konusundaki en ilginç ve faydalı bilgiler.