Създаване на ваши собствени модули за проверка за Nagios, като използвате примера на mysql и apache2 - Технически бележки
Полезни бележки.
Създаване на ваши собствени модули за проверка за Nagios, като използвате примера на mysql и apache2
Nagios е платформа за наблюдение клиент-сървър с отворен код за компютърни системи и мрежи. Проектиран да наблюдава, контролира състоянието на изчислителните възли и услуги, да уведомява администратора, ако някоя от услугите спре (или възобнови) работата си. (c) Wikipedia
Няма да описвам подробната инсталация - за щастие има много интернет ресурси, където това вече е направено.
Nagios е невероятно гъвкава система за наблюдение. За nagios има голям брой добавки, които идват в пакети nagio-plugins, но се случва готовите добавки да не са подходящи по една или друга причина. Или дават много ненужна информация, или не дават нищо (просто не работят на определена система). Обикновено ми е жал да инсталирам цял пакет с дузина добавки, за да проверя една стойност на системата.
Големият плюс на nagios е, че nagios-проверките или скриптовете за проверка могат да бъдат написани на всичко: bash, python, perl или powershell. Според мен дори обикновен bat файл може да се използва за проверка на изправността на Windows системите. Както каза един мой приятел: „С помощта на Nagios можете да наблюдавате кафето в чаша“
Затова искам да обмисля създаването на мои собствени скриптове за проверка, като използвам примера за проверка на състоянието на Mysql-Server и Apache http server.check_mysql
Като начало, нека създадем потребител, с който скриптът за проверка (проверка) ще се свърже с mysql. Разбира се, можете да използвате root акаунта, но в името на греха, препоръчвам да създадете отделен потребител: предоставете избор на *.* на nagios@localhost, идентифициран от 'nagios4mysql';
Този скрипт използва стандартната функция mysql, за да получиизискваната информация и показва броя на отворените таблици, времето за работа и броя на екземплярите на mysql. Можете да прочетете изхода на функцията "ПОКАЗВАНЕ НА СЪСТОЯНИЕ" по-подробно и да включите допълнителна информация. Първоначалната цел на тази проверка е да се увери, че mysql сървърът работи и работи (изход 0). Ако mysql не е наличен, скриптът ще върне код за изход = 2, което ще бъде сигнал за nagiosa, че сървърът има проблеми.
Остава само да се опише тази персонализирана проверка на сървъра Nagios. Това може да стане по аналогия със съществуващите проверки. И не забравяйте да напишете същата проверка във файла /etc/nagios/nrpe_local.cfg: command[custom__mysql_check]=/usr/lib/nagios/plugins/custom__mysql_check
Примерен bash скрипт за тестване на apache http сървър:
Скриптът проверява за наличието на pid файл и отчита броя на изпълняваните дъщерни процеси на apache. По принцип стойността на променливата $number може да се използва като условие: if [ $number -gt "0" ]