نحوه مانیتورینگ KVM از طریق Zabbix

نحوه  مانیتورینگ KVM از طریق Zabbix
در این پست می‌خوانید:

سلام بر عاشقان لینوکس

خوب همون طور که در جریان هستین ٰZabbix یک نرم افزار قدرتمند در زمینه مانیتورینگ و جمع اوری اطلاعات در شبکه میباشد. با استفاده از این نرم افزار میتوانید بصورت Real-Time سرور، ماشین مجازی و دیگر سخت افزار های شبکه ای را هم زمان مانیتور کنین.

البته سعی می کنم توی یک مقاله جدا مفصل راجب خود Zabbix باهاتون صحبت کنیم ولی توی این مقاله قراره که باهم یاد بگیریم که چجوری می تونیم ماشین های مجازی ای که توی KVM هستن رو از طریق ابزار  Zabbix مانیتور کنیم.اگه تعداد ماشین های مجازیتون زیاد باشه بهتر و راحت تره که اونا رو از طریق یک ابزار مانند Zabbix به صورت متمرکز مدیریت کنیم.

دوتا اسکریپت داریم برای این کار که هر کردم رو برین اوکیه ولی اطلاعات اسکریپت اولی ی مقدازی کامل تره

روش اول – اسکریپت اول

توی این روش می خوام از یک اسکریپت از سایت گیت هاب اسنتفاده کنم که آدرسش رو واستون اینجا می زارم

لینک گیت هاب اسکریپت zabbix-kvm-res

به طور کلی شما باید در دو سمت ( یعنی KVM Server و Zabbix Server ) یکسری تغییرات رو اعمال کنیم. اول میریم سراغ تغییرات سمت KVM Server

تنظیمات سمت KVM Server

ما برای ارسال برخی از پارامترهای مورد نیاز برای متانیتورینگ KVM می خوایم از یک اسکریپت به زبان Python (بهنرین زبان برنامه نویسی دنیا- نظر منه-  به بقیه برنامه نویسا بر نخوره ? ?)

یک  کتابخونه  پیش نیاز  داریم  به نام libvirt-python که باید قبل از اجرای اسکریپت مطمین بشیم که روی سیستم نصب هستن.

از دستور pip که توی پیکیج python-pip هست استفاده میکنیم.

sudo apt install python-pip

من پیش فرض رو روی  یک سییستم دبیان بیس می زارم اگه شما از توزیعی دیگه ای استفاده کینین اصلا مهم نیس و فقط به جای دستور apt از مدیر پیکیج خودتون استفاده کنین. بعد ار نصب این ابزار از دستور زیر برای نصب کتابخونه استفاده می کنیم

pip install libvirt-python

حالا میریم سراغ دانلود اسکریپت. برای دانلود اسکریپت شما می تونین از دستور git clone استفاده کنید ولی فقط یک فایل از این بسته رو برای سمت KVM سرور نیاز داریم و من از دستور Wget برای دانلود اون تک فایل استفاده می کنم  – بعد از دانلود،  فایل رو  به دایرکتوری ای منتقل کنین که در متغیر محیطی PATH وجود داشته باشد و بشود اسکریپت را مستقیم اجرا کنیم . (من از /usr/local/bin/ استفاد میکنم) – حق دسترسی اجرایی هم میدیم بهش.

cd /usr/local/bin

wget https://github.com/bushvin/zabbix-kvm-res/raw/master/bin/zabbix-kvm-res.py

chmod a+x zabbix-kvm-res.py

حال باید توی فایل  تنظیمات  Zabbix Agent یک سری خطوط اضافه کنیم

به طور پیش فرض این فایل etc/zabbix/zabbix_agentd.conf/   می باشد . می تونین این فایل رو ادیت کنین ولی برای اینکه این فایل پیکربندی دست خورده نشه از دایرکتوری etc/zabbix/zabbix_agentd.d/ استفاده می کنیم . می تونیم یک فایل را باید به این دابیرکتوری منتقل کنیم یا هم خطوط آن را درانتهای همان فایل پیکربندی اضافه کنیم.

cd /etc/zabbix/zabbix_agentd.d

wget https://github.com/bushvin/zabbix-kvm-res/raw/master/zabbix_agentd.conf/UserParameters

حال سرویس zabbix agent را مجدد راه اندازی می کنیم

 

sudo systemctl restart zabbix-agent

نکته : بعد از این مرحله حق دسترسی یوزر zabbix یادتون نره. توی بخش دوم – اسکریپت دوم یکم راجب بش ضحبت می کنم

تنظیمات سمت Zabbix Server

در این بخش فقط کافیه که فایل با فورمت xml آن Template را در zabbix server ایمپورت کنیم

به قسمت Configuration / Templates رفته و بر روی import کلیک می کنیم. صفحه ای مانند تصویر زیر ظاهر می شود

import template in zabbix

import template in zabbix

در قسمت import file فایل xml را وارذ و دکمه import را می زنیم. برین ی قهوه بزنین بر بدن.

روش دوم – اسکریپت دوم

یک اسکریپت دیگه هم هست که کار مشابه همین اسکریپت رو انجام میده ولی ممکنه توی جستجوی اولتون بهش بر بخورین. اسم این اسکریپت Virbix هست. مراحل راه اندازیش خیلی راحته ولی ی نکنه داره که حتما باس اونو رعایت کنیم. اونم اینه که  یوزر zabbix در zabbix agent حتما باید حق دسترسی مناسب برای اجرای اسکریپت رو داشته باشه .

لینک گیت هاب اسکریپت Virbix

تنظیمات سمت KVM Server

نصب ابزار های پیش نیازی – دوتا ابزار داریم که باید اونارو نصب کنیم که ksh و xmlinit هستن برای نصبشون از دستور زیر استفاده می کنیم

sudo apt install ksh libxml2-utils

برای اعمال تغییرات سمت agent از دستورات زیر استفاده می کنیمچچ

git clone https://github.com/sergiotocalini/virbix.git

sudo ./virbix/deploy_zabbix.sh "qemu:///system"

sudo systemctl restart zabbix-agent

دستور دوم یک مجموعه اسکریپت رو به طور پیش فرض می بره قسمت etc/zabbix/scripts/agentd/virbix/ خال باید به یوزر zabbix حق دسترسی مناسبی رو روی این اسکریپت بدیم . روش های متنوعی وجود داره هم می تونین از acl ها و هم می تونین از sudo برای این کار استفاده کنین. من می خوام از sudo استفاده کنم

این تنظیمات توی فایل etc/sudoers/  من هست ولی شما می تونین از  هر روشی که دوست داشتین استفاده کنید

Cmnd_Alias ZABBIX_CMD = /etc/zabbix/scripts/agentd/virbix/virbix.sh

zabbix ALL=(root) NOPASSWD:ZABBIX_CMD

حالا به این دایرکنوری رفته etc/zabbix/zabbix_agentd.d/ و در درون فایل virbix.conf قبل از آدرس اسکریپت ی sudo  اضافه می کنیم

نمونه مثال :

قبل

UserParameter=virbix[*],/etc/zabbix/scripts/agentd/virbix/virbix.sh -s $1 -a p=$2 -a p=$3 -a p=$4 -a p=$5

بعد

UserParameter=virbix[*],sudo /etc/zabbix/scripts/agentd/virbix/virbix.sh -s $1 -a p=$2 -a p=$3 -a p=$4 -a p=$5

همین کار رو برای همه خطوط انجام میدیم

تنظیمات سمت Zabbix Server

در این بخش فقط کافیه که فایل با فورمت xml آن Template را در zabbix server ایمپورت کنیم

به قسمت Configuration / Templates رفته و بر روی import کلیک می کنیم. دقیقا مشابه روش قبل.

 

به همین راحتی. امیدوارم مفید بوده باشه

یا حق

 

 

 

دیدگاه‌ها ۰
ارسال دیدگاه جدید