نسل بعدی عامل زبیکس

زبیکس نسخه ۴.۴ نوع جدیدی از عامل، به نام  zabbix_agent2 را معرفی می کند، که طیف گسترده ای از قابلیت های جدید و عملکردهای پیشرفته را برای نظارت ارائه می دهد:

  • به زبان Go نوشته شده است.
  • ارائه چارچوب پلاگین برای نظارت بر خدمات و برنامه های مختلف.
  • امکان حفظ  وضعیت حین بررسی ها (برای مثال ، نگه داشتن اتصالات مداوم پایگاه داده).
  • برنامه ریز داخلی برای پشتیبانی از فواصل زمانی بصورت انعطاف پذیر.
  • استفاده کارآمد از شبکه همراه با استفاده از انتقال داده های حجیم و زیاد.
  • جایگزینی Agent های موجود در لینوکس با سیستم عامل های بیشتری که به زودی پشتیبانی می شوند.
نسل بعدی عامل زبیکس

بررسی اجمالی Agent 2

Agent 2 نسل جدیدی از زبیکس است که در آینده جایگزین Agent قدیمی زبیکس خواهد شد. هدف از توسعه Agent 2 به شرح زیر می باشد:

  • کاهش تعداد ارتباطات TCP
  • داشتن همزمانی بیشتر در بررسی ها
  • به آسانی با توسعه پذیر باشد. افزونه باید بتواند:
    • بررسی های کوچک و ناچیز را تنها در چند خط ساده کد خلاصه کند.
    • ترکیب بررسی های پیچیده با اسکریپت های دارای اجرای طولانی، جمع آوری داده های مستقل و ارسال به صورت دوره ای
  • جایگزینی مناسب برای Agent زبیکس (دارای تمامی قابلیت های agent قدیمی زبیکس)

در حال حاضر پشتیبانی از Agent 2 زبیکس تجربی است و به پایداری مناسب جهت اجر نرسیدخه است.

Agent 2 زبیکس توسط زبان Go (با استفاده مجدد از برخی کد های نوشته شده به زبان C در Agent قدیمی) توسعه داده شده است. نسخه Go مورد استفاده برای Agent 2 که باید بر محیط اجرا تنظیم شود ۱.۱۲ یا بیشتر است.

این نسخه از daemonization پشتیبانی نمیکند.

daemonization: در سیستم عامل ها با قابلیت چند پردازشی یک daemon یک برنامه کامپیوتری است که در پس زمینه اجرا می گردد و در کنترل مستقیم کاربر سیستم نیست.

بررسی های منفعل (Passive) به طور مشابه با Agent قدیمی کار می کنند. بررسی های فعال (Active) از فواصل زمانی برنامه ریزی شده و قابل انعطاف پشتیبانی می کند و همزمانی را در یک سرور فعال بررسی می کند.

بررسی همزمانی

بررسی افزونه های مختلف می تواند همزمان انجام شود. تعداد بررسی های همزمان در یک افزونه با تنظیم ظرفیت افزونه محدود است. تنظیم ظرفیت هر افزونه بصورت کد سخت تنظیم می شود (بصورت پیشفرض ۱۰۰). که می توان این مقدار را توسط پلاگین کم کرد.

مثلا بدین شکل مقدار ضرفیت را برابر N قرار می دهیم.

Plugins..Capacity=N

سایر پارامتر ها را در همین پست میتوانید مشاهده نمایید.

پلتفرم هایی پشتیبانی شده

در حال حاضر Agent 2 تنها برای لینوکس پشتیبانی می شود. اگر بخواهیم توسط پکیج های آماده Agent 2 را نصب کنیم در محیط های زیر موجود هستند:

  • RHEL/CentOS 8
  • SLES 15 SP1 و بالاتر
  • Debian 9, 10
  • Ubuntu 18.04

نصب و راه اندازی

Agent 2 زبیکس به صورت پیش کامپایل در بین پکیج های ارائه شده در مخازن زبیکس موجود است. در صورتی که بخواهید agent 2 زبیکس را کامپایل کنید باید از پارامتر زیر هنگام کامپایل استفاده کنید.

–enable-agent2

گزینه ها

از پارامترهای خط فرمان زیر می توان با Agent 2 زبیکس استفاده کرد:

پارارمترتوضیح
-c –configمسیر پرونده پیکربندی را مشخص می کند.

شما می توانید از این گزینه برای مشخص کردن فایل پیکربندی ای استفاده کنید، که فایل پیکربندی پیش فرض نیست.
در یونیکس فایل پیکربندی بصورت پیشفرض در مکان زیر قرار دارد
/usr/local/etc/zabbix_agent2.conf
و توسط پاراتر های
–sysconfdir
یا
–prefix
تایین می شود.
-f –foregroundعامل زبیکس را در پیش زمینه اجرا کنید (مقدار پیش فرض: true).
-p –printموارد شناخته شده را چاپ کرده و از آن خارج شوید.

به خاطر داشته باشید که میتوان به جای نمایش خروجی در همینجا از UserParameter های Agent هم استفاده کرد.
-t –testمورد مشخص شده را متحان کرده وخروج می کنید.

به خاطر داشته باشید که میتوان به جای نمایش خروجی در همینجا از UserParameter های Agent هم استفاده کرد.

-h –helpاطلاعات راهنما را چاپ کرده و از آن خارج شوید.
-V –versionچاپ شماره نسخه Agent و خروج.
-R –runtime-controlیکسری توابع مدیریتی را ارائه می دهد.

کنترل های هنگام اجرا را مشاهده کنید.

نمونه های خاص استفاده از پارامترهای خط فرمان:

  • نمایش تمام آیتم های داخلی Agent با مقدار ها
  • آزمایش UserParameters با کلید “mysql.ping” که درون فایل تنظیمات قرار دارد.

shell> zabbix_agent2 –print
shell> zabbix_agent2 -t “mysql.ping” -c /etc/zabbix/zabbix_agentd.conf

کنترل های زمان اجرا

کنترل زمان اجرا برخی گزینه ها را برای کنترل از راه دور ارائه می دهد.

پارامتر های جدیدتوضیح
loglevel increaseافزایش سطح لاگ
loglevel decreaseکاهش سطح لاگ
metricsلیست معیار های موجود
versionنمایش نسخه Agent
helpنمایش اطلاعات راهنما در زمان اجرا

نمونه ها:

  • افزایش سطح لاگ در Agent 2
  • نمایش گزینه های کنترل زمان اجرا

shell> zabbix_agent2 -R “loglevel increase”
shell> zabbix_agent2 -R help

فایل پیکر بندی

پارامتر های جدیدتوضیح
ControlSocketمسیر سوکت کنترل زمان اجرا. Agent 2 از سوکت کنترل برای دستورات زمان اجرا استفاده می کند.
Pluginsپلاگین ها ممکن است پارامترهای خاص خود را داشته باشند ، و در قالب افزونه این پارامتر هاتعریف می شوند.

این قالب به این شکل است

.=

یک پارامتر پلاگین رایج Capacity است ، و محدودیت بررسی هایی را که می توانید همزمان انجام دهد را تعیین می کند.

StatusPortاین پورت توسط HTTP احاطه شده و به نمایش پلاگین ها و تنظیمات آنها می پردازد.
پارارمتر های حذف شدهتوضیح
AllowRoot, Userبه دلیل پشتیبانی نکردن از daemonization پشتیبانی نمی شود.
LoadModule, LoadModulePathماژول های قابل بارگیری پشتیبانی نمی شوند.
StartAgentsاین پارامتر در Agent قدیمی زبیکس برای افزایش همزمانی برررسی Passive یا غیرفعال کردن آنها مورد استفاده قرار می گرفت. در Agent 2 ، همگام سازی در سطح افزونه پیکربندی شده و می تواند با تنظیم ظرفیت محدود شود. در حالی که غیرفعال کردن بررسی های Passive در حال حاضر پشتیبانی نمی شود.
HostInterface, HostInterfaceItemهنوز پشتیبانی نشده است.

Webhooks و منطق قابل برنامه ریزی برای اقدامات و اطلاعیه ها

ادغام با سیستم های اخطار و تیکتینگ خارجی با اجازه دادن به تعریف کل منطق پردازش با استفاده از موتور جاوا اسکریپت بسیار بهبود یافته است.  این قابلیت ادغام دو طرفه با سیستمهای خارجی، امکان دسترسی با یک کلیک از محیط وب زبیکس به یک آیتم در سیستم تیکتینگ ، پیام تولید شده در گپ (chat) و موارد دیگر را ساده تر می کند.

یک Webhooks به راحتی می تواند با نرم افزار های ثالث که به سیستم های Ticketing معروفند ادغام شده و ایجاد پیام حول محور یک خطا کند. همچنین میتواند پیام هایی را در رابطه با تیکت ها در سمت وب زبیکس نمایش دهد.

ارائه استاندارد هایی برای قالب ها (الگوها – Templates)

ما مجموعه ای از استانداردها و دستورالعمل های تعریف شده را برای قالب ها معرفی کردیم. داشتن زمینه مشترک برای همه سازندگان و نگهدارنده قالب ها و همچنین برای همه کاربران زبیکس بسیار مهم است.

ساختار مبتنی بر XML یا JSON کمک می کند تا فایلها به راحتی توسط کاربران تغییر داده شوند (حتی با یک ویرایشگر متن ساده). بسیاری از قالب ها با ساختار جدید بهبود یافته اند.

استاندارد های قالب زبیکس

پشتیبانی رسمی از پایگاه داده Timescale

علاوه بر پایگاه داده های سنتی مانند MySQL ، PostgreSQL ، Oracle و DB2 زبیکس رسما پشتیبانی خود را از پایگاده داده Timescale اعلام کرده است. پایگاه داده Timescale دارای سطح خطی تری از کارایی است همچنین در عملیات حذف داده های قدیمی بسیار بهتر عمل می کند که این توانایی ها به نگهداری آسان تر به نسبت پایگاه داده های رابطه ای سنتی کمک می کند.

پست زیر به مقایسه کارایی با PostgreSQL می پردازد.

استاندارد های قالب زبیکس

دانش پایه برای تریگر ها و آیتم ها

از مسائل مهم داشتن دانش در رابطه با آیتم و تریگر رخ داده است. زبیکس این قابلیت را دارد تا برای داده بدست آمده از یک تریگر دانشی را نگهداری کند تا آن به کاربر مشاهده کننده نشان دهد. با عنوان دانش یا Knowledge  می توان این قابلیت ها را مشاهده نمود.

گزینه های بصری سازی حرفه ای تر

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

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

همچنین تمامی ابزار های مرتبط با داشبورد را می توان بدون عنوان ابزار نمایش داد.

نمودار میله ای

زبیکس ۴.۴ از نمودارهای میله ای پشتیبانی می کند، و ابزارک نمودار اکنون از جمع آوری داده ها با استفاده از توابع مختلف جمع آوری پشتیبانی می کند. این دو ویژگی در کنار هم ، تجزیه و تحلیل داده های بلند مدت و برنامه ریزی ظرفیت را بسیار ساده تر می کنند.

پشتیبانی رسمی از سیستم عامل های جدید

علاوه بر بسته ها و وسایل رسمی موجود ، زبیکس ۴.۴ اکنون به سیستم عامل های زیر نیز دسترسی دارد:
  • SUSE Linux Enterprise Server 15
  • Debian 10
  • Raspbian 10
  • Mac OS/X
  • RHEL 8
  • MSI for Windows Agent
کلیه سیستم عامل های موجود را در بخش دانلود مشاهده کنید.
پشتیبانی رسمی از سیستم عامل های جدید

استقرار ابری با یک کلیک

زبیکس را می توان به راحتی به عنوان یک ظرف (Container) یا به عنوان image آماده استفاده برای ارائه دهندگان مختلف ابری، مستقر کرد:

AWS
Azure
Google Cloud Platform
Digital Ocean
Docker

استقرار ابری زبیکس با یک کلیک

ثبت نام خودکار ایمن

نسخه جدید زبیکس رمزگذاری PSK اختیاری را برای ثبت خودکار با تنظیمات رمزگذاری خودکار برای میزبان های اضافه شده امکان پذیر می کند. اکنون می توانید زبیکس را تنظیم کنید تا ثبت نام خودکار دستگاه های شبکه فقط با PSK ، فقط بدون رمزگذاری یا هر دو امکان پذیر باشد.

JSON Path پیشرفته برای پیش پردازش (preprocessing)

زبیکس اکنون از syntax پیشرفته برای JSONPath پشتیبانی می کند که امکان پردازش پیچیده داده های JSON که شامل جمع آوری و جستجو در آنها را فراهم می کند. پیش پردازش همچنین می تواند برای کشف سطح پایین استفاده شود که آن را به ابزاری بسیار قدرتمند برای اتوماسیون و کشف تبدیل می کند.

توضیحات مربوط به ماکروهای کاربر

ماکروهای کاربر عملکردی بسیار زیبا است که پیکربندی زبیکس را ساده می کند و باعث می شود پیکربندی گسترده باعث ایجاد روح در زبیکس شود. پشتیبانی از توضیحات برای ماکروهای کاربر به مستندسازی هدف مدیریت کلان ماکروها به شکل بسیار ساده تر کمک می کند.

جمع آوری داده های پیشرفته کارآمد تر

جمع آوری داده ها و کشف آیتم ها مرتبط WMI ، JMX و ODBC با بررسی های جدید مجموعه های برگشتی اشیاء با فرمت JSON بهبود یافته است. شرکت زبیکس همچنین از داده های مخازن VMWare برای نظارت بر VMWare و خدمات سیستمی سیستم عامل برای سیستم عامل لینوکس ، و همچنین نوع جدید پردازش جدید برای تبدیل CSV به JSON ، پشتیبانی کرده است.

ویژگی های جدیدتر توسعه یافته و بهبود یافته Zabbix 4.4

  • پردازش داده های XML از LLD
  • حداکثر تعداد آیتم های وابسته به ۱۰K افزایش یافته است
  • نوع تبدیل خودکار را به پردازش JSONPatch اضافه کرد
  • نام میزبان در پرونده های صادرات در زمان واقعی گنجانده شده است
  • نماینده ویندوز برای پشتیبانی از پیشخوان های عملکرد زبان agnostic گسترش یافته است
  • امکان نادیده گرفتن مقادیر در پردازش خطاها
  • آخرین اطلاعات برای دسترسی به داده های عملیاتی آیتم گسترش یافت
  • توانایی ویرایش توضیحات تریگر، برداشته شده و در عوض دسترسی بسیار ساده تری به آن وارد شده است
  • پشتیبانی از انواع رسانه های داخلی Jabber و Eztexting را حذف کنید ، به جای آن از webhook ها یا اسکریپت های خارجی استفاده کنید
  • داشبورد پیش فرض به روز شد
  • میزبان های ثبت شده خودکار امکان تعیین گزینه “اتصال به dns” یا “اتصال به IP” را داشتند
  • پشتیبانی از ماکرو {EVENT.ID}  برای نشانی اینترنتی در تریگر ها
  • عنصر صفحه “صفحه” دیگر پشتیبانی نمی شود
  • آخرین نوع ویجت داشبورد ایجاد شده بعداً به یاد می آورد و دوباره مورد استفاده قرار می گیرد
  • قابلیت مشاهده عناوین ویجت برای هر ویجت قابل تنظیم است