تیم ما بسیار خوشحال است که این خبر را به اشتراک می گذارد که یک سیستم نظارتی رایگان و متن باز منتشر شده است
آیا نسخه 4.2 پاسخ سوال اصلی زندگی، کیهان و به طور کلی نظارت است؟ بیایید نگاهی بیندازیم!
یادآوری می کنیم که Zabbix یک سیستم جهانی برای نظارت بر عملکرد و در دسترس بودن سرورها، تجهیزات مهندسی و شبکه، برنامه های کاربردی، پایگاه های داده، سیستم های مجازی سازی، کانتینرها، خدمات فناوری اطلاعات و خدمات وب است.
Zabbix یک چرخه کامل از جمع آوری داده ها، پردازش و تبدیل آن ها، تجزیه و تحلیل داده های دریافتی، و پایان دادن به ذخیره این داده ها، تجسم و ارسال هشدارها با استفاده از قوانین تشدید را پیاده سازی می کند. این سیستم همچنین گزینه های انعطاف پذیری را برای گسترش روش های جمع آوری داده ها و هشدار و همچنین قابلیت های اتوماسیون از طریق API ارائه می دهد. یک رابط وب واحد، مدیریت متمرکز پیکربندیهای نظارت و توزیع حقوق دسترسی به گروههای کاربری مختلف را پیادهسازی میکند. کد پروژه به صورت آزاد تحت مجوز توزیع می شود
Zabbix 4.2 یک نسخه جدید غیر LTS با دوره پشتیبانی رسمی کوتاه شده است. برای کاربرانی که روی چرخه عمر طولانی محصولات نرم افزاری تمرکز دارند، استفاده از نسخه های LTS مانند 3.0 و 4.0 را توصیه می کنیم.
بنابراین، اجازه دهید در مورد ویژگی های جدید و پیشرفت های عمده در نسخه 4.2 صحبت کنیم:
پلتفرم های رسمی بیشتر
ما علاوه بر بستههای رسمی موجود، ساختهای جدیدی را نیز برای موارد زیر ارائه میکنیم:
- RaspberryPi، Mac OS/X، SUSE Enterprise Linux Server 12
- MSI برای عامل ویندوز
- تصاویر داکر
پشتیبانی داخلی Prometheus برای نظارت بر برنامه
Zabbix می تواند داده ها را به روش های مختلف (فشار/کشش) از منابع داده های مختلف جمع آوری کند. اینها JMX، SNMP، WMI، HTTP/HTTPS، RestAPI، XML Soap، SSH، Telnet، عوامل و اسکریپت ها و سایر منابع هستند. اکنون با پشتیبانی Prometheus آشنا شوید!
بهطور دقیق، جمعآوری دادهها از صادرکنندگان Prometheus در گذشته به لطف نوع عنصر داده HTTP/HTTPS و عبارات منظم امکانپذیر بود.
با این حال، نسخه جدید به دلیل پشتیبانی داخلی از زبان پرس و جو PromQL به شما امکان می دهد تا حد امکان کارآمدتر با Prometheus کار کنید. و استفاده از معیارهای وابسته به شما این امکان را می دهد که داده ها را با بیشترین کارآمدی جمع آوری و پردازش کنید: یک بار داده ها را درخواست می کنید و سپس آن ها را بر اساس معیارهای لازم مرتب می کنیم.
توجه به این نکته مهم است که اکتشافات سطح پایین اکنون می توانند از داده های جمع آوری شده برای تولید خودکار معیارها استفاده کنند. در این حالت Zabbix داده های دریافتی را به فرمت JSON تبدیل می کند که کار با آن بسیار راحت است.
در حال حاضر تعداد بیشتری وجود دارد
نظارت موثر با فرکانس بالا
آیا می خواهیم مشکلات را در اسرع وقت شناسایی کنیم؟ البته بدون شک! اغلب اوقات، این رویکرد باعث میشود که ما نیاز به نظرسنجی از دستگاهها و جمعآوری دادهها به صورت مکرر داشته باشیم، که بار بیشتری را بر سیستم نظارت وارد میکند. چگونه از این امر اجتناب کنیم؟
ما یک مکانیسم دریچه گاز را در قوانین پیش پردازش پیاده سازی کرده ایم. در اصل، درنگ به ما این فرصت را می دهد که از ارزش های یکسان عبور کنیم.
بیایید فرض کنیم که ما در حال نظارت بر وضعیت یک برنامه حیاتی هستیم. هر ثانیه بررسی می کنیم که آیا برنامه ما کار می کند یا خیر. در همان زمان، Zabbix یک جریان مداوم از داده ها را از 1 (در حال کار) و 0 (کار نمی کند) دریافت می کند. به عنوان مثال: 1111111111110001111111111111…
هنگامی که همه چیز در برنامه ما مرتب باشد، Zabbix جریانی از تنها یکی را دریافت می کند. آیا آنها نیاز به پردازش دارند؟ به طور کلی خیر، چون ما فقط به تغییر وضعیت برنامه علاقه مندیم، نمی خواهیم این همه داده جمع آوری و ذخیره کنیم. بنابراین، throttling به شما این امکان را می دهد که اگر مقداری مشابه مقدار قبلی است، از آن بگذرید. در نتیجه، ما فقط داده های مربوط به تغییر حالت را دریافت خواهیم کرد، به عنوان مثال، 01010101... این اطلاعات برای تشخیص مشکلات کاملاً کافی است!
Zabbix به سادگی مقادیر از دست رفته را نادیده می گیرد، آنها در تاریخ ثبت نمی شوند و به هیچ وجه بر محرک ها تأثیر نمی گذارند. از دیدگاه Zabbix، هیچ مقدار گمشده ای وجود ندارد.
عالی! اکنون میتوانیم به دفعات از دستگاهها نظرسنجی کنیم و مشکلات را فوراً بدون ذخیره اطلاعات غیر ضروری در پایگاه داده شناسایی کنیم.
در مورد گرافیک چطور؟ آنها به دلیل کمبود داده خالی خواهند بود! و چگونه میتوانید تشخیص دهید که Zabbix در حال جمعآوری دادهها است یا خیر؟
ما هم به این فکر کردیم! Zabbix نوع دیگری از دریچه گاز را ارائه می دهد، گاز دادن با ضربان قلب.
در این حالت، Zabbix با وجود تکرار جریان داده، حداقل یک مقدار را در بازه زمانی مشخص ذخیره می کند. اگر دادهها یک بار در ثانیه جمعآوری شود، و فاصله زمانی یک دقیقه تنظیم شود، Zabbix هر ثانیه جریان واحدها را به یک جریان دقیقهای تبدیل میکند. به راحتی می توان فهمید که این منجر به فشرده سازی 60 برابری داده های دریافتی می شود.
اکنون ما مطمئن هستیم که داده ها در حال جمع آوری هستند، تابع nodata() در حال کار است و همه چیز با نمودارها خوب است!
اعتبار سنجی داده های جمع آوری شده و مدیریت خطا
هیچ یک از ما نمی خواهیم داده های اشتباه یا غیر قابل اعتماد جمع آوری کنیم. به عنوان مثال، ما می دانیم که یک سنسور دما باید داده های بین 0 تا 100 درجه سانتی گراد را برگرداند و هر مقدار دیگری باید نادرست در نظر گرفته شود و/یا نادیده گرفته شود.
اکنون این امکان با استفاده از قوانین اعتبارسنجی داده که در پیش پردازش برای انطباق یا عدم انطباق با عبارات منظم، محدودههای مقدار، JSONPath و XMLPath ساخته شدهاند، امکانپذیر است.
اکنون می توانیم واکنش به خطا را کنترل کنیم. اگر دما خارج از محدوده باشد، میتوانیم به سادگی چنین مقداری را نادیده بگیریم، یک مقدار پیشفرض (مثلاً 0 درجه سانتیگراد) تنظیم کنیم، یا پیام خطای خودمان را تعریف کنیم، بهعنوان مثال، «سنسور خراب است» یا «باتری تعویض شود».
یک مثال خوب از استفاده از اعتبارسنجی، امکان بررسی داده های ورودی برای وجود پیام خطا و تنظیم این خطا برای کل متریک است. این یک عملکرد بسیار مفید در هنگام بازیابی داده ها از API های خارجی است.
هرگونه تغییر داده با استفاده از جاوا اسکریپت
اگر قوانین پیش پردازش داخلی برای ما کافی نبود، اکنون آزادی کامل را با استفاده از اسکریپت های جاوا اسکریپت سفارشی ارائه می دهیم!
این فرصت های بی پایانی را برای پردازش داده های دریافتی باز می کند. مزیت عملی این عملکرد این است که ما دیگر به اسکریپت های خارجی که برای انجام هرگونه دستکاری داده ها استفاده می کردیم نیاز نداریم. اکنون همه اینها را می توان با استفاده از جاوا اسکریپت انجام داد.
اکنون تبدیل داده ها، تجمیع، فیلترها، عملیات حسابی و منطقی و بسیاری موارد دیگر امکان پذیر است!
آزمایش پیش پردازش
اکنون لازم نیست حدس بزنیم که اسکریپت های پیش پردازش پیچیده ما چگونه کار می کنند. اکنون یک راه راحت برای بررسی اینکه آیا پیش پردازش مستقیماً از رابط به درستی کار می کند وجود دارد!
ما میلیون ها معیار را در ثانیه پردازش می کنیم!
قبل از Zabbix 4.2، پیش پردازش منحصراً توسط سرور Zabbix انجام می شد که توانایی استفاده از پراکسی ها را برای توزیع بار محدود می کرد.
با شروع Zabbix 4.2، ما مقیاس بار فوق العاده کارآمد را از طریق پشتیبانی از پیش پردازش سمت پروکسی دریافت می کنیم. حالا پروکسی ها این کار را می کنند!
در ترکیب با throttling، این رویکرد امکان نظارت با فرکانس بالا، در مقیاس بزرگ و میلیون ها بررسی در ثانیه را بدون بارگیری سرور مرکزی Zabbix فراهم می کند. پراکسی ها حجم عظیمی از داده ها را پردازش می کنند، در حالی که تنها بخش کوچکی از آن به دلیل دریچه گاز به سرور Zabbix می رسد، یک یا دو مرتبه بزرگی کمتر.
کشف آسان تر در سطح پایین
به یاد بیاورید که کشف سطح پایین (LLD) مکانیزم بسیار قدرتمندی برای کشف خودکار هر نوع منبع نظارتی (سیستمهای فایل، فرآیندها، برنامهها، سرویسها و غیره) و ایجاد خودکار آیتمهای داده، تریگرها، گرههای شبکه بر اساس آنها و غیره است. اشیاء. این باعث صرفه جویی در زمان باورنکردنی می شود، پیکربندی را ساده می کند و امکان استفاده از یک الگو را در میزبان هایی با منابع نظارتی مختلف فراهم می کند.
اکتشاف سطح پایین به JSON فرمت شده ویژه به عنوان ورودی نیاز دارد. همین، دیگر اتفاق نمی افتد!
Zabbix 4.2 به کشف سطح پایین (LLD) اجازه می دهد تا از داده های دلخواه در قالب JSON استفاده کند. چرا مهم است؟ این به شما امکان می دهد، برای مثال، با API های خارجی بدون استفاده از اسکریپت ها ارتباط برقرار کنید و از اطلاعات دریافتی برای ایجاد خودکار میزبان ها، عناصر داده و محرک ها استفاده کنید.
همراه با پشتیبانی از جاوا اسکریپت، فرصتهای فوقالعادهای برای ایجاد قالبهایی برای کار با منابع داده مختلف، مانند، برای مثال، APIهای ابری، APIهای برنامه، دادهها در قالبهای XML، CSV و غیره ایجاد میکند.
احتمالات بی نهایت هستند!
پشتیبانی TimescaleDB
TimescaleDB چیست؟ این PostgreSQL معمولی به اضافه یک ماژول افزونه از تیم TimescaleDB است. TimescaleDB به دلیل الگوریتم های کارآمدتر و ساختار داده، عملکرد بهتری را وعده می دهد.
علاوه بر این، یکی دیگر از مزایای TimescaleDB، پارتیشن بندی خودکار جداول با تاریخچه است. TimescaleDB سریع و آسان برای نگهداری است! اگرچه، باید توجه داشته باشم که تیم ما هنوز عملکرد جدی را با PostgreSQL معمولی مقایسه نکرده است.
در حال حاضر، TimescaleDB یک محصول نسبتا جوان و به سرعت در حال توسعه است. با احتیاط استفاده کنید!
مدیریت تگ آسان
اگر قبلاً برچسبها فقط در سطح ماشه قابل مدیریت بودند، اکنون مدیریت برچسب بسیار انعطافپذیرتر است. Zabbix از برچسب ها برای قالب ها و هاست ها پشتیبانی می کند!
تمام مشکلات شناسایی شده نه تنها برچسب های ماشه، بلکه همچنین از هاست و همچنین الگوهای این میزبان را دریافت می کنند.
ثبت خودکار انعطافپذیرتر
Zabbix 4.2 به شما اجازه می دهد تا با استفاده از عبارات منظم، هاست ها را بر اساس نام فیلتر کنید. این امکان ایجاد سناریوهای تشخیص متفاوت برای گروه های مختلف گره های شبکه را فراهم می کند. مخصوصاً اگر از قوانین پیچیده نامگذاری دستگاه استفاده کنیم راحت است.
کشف شبکه انعطاف پذیرتر
یکی دیگر از پیشرفت ها به نام گذاری گره های شبکه مربوط می شود. اکنون می توان نام دستگاه ها را در حین کشف شبکه مدیریت کرد و نام دستگاه را از یک مقدار متریک به دست آورد.
این یک عملکرد بسیار ضروری است، به خصوص برای کشف شبکه با استفاده از SNMP و عامل Zabbix.
بررسی عملکرد روش های اطلاع رسانی
اکنون می توانید مستقیماً از رابط وب برای خود یک پیام آزمایشی ارسال کنید و بررسی کنید که آیا روش اعلان کار می کند یا خیر. این قابلیت به ویژه برای آزمایش اسکریپت ها برای ترکیب Zabbix با سیستم های هشدار مختلف، سیستم های وظیفه و سایر برنامه ها و API های خارجی مفید است.
نظارت از راه دور اجزای زیرساخت Zabbix
اکنون امکان نظارت از راه دور معیارهای داخلی سرور و پروکسی Zabbix (معیارهای عملکرد و سلامت اجزای Zabbix) وجود دارد.
این برای چیست؟ این عملکرد به شما امکان می دهد معیارهای داخلی سرورها و پراکسی ها را از بیرون نظارت کنید، به شما امکان می دهد به سرعت مشکلات را شناسایی و از آن مطلع شوید، حتی اگر خود مؤلفه ها بیش از حد بارگذاری شوند یا مثلاً مقدار زیادی داده ارسال نشده روی پراکسی وجود داشته باشد.
پشتیبانی از فرمت HTML برای پیام های ایمیل
اکنون ما محدود به متن ساده نیستیم و به لطف پشتیبانی از فرمت HTML می توانیم پیام های ایمیل زیبایی ایجاد کنیم. زمان یادگیری HTML + CSS است!
دسترسی به سیستم های خارجی از طریق کارت های شبکه
پشتیبانی از مجموعه کاملی از ماکروهای جدید در URL های سفارشی برای ادغام بهتر نقشه ها با سیستم های خارجی وجود دارد. این به شما امکان می دهد، به عنوان مثال، یک بلیط را در سیستم وظیفه با یک یا دو کلیک روی نماد یک گره شبکه باز کنید.
یک قانون کشف می تواند یک آیتم داده وابسته باشد
چرا این لازم است - شما بپرسید. این اجازه می دهد تا داده های متریک زیربنایی هم برای کشف و هم برای جمع آوری مستقیم داده ها استفاده شود. برای مثال، در مورد جمعآوری دادهها از یک صادرکننده Prometheus، Zabbix یک درخواست HTTP ارائه میکند و بلافاصله از اطلاعات دریافتی برای همه عناصر داده وابسته استفاده میکند: مقادیر متریک و قوانین کشف سطح پایین.
روشی جدید برای تجسم مشکلات روی نقشه ها
اکنون از تصاویر متحرک GIF روی نقشه ها برای مشاهده بیشتر مشکلات پشتیبانی می شود.
استخراج داده ها از هدرهای HTTP در مانیتورینگ وب
در Web Monitoring امکان انتخاب داده ها از هدر HTTP دریافتی اضافه شده است.
این به شما این امکان را می دهد که با استفاده از نشانه مجوز به دست آمده در یکی از مراحل، سناریوهای نظارت بر وب چند مرحله ای یا نظارت بر API شخص ثالث ایجاد کنید.
Zabbix Sender از تمام آدرس های IP استفاده می کند
Zabbix Sender اکنون داده ها را از پارامتر ServerActive در فایل پیکربندی عامل به تمام آدرس های IP ارسال می کند.
فیلتر جدید راحت در پیکربندی ماشه
صفحه پیکربندی ماشه اکنون دارای یک فیلتر گسترده برای انتخاب سریع و راحت محرک ها بر اساس معیارهای مشخص شده است.
ما زمان دقیق را نشان می دهیم
همه چیز در اینجا ساده است، اکنون Zabbix زمان دقیقی را نشان می دهد که ماوس را روی نمودار قرار می دهید.
سایر نوآوری ها
- الگوریتم قابل پیش بینی تری را برای تغییر ترتیب ویجت ها در داشبورد پیاده سازی کرد
- امکان تغییر انبوه پارامترهای نمونه های اولیه اقلام داده
- پشتیبانی IPv6 برای بررسی های DNS: "net.dns" و "new.dns.record"
- پارامتر "پرش" برای بررسی های "vmware.eventlog" اضافه شد
- خطای اجرای مرحله پیش پردازش شامل شماره مرحله است
چگونه آپدیت کنیم؟
برای ارتقا از نسخه های قبلی، فقط باید نصب کنید
ما میزبان وبینارهای رایگان برای کسانی هستیم که می خواهند در مورد Zabbix 4.2 اطلاعات بیشتری کسب کنند و این فرصت را دارند که از تیم Zabbix سؤال بپرسند.
محبوب را فراموش نکنید
لینک های مفید
-
-
-
منبع: www.habr.com