место в рейтинге
  • 1139658
  • 691
  • 90
Нравится блог?
Подписывайтесь!

Кратко: Установка Nagios на CentOS 6 x32

В компаниях где работают важные информационные системы, IT-специалистам требуется следить за работоспособностью таких систем. Бизнес процессы компании не должны прерываться ни при каких условиях. Бывает что сервер падает или зависает служба,  и в это время например клиенты компании не смогут купить определенный товар. Такая не очень красивая ситуация может отразиться на минусовой прибыли, а также на репутации. Представьте себя на месте покупателя, вам не понравится ждать пока заработает бухгалтерская программа на упавшем сервере (учетная система 1С).

Чтобы отследить такие случаи и оперативно исправить проблему, нужно сперва чтобы IT-специалист узнал где у него возникла поломка. Вот тут-то и выходят службы мониторинга систем и сетей на сцену. Данные системы призваны предупреждать системного администратора о случившемся сбое, уведомляя его об этом путем отправки СМС сообщения на его мобильный, электронного почтового письма или пейджинговой строчки.

Так вот в этой короткой записке, будет описан процесс установки Nagios, программы мониторинга систем и сетей на CentOS 6 x32

Краткое содержание:

1. Задача по мониторингу

2. Установка Nagios

3. Настройка агента на клиентских машинах

4. Настройка сервера мониторинга, добавление клиентов

 

Сперва создадим себе задачу, чтобы потом решать ее с помощью системы мониторинга, начнем нашу установку с описания задачи.

1. Задача по мониторингу

Допустим у нас имеется малый офис с пятью серверами:

1. Программный шлюз  который дает доступ в Интернет сотрудникам офиса.

Здесь мы будем проверять ping, http, dns и ssh  сервисы.

ping - по ping мы будем знать работает ли хост.

dns - у меня этот хост также является DNS первичным сервером, поэтому хочу знать состояние DNS службы.

http - по протоколу http у меня работает демон Apache, через который управляется шлюз,  поэтому мне важно иметь рабочий веб доступ к серверу.

ssh - тут всем все понятно, удаленный доступ.

 

2. Почтовый сервер на Postfix'е

Здесь мы мониторим доступность хоста и основных служб SMTP и POP/IMAP

 

3. Сервер виртуализации на базе KVM

Этот сервер будем мониторить по его доступности, а также нам интересен доступ по ssh.

На этом сервер также у нас крутится две машины:

- Доменный контроллер Windows Server STD 2003

- Сервер с учетной системой 1С:Предприятие 8.2 + MS SQL 2008

Мониторить эти две машины будет агент, Nagios агент позволит узнать о этих машина следующею информацию: дисковое место, свободная ОЗУ, загрузка CPU и т.д.

 

А теперь напишем IP адреса все серверов которые буду участвовать:

10.168.50.2 - это IP адрес управляемого программного Интернет шлюза (Linux)

10.168.50.3 - это IP адрес почтового сервера (Linux)

10.168.50.5 - это сервер 1С на Windows Server 2003

10.168.50.6 - это сервер виртуализации на KVM

10.168.50.8 - это доменный контролер

 

Сам Nagios Server будет у нас установлен на Интернет шлюз который раздает Интернет

 

Все задачи ясны, приступим к реализации. Установим Nagios.

 

2. Установка Nagios

Подключим репозитроий "Epel":

# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

Устанавливаем зависимости и сам Nagios:

# yum install nagios nagios-plugins-all nagios-plugins-nrpe nrpe php httpd -y

После установки, Nagios расположится в каталоге - /etc/nagios/. Основной конфигурационый файл находится в нем, его имя nagios.cfg.

В этом каталоге есть подкаталог с именем - /etc/nagios/conf.d/. Здесь будут лежать наши конфигурационные файлы.

Сразу же ставим службы в автозагрузку и запускаем их:

# chkconfig nagios on

# chkconfig httpd on

# service httpd start

# service nagios start

Сразу же зададим пароль для администраторской учетной записи Nagios под именем "nagiosadmin":

# htpasswd -c /etc/nagios/passwd nagiosadmin

Учетная запись с именем "nagiosadmin" создается автоматически при установке Nagios.

Теперь мы можем войти на веб страничку:

http://your IP/nagios/

 

3. Настройка агента на Windows клиентских машинах

 
На Windows сервере устанавливаем агента, с помощью этого агента будем узнавать о Windows хосте.
Скачайте Microsoft Visual C++ 2005 SP1 x32

На Windows сервере устанавливаем агента, с помощью этого агента будем узнавать о Windows хосте.
Скачайте Microsoft Visual C++ 2005 SP1 x32

http://www.microsoft.com/en-us/download/confirmation.aspx?id=5638

или x64 -  http://www.microsoft.com/en-us/download/details.aspx?id=18471

Установите скачанный файл. Скачайте  агента Nagios по следующей ссылке:

x64

http://files.nsclient.org/0.3.x/NSClient%2B%2B-0.3.5-x64.msi

x32

http://files.nsclient.org/0.3.x/NSClient++-0.3.5-Win32.msi

Инсталируйте его, после чего потребуется его настройка.

Сперва включим Nagios Clinet Tray, откроем файл C:\Program Files\NSClient++\NSC.ini

В секции [modules] расскоментируем SysTray.dll

  1. [modules]
  2. FileLogger.dll
  3. CheckSystem.dll
  4. CheckDisk.dll
  5. NSClientListener.dll
  6. NRPEListener.dll
  7. SysTray.dll
  8. CheckEventLog.dll
  9. CheckHelpers.dll
  10. CheckWMI.dll

Ставим пароль:

  1. ;# PASSWORD
  2. ; This is the password (-s) that is required to access NSClient remotely.
  3. ; If you leave this blank everyone will be able to access the daemon remotly.
  4. password=123456

Ставим IP адрес сервера Nagios

  1. ;# ALLOWED HOST ADDRESSES
  2. ; This is a comma-delimited list of IP address of hosts that are allowed to talk to the all daemons.
  3. ; If leave this blank anyone can access the deamon remotly (NSClient still requires a valid password).
  4. ; The syntax is host or ip/mask so 192.168.0.0/24 will allow anyone on that subnet access
  5. allowed_hosts=10.168.50.2/255.255.255.0
  6. [NSClient]
  7. ;# ALLOWED HOST ADDRESSES
  8. ; This is a comma-delimited list of IP address of hosts that are allowed to talk to NSClient deamon.
  9. ; If you leave this blank the global version will be used instead.
  10. allowed_hosts=10.168.50.2

Ставим пароль еще раз

  1. ;# ENCRYPTION PASSWORD
  2. ; This is the password/passphrase that should be used to encrypt
  3. ; the sent packets.
  4. password=123456

Сохраняем файлик

Нажимаем меню ПУСК -> Выполнить -> service.msc

Находим службу NSClinetpp, нажимаем свойства -> Галка Вход в систему: С системной учетной записью и Разрешить взаимодействие с рабочим столом

У Nagios имеются конфигурационные файлы в следующих каталогах:

1. /etc/nagios/ - содержит главные конфигурационные файлы, там находится головной файлик nagios.cfg, который нужен демону Nagios. Редактировать файл не нужно.

2. /etc/nagios/conf.d/ - дополнительные конфигурационные файлы, вот там-то  и будут наши настройки, мы создадим там необходимые нам файлы для например оглашения хостов с которых будем собирать данные

3. /etc/nagios/objects/ - содержит конфигурационные файлы для выполнения команд, которые и будут собирать статистику. А также каталог содержит example  примеры, в которых описано как можно мониторить. Вот с этих файлов можно взять настройки себе в /etc/nagios/conf.d/ и сидеть тихо :)

 

Теперь настраиваем Nagios, чтобы мониторить Windows компьютеры, подправим последовательно файлы:

1. /etc/nagios/objects/commands.cfg

2. /etc/nagios/nagios.cfg

Редактируем /etc/nagios/objects/commands.cfg

# vi /etc/nagios/objects/commands.cfg

Находим следующее и добавляем пароль -s 123456

  1. # 'check_nt' command definition
  2. define command{
  3. command_name check_nt
  4. command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s 123456 -v $ARG1$ $ARG2$
  5. }

Это требуется чтобы включить мониторинг Windows хостов.

Теперь создадим файл /etc/nagios/conf.d/mywinhosts.cfg, где будет наш Windows сервер

  1. # WINDOWS SERVERS
  2. define host{
  3. host_name windows-server
  4. alias WINDOWS-SERVER
  5. address 10.168.50.10
  6. use generic-host
  7. #name generic-host ; The name of this host template
  8. notifications_enabled 1 ; Host notifications are enabled
  9. event_handler_enabled 1 ; Host event handler is enabled
  10. flap_detection_enabled 1 ; Flap detection is enabled
  11. failure_prediction_enabled 1 ; Failure prediction is enabled
  12. process_perf_data 1 ; Process performance data
  13. retain_status_information 1 ; Retain status information across program restarts
  14. retain_nonstatus_information 1 ; Retain non-status information across program restarts
  15. check_command check-host-alive
  16. max_check_attempts 10
  17. notification_interval 0
  18. notification_period 24x7
  19. notification_options d,u,r
  20. contact_groups admins
  21. }
Создадим группу хостов /etc/nagios/conf.d/hostgroups_windows.cfg
Здесь будет наш Windows сервер, серверы можно добавлять через запятую, например строка members windows-server, windows-server2, windows-server3
  1. # WINDOWS SERVERS
  2. define hostgroup {
  3. hostgroup_name windows-servers
  4. alias WINDOWS SERVERS
  5. members windows-server
  6. }

Создадим файл /etc/nagios/conf.d/services_windows.cfg для мониторинга пинга, CPU, памяти, место на диске.

  1. # NSCLIENT
  2. define service {
  3. hostgroup_name windows-servers
  4. service_description NSClient++ Version
  5. check_command check_nt!CLIENTVERSION
  6. use generic-service
  7. }
  8. # PING
  9. define service {
  10. hostgroup_name windows-servers
  11. service_description PING
  12. check_command check_ping!100.0,20%!500.0,60%
  13. use generic-service
  14. }
  15. # CPU
  16. define service {
  17. hostgroup_name windows-servers
  18. service_description CPU Load
  19. check_command check_nt!CPULOAD!-l 5,80,90
  20. use generic-service
  21. }
  22. # MEMORY
  23. define service {
  24. hostgroup_name windows-servers
  25. service_description Memory Usage
  26. check_command check_nt!MEMUSE!-w 80 -c 90
  27. use generic-service
  28. }
  29. # DISK SPACE
  30. define service {
  31. hostgroup_name windows-servers
  32. service_description C: Drive Space
  33. check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90
  34. use generic-service
  35. }

Если у вас проблемы с конфиг файлами nagios, запускайте debug режим, в котором показано где ошибка:

# nagios -v /etc/nagios/nagios.cfg

или

# nagios /etc/nagios/nagios.cfg

Обычно когда все хорошо, выводится вот такие строчки:

Total Warnings: 0

Total Errors:   0

Перезапускаем демон:

# service nagios restart

Заходим на страничку http://you ip/nagios

Вводим логин и пароль nagiosadmin / 123456

А вот скрин на котором видно как мониторится Windows Server и сервер на котром установлен Nagios (Localhost)

 

Если в колонке Status стоит PENDING, значить хост еще не опрошен.Через минуты две будут появляться зеленные квадратики с надписью ОК как на картинке на верху.

 

Мониторинг Linux хоста по внешним сервисам

Создадим описание Linux хоста, файл /etc/nagios/cond.d/centoshost.cfg

А также группу Linux хостов - /etc/nagios/conf.d/centosgroup.cfg

Создадим описание сервисов -  /etc/nagios/conf.d/services_centos.cfg

# vi /etc/nagios/conf.d/centoshost.cfg

  1. # CENTOS SERVERS
  2. define host{
  3. host_name centos-server
  4. alias CENTOS-SERVER
  5. address 10.168.50.3
  6. use generic-host
  7. #name generic-host ; The name of this host template
  8. notifications_enabled 1 ; Host notifications are enabled
  9. event_handler_enabled 1 ; Host event handler is enabled
  10. flap_detection_enabled 1 ; Flap detection is enabled
  11. failure_prediction_enabled 1 ; Failure prediction is enabled
  12. process_perf_data 1 ; Process performance data
  13. retain_status_information 1 ; Retain status information across program restarts
  14. retain_nonstatus_information 1 ; Retain non-status information across program restarts
  15. check_command check-host-alive
  16. max_check_attempts 10
  17. notification_interval 0
  18. notification_period 24x7
  19. notification_options d,u,r
  20. contact_groups admins
  21. }

# vi /etc/nagios/conf.d/centosgroup.cfg

  1. # CENTOS SERVERS
  2. define hostgroup {
  3. hostgroup_name centos-servers
  4. alias CENTOS SERVERS
  5. members centos-server
  6. }

Создадим файл с описанием проверов CentOS хостов/хоста - /etc/nagios/conf.d/services_centos.cfg

  1. # PING
  2. define service{
  3. hostgroup_name centos-servers
  4. use generic-service
  5. host_name centos-server
  6. service_description PING
  7. check_command check_ping!100.0,20%!500.0,60%
  8. }
  9. # SSH
  10. define service{
  11. hostgroup_name centos-servers
  12. use generic-service
  13. host_name centos-server
  14. service_description SSH
  15. check_command check_ssh
  16. notifications_enabled 0
  17. }
  18. # HTTP
  19. define service{
  20. hostgroup_name centos-servers
  21. use generic-service
  22. host_name centos-server
  23. service_description HTTP
  24. check_command check_http
  25. notifications_enabled 0
  26. }

  27. # SMTP
  28. define service{
  29. hostgroup_name centos-servers
  30. use generic-service
  31. host_name centos-server
  32. service_description SMTP
  33. check_command check_smtp
  34. notifications_enabled 0
  35. }

  36. # IMAP
  37. define service{
  38. hostgroup_name centos-servers
  39. use generic-service
  40. host_name centos-server
  41. service_description IMAP
  42. check_command check_imap
  43. notifications_enabled 0
  44. }
  45. # POP
  46. define service{
  47. hostgroup_name centos-servers
  48. use generic-service
  49. host_name centos-server
  50. service_description POP
  51. check_command check_pop
  52. notifications_enabled 0
  53. }
  54. # DNS
  55. define service{
  56. hostgroup_name centos-servers
  57. use generic-service
  58. host_name centos-server
  59. service_description dns service
  60. check_command check_dns
  61. notifications_enabled 0
  62. }
  63. # 'check_dns' command definition
  64. define command{
  65. command_name check_dns
  66. command_line /usr/lib/nagios/plugins/check_dns -H www.google.com -s '$HOSTADDRESS$'
  67. }

Проверим конфиг файл на ошибки:

# nagios -v /etc/nagios/nagios.cfg

Перечитаем конфиг файл:

# service nagios reload

Проверяем, зайдем на http://you IP/nagios

 

 

--

 

Итого: Как видим, мониторятся  три хоста: Localhost (Internet GateWay Server), Mail и Windows сервер.

Включайте свои Windows и Linux сервера в группы, чтобы увидеть их в мониторинге.

Almas AkeHayc
Пишу для себя, блог как записная книжка. Со временем все забывается, а у меня оно все в бложике. Будьте упертым глухим и веселым бегемотиком :)
7 октября 2011, 11:02
6278

Loading...

Комментарии

Уважаемый, куда он устанавливает web-интерфейс? у меня его не появилось (fedora 13)
так подробнее будет
The requested URL /nagios was not found on this server.
Apache/2.2.17 (Fedora) Server at 10.168.5.1 Port 80
грабли найдены, нужно вручную добавлять Alias в httpd.conf. Пример алиаса расположен в {install_directory}/sample-config/httpd.conf
Пожалуйста добавьте этот в статью.
Спасибо, Вася.
Исправлю в ближайшее время, пока что руки не доходят довести записку до конца.
diamaz
0
0
Просьба дописать статью до конца...

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

Самый большой провайдер в стране: методы работы с клиентами от «Казахтелеком»

Самый большой провайдер в стране: методы работы с клиентами от «Казахтелеком»

История о том, как Народный провайдер наваривается на своих клиентах, намерено не отключая услуги, и беря лишние деньги за ненужные и не оказываемые услуги.
ligaspravedlivosti
17 нояб. 2017 / 19:12
  • 33287
  • 194
Бесспорные доказательства – путь к упрощенному судопроизводству

Бесспорные доказательства – путь к упрощенному судопроизводству

В Казахстане введен институт упрощенного (письменного) судопроизводства, который позволяет повысить доступность правосудия и сократить сроки рассмотрения дел.
mark_iceberg
20 нояб. 2017 / 15:49
  • 15435
  • 3
«Почему я не хочу встречаться с мужчинами-казахами»

«Почему я не хочу встречаться с мужчинами-казахами»

Заранее отпишусь, данный пост не является попыткой оскорбить собственную нацию) Как говорится о вкусах не спорят, каждому свое.
Bonittta
16 нояб. 2017 / 14:28
  • 16812
  • 372
Новшества на орбите уголовного правосудия

Новшества на орбите уголовного правосудия

Недавно я приняла участие в международной конференции по модернизации уголовного процесса, прошедшей в Бурабае. В чем значимость данных реформ для обычного казахстанца?
mirabeisenova
20 нояб. 2017 / 16:22
  • 12271
  • 3
Почему катастрофический отток интеллектуальной элиты не тревожит Астану?

Почему катастрофический отток интеллектуальной элиты не тревожит Астану?

Как сообщает телеканал КТК, только за последние девять месяцев Казахстан покинули 28200 человек, из них почти пять тысяч инженеров, около 2700 экономистов и 1700 учителей.
openqazaqstan
17 нояб. 2017 / 11:00
  • 12025
  • 59
Задержан казахстанец, продававший детей в сексуальное рабство в ОАЭ и Бахрейн

Задержан казахстанец, продававший детей в сексуальное рабство в ОАЭ и Бахрейн

Подтверждаются худшие предположения, циркулирующие в соцсетях. Периодические исчезновения детей в разных регионах Казахстана объясняются не только семейными проблемами и «синими китами».
openqazaqstan
16 нояб. 2017 / 15:46
  • 8393
  • 57
О «топ-30», «топ-50» и прочих понтах можно пока забыть

О «топ-30», «топ-50» и прочих понтах можно пока забыть

В объективности выводов швейцарского банка Credit Suisse усомниться трудно – его экономические рейтинги относятся к самым авторитетным и их явно трудно упрекнуть в предвзятости
openqazaqstan
18 нояб. 2017 / 17:21
  • 7743
  • 87
Атамбаев под занавес президентства сделал всё, чтобы сжечь мосты

Атамбаев под занавес президентства сделал всё, чтобы сжечь мосты

На своей итоговой пресс-конференции в понедельник уходящий кыргызский президент говорил не об итогах своей деятельности, а о «плохом» Казахстане.
openqazaqstan
21 нояб. 2017 / 18:36
«Смех сквозь слезы», или 7 причин не любить Алматы

«Смех сквозь слезы», или 7 причин не любить Алматы

Жизнь в Алматы не всегда сладкая, как сахарная вата и мультики субботним утром. В этой ироничной статье автор блога «Almaty — My First Love» расскажет о семи причинах не любить Алматы.
AlmatyMyLove
20 нояб. 2017 / 13:12
  • 2629
  • 70