Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

00-tech-book

.pdf
Скачиваний:
42
Добавлен:
10.02.2016
Размер:
7.86 Mб
Скачать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

define service{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

name

 

local-service

; название шаблона

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

use

generic-service

; наследуем значения generic-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

; service

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

check_period

 

24x7

; период проверки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

max_check_attempts

 

4

; запрашивать статус сервиса до 4

 

 

 

 

 

; раз

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

normal_check_interval

5

; в нормальном состояние

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

; сервис проверять каждые

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

; минут

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

retry_check_interval

 

1

; перепроверка сервиса каждую

 

 

 

 

 

; минуты

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

contact_groups

 

admins

; контактная группа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

notification_options

 

w,u,c,r

; уведомления отправлять

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

; только в случае w – Warning

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

; state, u – Unknown state, c –

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

; Critical state и r – Recovery state

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

; (события наступающее в

 

 

 

 

 

 

 

; момент восстановления

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

; работоспособности сервиса)

 

 

 

 

 

 

 

 

 

 

 

notification_interval

 

60

; отправлять заново уведомление

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

; о проблеме с сервисами каждый

час

 

 

 

 

 

 

 

 

 

notification_period

 

24x7

; период уведомления,

 

 

 

 

 

; круглосуточно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

register

 

0

; этот блок команд - шаблон

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

#в конце описаны сервисы для мониторинга

#пингуем локальную машину, занятие конечно бесполезное но здесь это в

#качестве примера

 

 

 

 

 

 

 

 

define service{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

use

 

local-service ; используемый шаблон

 

 

 

 

 

 

 

 

host_name

localhost

 

 

 

 

 

 

 

 

service_description

PING

 

 

 

 

 

 

 

 

 

check_command

check

_ping!100.0,20%!500.0,60%

}

 

 

 

 

 

 

Модуль 12. Система мониторинга Nagios.

 

151

 

 

 

 

 

# проверяем свободное место в корне (/) локальной машины, если свободно

#менее 20% то сервис устанавливаем вWarning state, если менее 10% то

#Critical state

 

 

 

 

 

 

 

 

 

 

define service{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

use

 

local-service

; используемый шаблон

 

 

 

 

 

 

 

 

 

 

host_name

localhost

; какой хост проверяем

 

 

 

 

 

 

 

 

 

 

service_description

Root Partition

; название сервиса в Nagios

 

 

 

 

 

 

 

check_command

check_local_disk!20%!10%!/ ; команда

 

 

 

 

 

 

 

 

 

 

}

 

 

 

 

 

 

 

# мониторинг подключенных пользователей в локальной системе, если

#подключено более 20 то сервис переходит в режим Warning state, если более

#50 то Critical state

 

 

 

 

 

 

 

 

 

 

define service{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

use

 

local-service

; используемый шаблон

 

 

 

 

 

 

 

 

 

 

host_name

localhost

; какой хост проверяем

 

 

 

 

 

 

 

 

 

 

 

service_description

Current Users

; название сервиса в Na

gios

 

 

 

 

 

 

 

check_command

check_local_users!20!50 ; команда

 

 

 

 

 

 

 

 

 

 

}

 

 

 

 

 

 

 

# мониторинг локальных процессов, если запущено более 250 то наступает

#Warning state, если более 400 наступает Critical state

 

 

 

 

 

 

 

 

 

 

 

 

 

define service{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

use

 

local-service

; используемый шаблон

 

 

 

 

 

 

 

 

 

 

 

 

 

host_name

localhost

; какой хост проверяем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

service_description

Total Processes

; название сервиса в Na

gios

 

 

 

 

 

 

 

 

 

 

check_command

check_local_procs!250!400!RSZDT ; команда

 

 

 

 

 

 

 

 

 

 

 

 

 

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# проверяем нагрузку на локальной машине

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

define service{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

use

 

local-service

; используемый шаблон

 

 

 

 

 

 

 

 

 

 

host_name

localhost

; какой хост проверяем

 

 

 

 

 

 

 

 

 

 

 

 

 

service_description

Current Load

; название сервиса в Nagios

 

 

 

 

 

 

check_command

check_local_load!5.0,4.0,3.0!10.0,6.0,4.0 ; команда

 

 

 

 

 

 

 

 

 

 

 

 

}

 

 

 

 

 

 

 

 

 

 

Конфигурационный файл /etc/nagios/nagios.cfg

#NAGIOS.CFG - Sample Main Config File for Nagios 2.12

#LOG FILE

#Log-файл куда пишутся все события хостов и сервисов

 

152

 

Модуль 12. Система мониторинга Nagios.

 

 

 

 

#NAGIOS.CFG - Sample Main Config File for Nagios 2.12

#LOG FILE

#Log-файл куда пишутся все события хостов и сервисов

#эта опция должна быть первой в конфигурационном файле! log_file=/var/log/nagios/nagios.log

#OBJECT CONFIGURATION FILE(S)

#Объектные файлы — это файлы в которых описываются хосты, хост группы,

#контакты, группы контактов, сервисы и т.д.

#все эти секции могут быть описаны в разных файлах, для этого нужно

#использовать директиву cfg_file

#Команды описаны в этом файле cfg_file=/etc/nagios/commands.cfg

#localhost и его сервисы описаны в этом файле cfg_file=/etc/nagios/localhost.cfg

#Ниже представлен пример разделения секций по разным файлам

#cfg_file=/etc/nagios/contactgroups.cfg #cfg_file=/etc/nagios/contacts.cfg #cfg_file=/etc/nagios/dependencies.cfg #cfg_file=/etc/nagios/escalations.cfg #cfg_file=/etc/nagios/hostgroups.cfg #cfg_file=/etc/nagios/hosts.cfg #cfg_file=/etc/nagios/services.cfg #cfg_file=/etc/nagios/timeperiods.cfg

# Nagios умеет обрабатывать все файлы с расширением .cfg в каком либо

#каталоге, для этого используется директива cfg_dir

#cfg_dir=/etc/nagios/servers #cfg_dir=/etc/nagios/printers #cfg_dir=/etc/nagios/switches #cfg_dir=/etc/nagios/routers

#OBJECT CACHE FILE

#Cache-файл Nagios. CGI — программы получают конфигурацию из него а не

#напрямую из объектных файлов. Это защищает от несогласованности

#конфигурации в случае, если она изменялась после старта Nagios.

object_cache_file=/var/log/nagios/objects.cache

# RESOURCE FILE

Модуль 12. Система мониторинга Nagios.

 

153

 

 

 

#Файл содержащий $USERx$ макросы

#CGI-программы будут использовать указанный вами макрос но они не будут

#знать что внутри этого макроса. Макросы стоит использовать при указание в

#команде логинов/паролей и другой конфиденциальной информации.

#на файл /etc/nagios/private/resource.cfg установлены права 640

resource_file=/etc/nagios/private/resource.cfg

#STATUS FILE

#Файл в котором сохранен текущий статус всех сервисов и хостов, он

#очищается при перезагрузке Nagios

status_file=/var/log/nagios/status.dat

#NAGIOS USER

#От какого пользователя запускать процесс Nagios в операционной системе

nagios_user=nagios

#NAGIOS GROUP

#Рабочая группа Nagios

nagios_group=nagios

#EXTERNAL COMMAND OPTION

#Включать ли внешние команды. Если включим то появится возможность

#управлять хостами и сервисами через веб-интерфейс (включать/отключать

#уведомления для них, включать/выключать пассивные проверки и т.д.).

check_external_commands=0

#EXTERNAL COMMAND CHECK INTERVAL

#Интервал, через который Nagios будет проверять наличие команд для себя.

#Команды через веб-интерфейс выполняются не сразу а через определенный

#интервал. Этот интервал мы и указываем.

#Можно указать значение в секундах, например 15s а можно указать -1 что

#означает проверять наличие команд так часто, как только возможно

#command_check_interval=15s command_check_interval=-1

#EXTERNAL COMMAND FILE

#Файл в который будут записываться команды в очередь на выполнение. Он

#должен иметь права на запись для пользователя от которого выполняется

#процесс веб-сервера

command_file=/var/spool/nagios/cmd/nagios.cmd

154

 

Модуль 12. Система мониторинга Nagios.

 

 

 

#EXTERNAL COMMAND BUFFER SLOTS

#Количество слотов для внешних команд. Значения по умолчанию более чем

#достаточно

external_command_buffer_slots=4096

#COMMENT FILE

#Файл в котором сохраняются комментарии для хостов и сервисов

comment_file=/var/log/nagios/comments.dat

#DOWNTIME FILE

#Файл в котором сохраняется информация о downtime-времени хостов и

#сервисов, То есть времени когда они не доступны

downtime_file=/var/log/nagios/downtime.dat

#LOCK FILE

#В этом файле хранится PID процесса Nagios. Используется сторонними

#программами

lock_file=/var/run/nagios.pid

#TEMP FILE

#Временный файл используется при обновление статус-лога, очистки

#комментариев и т.д.

temp_file=/var/log/nagios/nagios.tmp

#EVENT BROKER OPTIONS

#Благодря модулям, брокер может обслуживать различные происходящие

#события в Nagios

#Values: 0 = Broker nothing

#-1 = Broker everything

#<other> = See documentation

event_broker_options=-1

#EVENT BROKER MODULE(S)

#Здесь подгружаются модули брокера

#Example:

#

# broker_module=<modulepath> [moduleargs]

#broker_module=/somewhere/module1.o #broker_module=/somewhere/module2.o arg1 arg2=3 debug=0

Модуль 12. Система мониторинга Nagios.

 

155

 

 

 

#LOG ROTATION METHOD

#Способы ротации главного лога Nagios

 

 

 

 

 

 

#

n

= None - don’t rotate the log

 

 

 

 

 

#

h

= Hourly rotation (top of the hour)

 

 

 

 

#

d

= Daily rotation (midnight every day)

 

 

 

#

w

= Weekly rotation (midnight on Saturday evening)

#m = Monthly rotation (midnight last day of month)

log_rotation_method=d

#LOG ARCHIVE PATH

#Расположение архива лог-файлов

log_archive_path=/var/log/nagios/archives

#LOGGING OPTIONS

#Используем системную службу Syslog чтобы записывать логи

use_syslog=1

#NOTIFICATION LOGGING OPTION

#Уведомления тоже записывать в лог

log_notifications=1

#SERVICE RETRY LOGGING OPTION

#Повторные проверки сервисов тоже записывать в лог

log_service_retries=1

#HOST RETRY LOGGING OPTION

#Повторные проверки хостов тоже записывать в лог

log_host_retries=1

#EVENT HANDLER LOGGING OPTION

#Записываем в логи event handlers, event handlers — это опциональные программы

#которые могут быть выполнены когда состояние хоста или сервиса изменяется

log_event_handlers=1

#INITIAL STATES LOGGING OPTION

#Записывать ли initial state в лог-файл ? Initial state — это когда хост или сервис

#проверяется в первый раз, включить — 1, выключить — 0

log_initial_states=0

 

156

 

Модуль 12. Система мониторинга Nagios.

 

 

 

 

#EXTERNAL COMMANDS LOGGING OPTION

#Записывать ли в лог активность внешних команд ?

#Опция не включает логирование пассивных проверок, для этого есть опция о

#которой ниже

log_external_commands=1

#PASSIVE CHECKS LOGGING OPTION

#Логирование пассивных проверок хостов и сервисов

log_passive_checks=1

#GLOBAL HOST AND SERVICE EVENT HANDLERS

#Опции позволяют указать команды event handler`а для хоста или сервиса,

#которые будут выполняться в случае изменения их состояния. global event

#handler выполняется немедленно, предшествуя event handler`у указанному в

#секции хоста или сервиса.

#global_host_event_handler=somecommand #global_service_event_handler=somecommand

#SERVICE INTER-CHECK DELAY METHOD

#Метод распределения нагрузки в момент старта мониторинга. Чтобы снизить

#нагрузку на сервер мониторинга, все запросы к сервисам отсылаются не в

#один момент времени а с определенным интервалом.

 

 

 

 

 

 

 

 

#

n

= None - don’t use any delay between checks

 

 

 

 

 

 

 

#

d

= Use a “dumb” delay of 1 second between checks

 

 

 

 

 

 

#

s

= Use “smart” inter-check delay calculation

 

 

 

 

 

#

x.xx

= Use an inter-check delay of x.xx seconds

service_inter_check_delay_method=s

#MAXIMUM SERVICE CHECK SPREAD

#Временной фрейм в течение которого все первичные проверки сервисов

#должны быть завершены. По умолчанию 30 минут.

max_service_check_spread=30

#SERVICE CHECK INTERLEAVE FACTOR

#Это значение определяет метод чередования проверок хостов и сервисов,

#который позволит снизить нагрузку на удаленную машину

#s = Use “smart” interleave factor calculation

#x = Use an interleave factor of x, where x is a

#number greater than or equal to 1.

service_interleave_factor=s

Модуль 12. Система мониторинга Nagios.

 

157

 

 

 

#HOST INTER-CHECK DELAY METHOD

#Метод распределения нагрузки в момент старта мониторинга. Чтобы снизить

#нагрузку на сервер мониторинга, все запросы к хостам отсылаются не в один

#момент времени а с определенным интервалом.

 

 

 

 

 

 

 

#

n

= None - don’t use any delay between checks

 

 

 

 

 

 

 

#

d

= Use a “dumb” delay of 1 second between

checks

 

 

 

 

 

 

#

s

= Use “smart” inter-check delay calculation

 

 

 

 

 

 

#

x.xx

= Use an inter-check delay of x.xx seconds

 

 

 

host_inter_check_delay_method=s

#MAXIMUM HOST CHECK SPREAD

#Временной фрейм в течение которого все первичные проверки сервисов

#должны быть завершены. По умолчанию 30 минут.

max_host_check_spread=30

#MAXIMUM CONCURRENT SERVICE CHECKS

#Опция позволяет задать максимальное число сервисов, проверяемых

#параллельно в определенный момент времени. 1 — запрещает проверку

#сервисов в параллельном режиме, 0 — не ограничивает число одновременных

#проверок

max_concurrent_checks=0

#SERVICE CHECK REAPER FREQUENCY

#Частота с которой Nagios обрабатывает результаты проверки сервисов.

#Указывается в секундах.

service_reaper_frequency=10

#CHECK RESULT BUFFER SLOTS

#Задает число слотов для хранения результатов проверки сервисов, после

#обработки результата слот освобождается. Значения по умолчанию более чем

#достаточно.

check_result_buffer_slots=4096

#AUTO-RESCHEDULING OPTION

#Опция может помочь сбалансировать нагрузку на сервер мониторинга

#автоматически переназначив проверку хостов и сервисов, распределяя

#нагрузку во времени. Опция эксперементальная и ее использование на свой

#страх и риск.

auto_reschedule_checks=0

# AUTO-RESCHEDULING INTERVAL

 

158

 

Модуль 12. Система мониторинга Nagios.

 

 

 

 

#Интервал переназначения в секундах. auto_rescheduling_interval=30

#AUTO-RESCHEDULING WINDOW

#Размер «окна» в секундах. Проверки хостов и сервисов назначенные в

#следующие X секунд (размер окна) будут переназначены.

auto_rescheduling_window=180

#SLEEP TIME

#Время «сна» между которыми проверяются системные события и проверки

#сервисов которые должны быть выполнены

sleep_time=0.25

#TIMEOUT VALUES

#Как много времени давать на выполнение команде, после истечения которого

#она будет принудительно завершена. Значение указывается в секундах.

service_check_timeout=60 host_check_timeout=30 event_handler_timeout=30 notification_timeout=30 ocsp_timeout=5 perfdata_timeout=5

#RETAIN STATE INFORMATION

#Сохранять ли статусную информацию для хостов и сервисов в случае

#выключения Nagios. После рестарта Nagios вся сохраненная информация

#будет обратно загружена.

retain_state_information=1

#STATE RETENTION FILE

#Файл в котором сохраняется информация о статусе хостов и сервисов перед

#выключение Nagios. Файл используется только если preserve_state_information

#равен 1

state_retention_file=/var/log/nagios/retention.dat

#RETENTION DATA UPDATE INTERVAL

#Как часто сохранять в файл информацию о статусе хостов и сервисов пока

#Nagios нормально работает. Указывается в минутах.

retention_update_interval=60

Модуль 12. Система мониторинга Nagios.

 

159

 

 

 

#USE RETAINED PROGRAM STATE

#Восстанавливать ли статус для хостов и сервисов из retention file. 1 —

#восстанавливать, 0 - нет

use_retained_program_state=1

#USE RETAINED SCHEDULING INFO

#Восстанавливать ли информацию о запланированной следующей проверке из

#retention file или нет.

use_retained_scheduling_info=0

#INTERVAL LENGTH

#Интервал проверки

interval_length=60

#AGGRESSIVE HOST CHECKING OPTION

#Включать ли агресивную проверку хостов. Это может занять больше времени

#чем обычная. 1 — включить, 0 - выключить

use_aggressive_host_checking=0

#SERVICE CHECK EXECUTION OPTION

#Выполнять ли активно проверки сервисов когда они стартуют первый раз

#1 — включать активные проверки, 0 — не включать

execute_service_checks=1

#PASSIVE SERVICE CHECK ACCEPTANCE OPTION

#Принимать ли результаты пассивных проверок когда сервисы только

#стартуют или рестартуют

#1 — принимать пассивные проверки, 0 — не принимать

accept_passive_service_checks=1

#HOST CHECK EXECUTION OPTION

#Выполнять ли активно проверки хостов когда они стартуют первый раз

#1 — включать активные проверки, 0 — не включать

execute_host_checks=1

#PASSIVE HOST CHECK ACCEPTANCE OPTION

#Принимать ли результаты пассивных проверок когда хосты только стартуют

#или рестартуют

accept_passive_host_checks=1

 

160

 

Модуль 12. Система мониторинга Nagios.