زیببکس خود بخود ڈسک کو تلاش کرتا ہے io استعمال نگرانی

Zabbix Automatically Discovers Disk Io Util Monitoring



I. Iostat

زبیبکس ڈسک کی IO کارکردگی کی نگرانی کے لئے ایک ٹیمپلیٹ فراہم نہیں کرتا ہے ، لہذا ہمیں خود ایک تخلیق کرنے کی ضرورت ہے۔ Iostat بنیادی طور پر سسٹم کے سامان کے IO بوجھ کی نگرانی کے لئے استعمال کیا جاتا ہے۔ جب آئی او ایس ٹی پہلی مرتبہ چلتا ہے ، تو یہ نظام کے آغاز سے مختلف اعداد و شمار ظاہر کرتا ہے۔ آئوسٹیٹ چلانے کے بعد ، یہ کمان کے آخری بار چلانے کے بعد سے اعداد و شمار ظاہر کرے گا۔ صارف اعدادوشمار کی تعداد اور وقت کی وضاحت کرکے مطلوبہ اعدادوشمار حاصل کرسکتے ہیں۔ لہذا جب Iostat کا استعمال کرتے ہوئے سسٹم IO بوجھ کی نگرانی کریں ، تو iosat براہ راست نتیجہ نہ لیں ، لیکن iostat -dxkt 1 2 نتیجہ لیں ، ورنہ حاصل کردہ ڈیٹا درست نہیں



عام پیرامیٹر کی وضاحت Iostat
-c # صرف CPU کے اعداد و شمار دکھائیں۔ یہ آپشن کے ساتھ باہمی خصوصی ہے۔
-d # صرف ڈسک کے اعداد و شمار دکھاتا ہے۔ یہ -c آپشن کے ساتھ باہمی خصوصی ہے۔
-k # K ، ڈیفالٹ یونٹ بلاک میں فی سیکنڈ ڈسک کی درخواستوں کی تعداد دکھاتا ہے۔
-t # جب ڈیٹا پرنٹ کرتے ہو تو ڈیٹا اکٹھا کرنے کے لئے پرنٹ کریں۔
-V # ورژن نمبر اور مدد کی معلومات پرنٹ کریں۔
-x # آؤٹ پٹ توسیع کی معلومات۔




اوسط-سی پی یو طبقہ:
٪ صارف: سی پی یو کا فیصد جو صارف کی سطح پر چلتا ہے۔
٪ اچھا: اچھا آپریشن کے ذریعہ استعمال کردہ CPU کا فیصد۔
٪ sys: سی پی یو کا فیصد جو سسٹم لیول (دانا) پر استعمال ہوتا ہے۔
٪ iowait: CPU جو فی صد CPU استعمال کرتا ہے جب ہارڈ ویئر I / O کے انتظار میں ہوتا ہے۔
٪ بیکار: CPU بیکار وقت کا فیصد۔
آلہ طبقہ:
tps: I / O درخواستوں کی تعداد فی سیکنڈ بھیجی گئی۔
Blk_read / s: ہر سیکنڈ میں پڑھے گئے بلاکس کی تعداد۔
Blk_wrtn / s: فی سیکنڈ لکھے گئے بلاکس کی تعداد۔
بلاک_ریڈ: پڑھے گئے بلاکس کی کل تعداد۔
Blk_wrtn: لکھے ہوئے بلاکس کی کل تعداد۔




rrqm / s: پڑھنے کی درخواستوں کی تعداد فی سیکنڈ
wrqm / s: تحریری درخواستوں کی تعداد فی سیکنڈ میں ضم ہوگ.
r / s: ہر سیکنڈ میں مکمل پڑھنے کی تعداد
w / s: لکھنے کی تعداد فی سیکنڈ
rkB / s: ڈیٹا فی سیکنڈ پڑھیں (kb)
wkB / s: ڈیٹا فی سیکنڈ لکھیں (kb)
avgrq-sz: فی IO درخواست کے مطابق اوسط سیکٹر کا سائز
avgqu-sz: فی IO درخواست کی قطار کی اوسط لمبائی (اس سے چھوٹا بہتر)
انتظار کریں: ہر IO درخواست کے لئے اوسطا انتظار وقت (ملی سیکنڈ میں)۔ عام نظام IO انتظار کا وقت 5 ملی میٹر سے کم ہونا چاہئے۔ اگر یہ 10 ایم ایم سے زیادہ ہے تو ، یہ زیادہ لمبا ہوگا۔ اس وقت میں قطار کا وقت اور خدمت کا وقت شامل ہے۔ اس کا کہنا ہے کہ ، عام طور پر ، انتظار کرنا ایس سی سی ٹی ایم سے زیادہ ہے۔ فرق جتنا چھوٹا ہے ، قطار کا وقت بھی چھوٹا ہے۔ فرق جتنا بڑا ہے ، قطار کا لمبا لمبا وقت یہ بتاتا ہے کہ نظام ختم ہوچکا ہے۔ مسئلہ.
r_await: پڑھنے میں اوسطا اوسط وقت (ملی سیکنڈ)
w_await: اوسط لکھنے کا وقت (ایم ایس)
ایس سی سی ٹی ایم: اوسطا IO درخواست پروسیسنگ ٹائم (ملی سیکنڈ) ، اگر ایسوی سی ٹی ایم کی قیمت انتظار کرنے کے قریب ہے ، تو اس کا مطلب یہ ہے کہ I / O انتظار قریب ہی نہیں ہے ، ڈسک کی کارکردگی بہت اچھی ہے ، اگر انتظار کی قدر کہیں زیادہ ہو تو ایس سی سی ٹی ایم کا مطلب ہے کہ I / O قطار بہت لمبی انتظار کرتی ہے اور سسٹم پر چلنے والی ایپلی کیشن سست ہوجائے گی۔
٪ Use: IO قطار خالی نہیں ہے ، اس پیرامیٹر سے یہ ظاہر ہوتا ہے کہ آلہ کتنا مصروف ہے۔ عام طور پر ، اگر پیرامیٹر 100٪ ہے تو ، آلہ پہلے ہی پوری صلاحیت سے چل رہا ہے۔

دوسرا ، نگرانی والے پہلو پر خودکار دریافت اور مانیٹرنگ ڈسک IO اسکرپٹ لکھیں

اسکرپٹ ڈائرکٹری /etc/zabbix/zabbix_agentd.d/scriptts

1 ، ڈسک کی دریافت اسکرپٹ
ڈسک_ڈسکووری.ش
#! / بن / باز
ڈسکارے = (`بلی / پرو / ڈسک اسٹٹس | گریپ-ای ' بی ایس ڈی [از] بی | x بی ایکس وی ڈی [ازی] بی | v بی وی ڈی [اژ] بی' | اونک '{پرنٹ $ 3}' | ترتیب دیں | یونق 2> / دیو / نول)
لمبائی = $ {# ناکارہ [@]
printf '{ n'
printf ' t' '' ڈیٹا ': ['
((i = 0i) کیلئے<$lengthi++))
کیا
printf ' n t t {'
printf '' {# DISK_NAME} ': ' $ {diskarray [$ i]} '}'
اگر [$ i -lt $ [$ لمبائی -1]] پھر
printf '،'
ہو
کیا
printf ' n t] n'
printf '} n'



2 ، ڈسک io مانیٹرنگ اسکرپٹ
Disc_status.sh
# / بن / ش
ڈیوائس = $ 1
ڈسک = $ 2
کیس IS ڈسک میں
rrqm)
iostat -dxkt 1 2 | grep ' b $ ڈیوائس b' | دم -1 | awk '{پرنٹ $ 2}'

آرکیمیم)
iostat -dxkt 1 2 | grep ' b $ ڈیوائس b' | دم -1 | awk '{پرنٹ $ 3}'

آر پی ایس)
iostat -dxkt 1 2 | grep ' b $ ڈیوائس b' | دم -1 | awk '{پرنٹ $ 4}'

ڈبلیو پی ایس)
iostat -dxkt 1 2 | grep ' b $ ڈیوائس b' | دم -1 | awk '{پرنٹ $ 5 $'

rKBps)
iostat -dxkt 1 2 | grep ' b $ ڈیوائس b' | دم -1 | awk '{پرنٹ $ 6}'

wKBps)
iostat -dxkt 1 2 | grep ' b $ ڈیوائس b' | دم -1 | awk '{پرنٹ $ 7}'

avgrq-sz)
iostat -dxkt 1 2 | grep ' b $ ڈیوائس b' | دم -1 | awk '{پرنٹ $ 8}'

avgqu-sz)
iostat -dxkt 1 2 | grep ' b $ ڈیوائس b' | دم -1 | awk '{پرنٹ $ 9}'

انتظار کریں)
iostat -dxkt 1 2 | grep ' b $ ڈیوائس b' | دم -1 | awk '{پرنٹ $ 10 $'

ایس سی سی ٹی ایم)
iostat -dxkt 1 2 | grep ' b $ ڈیوائس b' | دم -1 | awk '{پرنٹ $ 11}'

مفید)
iostat -dxkt | grep ' b $ ڈیوائس b' | دم -1 | awk '{پرنٹ $ 12}'

ایساک

3 ، زیبکس ترتیب فائل
یوزر پیراومیٹر = ڈسک۔ ڈسکوری [*] ، / وغیرہ / زبیبکس / زبیبکس_اجنٹ ڈی ڈی / اسکرپٹ / ڈسک_ڈیسکووری.ش
یوزر پیراومیٹر = ڈسک۔سٹاٹس [*] ، / وغیرہ / زبیبکس / زبیبکس_اجنٹ ڈی ڈی / اسکرپٹ / ڈسک_سٹاٹس.ش $ 1 $ 2
4 ، کلائنٹ سروس کو دوبارہ شروع کریں
5 ، سرور سائیڈ پر ٹیسٹ
zabbix_get -s 192.168.1.211 -k 'Disc.discovery [*]

تیسرا ، زبیبکس کنسول آپریشن

1 ، تشکیل - ٹیمپلیٹ - ٹیمپلیٹ OS لنکس - خود کار طریقے سے دریافت کے قواعد - دریافت کے قواعد تشکیل دیں

2 ، مانیٹرنگ آئٹم پروٹو ٹائپ (کلیدی قیمت کی قیمت [] کو بڑے پیمانے پر بنانا ہوگا ، بصورت دیگر یہ کسی غلطی کی اطلاع دے گا)
آئٹم نہیں بنایا جاسکتا: ایک ہی کلیدی 'ڈسکیو. ایکس. [[xxxxxxx]] والا آئٹم پہلے ہی موجود ہے

3 ، گرافکس پروٹو ٹائپ (متحرک نام کو پیچھے لانے کے لئے ڈسک کا نام ، بصورت دیگر اس کی اطلاع ذیل میں دی جائے گی)
zabbix3 گراف نہیں بنا سکتا: اسی نام کے ساتھ گراف 'ڈسک IO' پہلے سے موجود ہے