Рубрика ‘Red Hat Enterprise Linux’

Настройка NSCA сервера для системы мониторинга Nagios

В данной заметке я напишу как настроить NSCA демона для работы системы проверки идентичности MySQL сервера.

Для корректной работы NSCA у вас уже должна быть установлена и настроена система мониторинга Nagios, то есть как минимум пробники для сервера localhost должны проверяться и отображаться корректно. Далее, необходимо установить NSCA сервер, в RHEL 5 это можно сделать командой (предварительно подключив epel репозиторий):

yum install nsca

После установки управление демоном происходит при помощи скрипта /etc/init.d/nsca, управление конфигурацией происходит при помощи файла /etc/nagios/nsca.cfg. Необходимо проверить, что путь до command_file указан верный, либо исправить, если это не так. У меня данный параметр настрен следующим образом:

# COMMAND FILE
# This is the location of the Nagios command file that the daemon
# should write all service check results that it receives.
command_file=/var/log/nagios/rw/nagios.cmd

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

После вышеописанных действий NSCA сервер настроен, осталось настроить клиента. Для этого устанавливаем его на сервере при помощи команды:

yum install nsca-client

Конфигурационный файл /etc/nagios/send_nsca.cfg в правках не нуждается, проверить корректность работы утилиты send_nsca можно следующим образом – запустить ее со следующими параметрами:

echo -e 'sql.lan.net\tMySQL Checksum Check\t0\tAll Good\n' | send_nsca nsca.server.hostname -p 5667

«echo -e» – передает на через pipe утилите send_nsca специальную строку с указанием сервера, сервиса, состояния (0 – все ок, 1 – Warning, 2 – Error, 3 – Unknown), параметр -e отвечает за обработку управляющих символов, то есть \t – табуляция, \n – перевод строки.

nsca.server.hostname – DNS адрес или IP адрес сервера.

После проверки при помощи send_nsca корректной работы связки nsca client – nsca server, осталось настроить систему мониторинга Nagios.

Для этого нужно создать шаблон для сервиса с типом passive, я использую следующий:

define service{
 name                            service_passive         ; The 'name' of this service template
 active_checks_enabled           1                       ; Active service checks are enabled
 passive_checks_enabled          1                       ; Passive service checks are enabled/accepted
 parallelize_check               1                       ; Active service checks should be parallelized (disabling this can lead to major performance problems)
 obsess_over_service             1                       ; We should obsess over this service (if necessary)
 check_freshness                 1                       ; Default is to NOT check service 'freshness'
 check_command                   check_dummy!3!"Service check to old"
 freshness_threshold             100
 notifications_enabled           1                       ; Service notifications are enabled
 event_handler_enabled           1                       ; Service event handler is enabled
 flap_detection_enabled          1                       ; Flap detection is enabled
 failure_prediction_enabled      1                       ; Failure prediction is enabled
 process_perf_data               1                       ; Process performance data
 retain_status_information       1                       ; Retain status information across program restarts
 retain_nonstatus_information    1                       ; Retain non-status information across program restarts
 is_volatile                     0                       ; The service is not volatile
 check_period                    never                    ; The service can be checked at any time of the day
 max_check_attempts              1                       ; Re-check the service up to 4 times in order to determine its final (hard) state
 normal_check_interval           3                       ; Check the service every 5 minutes under normal conditions
 retry_check_interval            1                       ; Re-check the service every minute until a hard state can be determined
 contact_groups                  admins                  ; Notifications get sent out to everyone in the 'admins' group
 notification_options            w,u,c,r                 ; Send notifications about warning, unknown, critical, and recovery events
 notification_interval           0                       ; Re-notify about service problems every hour
 notification_period             24x7                    ; Notifications can be sent out at any time
 register                        0                       ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
 }

Измените его под свои настройки Nagios, и проверте, что у вас есть timeperiod c именем never и содержимым:

# This one is a favorite: never 
define timeperiod{
timeperiod_name never
alias           Never
}

Этот период задает нулевую периодичность для проверки сервисов с типом passive. После вышеописанной настройки осталось настроить сам сервис, например так:

define service {
use                             service_passive
service_description             MySQL Checksum Check
name                            mysql_checksum_check
contact_groups                  admins, smsadmins
register                        0
}
define service {
use                             mysql_checksum_check
host_name                       sql.lan.net
}

Перезапускаем Nagios, для хоста, у которого мы настроили сервис MySQL Checksum Check он находится в состоянии pending, после отправки при помощи send_nsca сообщения указанного выше, через некоторое время он должен перейти в состояние ОК.

Название сервиса MySQL Checksum Check должно быть одинаковым как в конфигурации Nagios, так и для утилиты send_nsca, иначе Nagios не сможет обработать сообщение полученное от NSCA сервера.

Настройка timeout для сессии в Crystal Reports Server XI R2

Столкнулся с проблемой, после авторизации в CrystalReports Server`e и некорректном выходе пользователя в WEB интерфейсе сессия, которую он начал, может висеть бесконечно. В связи с тем, что на сервер было куплено всего 5 CAL, это доставляло большие проблемы и иногда приходилось перезапускать сервер, чтобы дать возможность менеджерам получить доступ к отчетам.

Решение проблемы:

Открываем файл bobje/tomcat/webapps/businessobjects/enterprise115/desktoplaunch/WEB-INF/web.xml

Находим блок

<listener>
<listener-class>com.businessobjects.sdk.ceutils.SessionCleanupListener</listener-class>
</listener>

И раскоментируем его. Ниже в этом же файле корректируем блок:

<session-config>
<session-timeout>10</session-timeout>    <!-- 20 minutes for session objects -->
</session-config>

И выставляем нужное нам значение. У меня стоит 10. После этого перезапускаем CRS сервер, чтобы удалить старые сессии и tomcat сервер, чтобы применились новые настройки. Все, проблема решена.

Проблемы с контроллером Adaptec 3805 (3405) часть 2

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

А точнее – подвисание сервера и возникновение следующих ошибок в dmesg лог файле:

aacraid: Host adapter abort request (4,0,1,0)
aacraid: Host adapter reset request. SCSI hang ?

Кажется удалось решить ее путем low level форматирования всех винчестеров и пересоздания RAID массива путем Build/Verify. На 1 сервере данные действия были выполнены + была установлена новая ОС и вот уже более 11 суток сервер работает без проблем, а до этого стабильно на 9-ый день работы подвисал с ошибкой указанной выше. На этой неделе попробую провести данные работы на еще 3-х серверах, если это поможет, то проблема будет считаться решеной.

Какие действия предпринимались для выявления причины проблемы:

1) Замена контроллера.

2) Обновление прошивки контроллера.

3) Обновление драйверов ОС RHEL 5 для данного контроллера.

4) Переустанка ОС RHEL 5 на сервере.

5) Замена кабелей для подключения RAID контроллера к backplane и выставление джамперов на backplane в режим SGPIO.

6) Low level format всех винчестеров на сервере + пересоздание RAID массивов через Build/Verify.

Использование mrepo

Написал статью об использовании утилиты mrepo для создания локальной копии репозитория пакетов для дистрибутива Red Hat Linux Enterprise 5. Пока черновой вариант.

Прочитать можно на сайте проекта contrib.ru – Создание копии репозитория rpm пакетов при помощи mrepo.