نمایش ترافیک مصرف شده در Zabbix
سلام
یه سوال داشتم
توی zabbix چطوری میشه میزان ترافیک مصرفی رو یک پورت (مثلا سوئیچ سیسکو) رو محاسبه کرد
چیزی که خود zabbix داره میزان پهنای باند رو پورت رو به صورت لحظه ای نمایش میده
میخوام بفهمم رو یک پورت در ماه مثلا چقدر ترافیک رد و بدل شده
باتشکر
1 پاسخ
حتماً محمد جان، ببین عزیزم ، مشکل خیلیا تو Zabbix همینه که فقط سرعت لحظه ای پورت رو نشون می ده (مثل in/out bps)، ولی دنبال اینیم که بفهمیم مثلاً تو یک ماه گذشته، چقدر دیتا رد و بدل شده، یعنی حجم کل ترافیک مصرفی تو اون بازه زمانی. حالا بریم ببینیم دقیقاً چی باید بکنی:
چیزی که Zabbix نشون می ده چیه؟
تو حالت پیش فرض، آیتم هایی که Zabbix از SNMP سوئیچ می گیره مثل اینا هستن:
net.if.in[ifX]
یاnet.if.in[ifDescr]
→ دریافت شده (input) به بیت بر ثانیهnet.if.out[ifX]
→ ارسال شده (output) به بیت بر ثانیه
یعنی فقط سرعت لحظه ای رو نشون می ده. اما برای ترافیک مصرفی باید مجموع این بیت ها رو جمع بزنیم تو یه بازه (مثلاً ماه).
راه حل چیه؟ چطوری بفهمیم در یک ماه چقدر ترافیک رد و بدل شده؟
مرحله ۱: گرفتن مقدار مطلق داده ورودی و خروجی (بجای سرعت)
اگه از SNMP استفاده می کنی، آیتم هایی رو باید اضافه کنی مثل:
IF-MIB::ifHCInOctets.X
→ تعداد بایت هایی که وارد پورت شدنIF-MIB::ifHCOutOctets.X
→ تعداد بایت هایی که خارج شدن
اینا معمولاً به صورت خودکار قابل اضافه شدنن، ولی اگه قالب SNMP رو روی هاستت نداری، دستی هم می تونی این آیتم ها رو اضافه کنی. (با SNMP OID مشخص)
مثلاً:
Key آیتم:
net.if.in[ifHCInOctets.X] net.if.out[ifHCOutOctets.X]
(که
X
می تونه عدد اینترفیس باشه یا اسم پورت)
نوع آیتم: Numeric (unsigned)
Type of information: Delta (speed per second)
← اینو نزن! چون می خوای مقدار خام رو داشته باشی. بذار As is
مرحله ۲: ساخت Graph یا Custom Item برای محاسبه ترافیک
حالا دو تا راه داری:
روش اول (ساده): استفاده از Built-in Graph
برو تو Host → Graphs
یه گراف جدید بساز که آیتم in و out Octets رو با هم نشون بده
بعد از یه ماه می تونی مجموع ورودی و خروجی رو با نگاه به نمودار بفهمی
روی نمودار کلیک کن، پایین
Total
یاSum
رو نشون می ده
روش دوم (دقیق تر): استفاده از Aggregate Function یا Screen
یا می تونی یه
Calculated Item
بسازی که جمع in و out رو بزنهیا با Zabbix Screens یه داشبوردی بزنی که
sum
آیتم ها توش بیاد
مرحله ۳: تبدیل بایت به گیگ یا مگ
چون آیتم ها به صورت بایت ذخیره می شن، توی گراف یا محاسبه نهایی باید مقدار رو تقسیم بر
1024*1024*1024
کنی تا GB بدست بیاری.مثلاً اگه مقدار در یک ماه شد 10737418240 → یعنی 10 گیگ ترافیک.
خلاصه کاری که باید بکنی:
یه آیتم SNMP بگیر که Octet (بایت) رو نشون بده نه سرعت
بذار آیتم رو به صورت
As is
ذخیره کنه (نه delta یا speed)یا با گراف و یا آیتم محاسباتی مجموع in/out رو تو یه بازه (مثل ماه) حساب کن
تبدیل بایت به گیگابایت رو انجام بده