Группы хостов и шаблоны.
Шаблоны позволяют вам определять классы для ваших хостов и сервисов, например, «обычный сервис», «критический сервис», «хост с низким приоритетом». Они также служат полезным способом разделения обязанностей, если у вас есть несколько команд с разными обязанностями, поэтому вы можете иметь шаблон "хост Linux" и шаблон "хост Windows", каждый из которых определяет соответствующую контактную информацию.
Вы можете использовать несколько шаблонов на одном ресурсе, чтобы вы могли составлять соответственно ортогональные шаблоны. Например, вы можете иметь
host foo {
use windows-host,normal-priority-host
...
}
который будет получать контактную информацию (и сведения об эскалации) для команды Windows, а также частоту и пороги опроса для «нормального» хоста.
Группы хостов позволяют группировать все проверки для подмножества ваших хостов. Есть такие вещи, как «baseline-linux-hosts», которые проверяют нагрузку, дисковое пространство, ssh
возможности и все, что должно быть на каждом хосте, который вы отслеживаете. Добавьте группы, такие как «https-серверы», с проверками HTTP-соединения, HTTPS-соединения и дат истечения срока действия SSL-сертификата; «файловые серверы» с проверками доступности NFS и SMB и, возможно, более агрессивными проверками дисков; или «виртуальные машины» с проверками правильности работы инструментов доступности виртуальных машин.
Поместите каждый хост и группу хостов в отдельный файл. Этот файл должен сначала содержать определение хоста или группы хостов, а затем определения сервисов, которые к нему относятся.
Если вы используете cfg_dir
директиву в своем nagios.cfg
файле, Nagios будет выполнять рекурсивный поиск по этому каталогу. Используйте это. Для настройки у cfg_dir=/etc/nagios/conf.d
вас может быть дерево каталогов, подобное следующему:
- /etc/nagios/conf.d/
- commands.d /
- http.cfg
- nrpe.cfg
- smtp.cfg
- ssh.cfg
- hosts.d /
- host1.cfg
- host2.cfg
- host3.cfg
- hostgroups.d /
- hostgroup1.cfg
- hostgroup2.cfg
Я склонен создавать каталог для каждого типа ресурса (команды, группы контактов, контакты, эскалации, группы хостов, хосты, группы сервисов, периоды времени), за исключением сервисов, которые группируются с хостами или группами хостов, которые их используют.
Точная структура может варьироваться в зависимости от ваших организационных потребностей. На прошлой работе я использовал подкаталоги hosts.d
для каждого отдельного сайта. В моей нынешней работе большинство определений хостов Nagios управляются Puppet, поэтому есть один каталог для хостов, управляемых Puppet, и отдельный каталог для хостов, управляемых вручную.
Обратите внимание, что вышеизложенное также разбивает команды на несколько файлов, как правило, по протоколу. Таким образом, nrpe.cfg
файл будет иметь команды check_nrpe
и check_nrpe_1arg
, в то время как http.cfg
могли бы check_http
, check_http_port
, check_https
, check_https_port
, и check_https_cert
. 1
У меня обычно нет огромного количества шаблонов, поэтому у меня обычно есть hosts.d/templates.cfg
файл и services.d/templates.cfg
файл. Если вы используете их более интенсивно, они могут перейти в соответствующие файлы в templates.d
каталоге.
1 Мне также нравится иметь check_http_blindly
команду, которая в основном check_http -H $HOSTADDRESS$ -I $HOSTADDRESS$ -e HTTP/1.
; он возвращает ОК, даже если он получает код ответа 403.
Я использовался для настройки своих серверов nagios (до того, как я переключился на Icinga) таким образом, и нет недостатка в производительности, пока вы не достигнете более 500 сервисов, по крайней мере, с 512Mb сервером CPU / 1 CPU. Группы хостов и сервисные группы могут обрабатываться полностью раздельно, и я бы рекомендовал этот подход, поскольку он позволяет иметь один файл на сервер (сервисы для этого сервера определены в этом файле), а затем - файл на группу хостов / сервисные группы. Это только более понятно / ясно.
Если у вас возникают проблемы с масштабируемостью, вы можете взглянуть на nagios-nrpe-server, который выполняет проверки на стороне клиента, и все, что делает ваш сервер nagios - запрашивает только результаты; которые щадят ресурс чека. (Nagios запускает check_nrpe, клиент запрашивается, выполняет проверки локально и отвечает обратно nagios). Помните, что все проверки не могут быть обработаны таким образом (например, SNMP).
В заключение, и даже если это может показаться недопустимым в отношении вашего вопроса, я бы предложил перейти на Icinga, которая является более масштабируемой и поддерживается более сильным сообществом, которое действительно заботится о реализации новых функций и поддержке пользователей. Конфигурация та же (те же файлы конфигурации, тот же синтаксис).
источник
Я использую эту схему:
У каждой сущности есть свой файл. Кроме того, с помощью шаблонов вы всегда можете сделать свой очиститель конфигурации более читабельным. Например, у вас может быть средняя загрузка, дисковое пространство, память на каждом хосте. Так что довольно просто и удобно создать общий шаблон и использовать его.
источник
Вы не можете усложнить настройку с созданием групп. Как говорит asciiphil, вы создаете файл или можете определить те же группы в некоторых из существующих файлов, таких как (hosts.cfg или что-либо еще), и вы создаете этот файл или говорите nagios, что этот файл активен (это если вы создаете новое поле, если оно еще не активно), и это находится в файле nagios.cfg, где вы указываете путь к вновь созданному файлу. "Cfg_file = / USR / местные / Nagios / и т.д. / объекты / NEW_FILE.cfg"
Другое дело просто создавать группы в зависимости от вашей инфраструктуры. Если, например, у меня Linux и Windows Server, я сделаю две разные группы: одну для Linux и другую для Windows. То же самое и с услугами. В зависимости от того, как вы хотите настроить и увидеть, когда вы проводите мониторинг на мониторе, как бы вы хотели, чтобы вы видели их как группы.
А для файла или части, как составить группу, это просто.
А в конфигурации хоста / или если вы используете шаблон или если вы уже определили шаблон хоста или службу и используете использование, вы можете автоматически сказать всем хостам / windows или linux, что они являются членами определенной группы хостов, которую вы создали.
источник