Назад | Перейти на главную страницу

Как отслеживать пользовательскую вещь (запрос sql) в Nagios на Centos

Я провел дни, читая страницы загадочной и непонятной документации, а также неполных или плохо документированных примеров.

Я не могу найти, с чего начать - это сбивает с толку!

По сути, я просто хочу запустить простой сценарий оболочки на целевом сервере и заставить nagios действовать на результат. Я не хочу изучать "C" и тратить месяцы на разработку плагина, как это выглядит.

Например. Я хочу сказать напишите скрипт, который выполняет "select count (*) from logged_in_users"

и пусть график nagios рисует результирующее число (и даже предупреждает об этом)

Я могу написать 5-строчный скрипт на машине базы данных, которая возвращает статус и информацию примерно за 10 секунд. Проблема в том, как заставить Naigos прочитать это значение.

Я прочитал много информации о плагинах и видел много «скриптов» плагинов, но в информации никогда не говорится, где они запускаются, работают ли они на Srever, на клиенте или на обоих, теперь как они настроены. Я не хочу, чтобы на сервере были пароли к базе данных, поэтому я просто хочу написать сценарий оболочки abitrary на целевом сервере и отслеживать результат.

На целевых серверах уже установлено что-то под названием nrpe, что, как я надеялся, позволит мне написать простой сценарий оболочки, но все его «команды» находятся в двоичном формате, и это совершенно загадочно, и я не могу найти какой-либо обзорной документации.

Кто-нибудь может подсказать, с чего начать? Кто-нибудь написал сценарий "привет, мир"? Мне не удалось найти строку поиска Google, которая возвращает какие-либо совпадения. Разве никто на планете не хочет отслеживать результаты простого пользовательского скрипта с помощью nagios?

Еще лучше был бы плагин mysql, который позволяет вставлять собственный бит sql, но я не могу найти ничего подобного.

Спасибо!

Да, вы можете запустить сервер nrpe на целевом сервере. На сервере nagios вы можете использовать плагин check_nrpe, который принимает команду в качестве аргумента. Эта команда должна быть определена сервером nrpe на целевом сервере. Итак, ваш сценарий будет выполняться на целевом сервере сервером nrpe.

Вот пример:

Вы можете определить такую ​​команду в nrpe.cfg файл на целевом сервере:

command[check_my_query]=/usr/lib/nagios/plugins/check_my_query.sh

Вам нужно написать сценарий /usr/lib/nagios/plugins/check_my_query.sh на целевом сервере. Конечно, вы можете передавать любые необходимые параметры как обычно.

На сервере nagios вы определяете команду проверки следующим образом:

define service{
        use                             generic-service
        host_name                       My_Target_Server
        service_description             My_Query
        check_command                   check_nrpe_1arg!check_my_query
        notifications_enabled           1
        }

Вам нужно использовать собственное имя check_nrpe_1arg вы найдете в своей конфигурации nagios. Его уже можно определить как:

define command {
        command_name    check_nrpe_1arg
        command_line    /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -t 15
}

Похоже, вы действительно хотите узнать, как использовать check_nrpe с настраиваемым набором параметров, применяемым к существующему плагину.

Сначала установите плагин проверки mysql на свой сервер mysql. Выясните, какую команду вы хотите выполнить и какие параметры вам нужны. Запишите эти настройки.

Установите демон NRPE на свой сервер mysql. При необходимости откройте порт 5666 в iptables. Отредактируйте файл /etc/nagios/nrpe.cfg и добавьте строку, подобную следующей.

command[annoying_mysql_check]=/usr/lib/nagios/plugins/check_mysql -w 5 -c 10 "select top 10 from .. order by"

С вашего сервера Nagios (из командной строки)

check_nrpe -H <your mysql host> -c annoying_mysql_check

Это вернет результаты, которые вы нашли в самом первом наборе инструкций выше.

После того, как это будет работать из командной строки на вашем сервере Nagios, преобразуйте это в файлы синтаксиса и конфигурации, используемые Nagios для автоматизации планирования проверок. Это часть основной документации Nagios.

http://nagiosplugins.org/man/check_mysql_query который является частью пакета Nagios в Ubuntu. Не уверен, что он находится в пакете Nagios в CentOS (он может быть в другом пакете, чем обычный серверный пакет Nagios).

Для проверки вывода нужно поместить check_mysql_query в качестве «команды» в Nagios и запустить ее на сервере Nagios. Вы можете выполнить команду с любого компьютера, имеющего доступ к серверу MySQL, будь то сервер Nagios или какой-либо другой компьютер (в этом случае вы должны настроить NRPE на этом компьютере, который сервер Nagios будет нажимать для выполнения команды) .

Другое дело - графики. Вы можете использовать нагиограф, который мне очень сложно настроить. Еще есть Мунин.