Предлагаю Вашему вниманию, если конечно Вам это надо, как я сконфигурил и настроил Nagios3 на Ubuntu Server
Distributor ID: Ubuntu
Description: Ubuntu 10.04.1 LTS
Release: 10.04
Codename: lucid
-----------------------------------------------------------------
Так как установка Nagios в Ubuntu очень проста, то ее здесь, я описывать не буду.
После установки у нас в системе появятся несколько каталогов:
/etc/nagios3/ - вроде как основной каталог, содержащий конфигурационные файлы
/etc/nagios-plugins/config/ - содержит конфигурационные файлы для плагинов
/usr/lib/nagios/prlugins/ - каталог содержит скрипты плагинов
/usr/lib/nagios3/ - содержит всего один файл p1.pl (зачем он там, я не вкурсе )
/var/lib/nagios/ - каталог пуст
/var/lib/nagios3/ - к нему мы вернемся позже
а так же
/usr/share/nagios
/usr/share/nagios3
/usr/share/nagios-plugins
/usr/share/nagios-snmp-plugins
/usr/share/nagios3/htdocs/ - содержит файлы типа index.html, для тех кто еще не догадался, объясню потом.
И так идем в каталог /etc/nagios3/conf.d — мы будем работать над описанием наших хостов и сервисов, сейчас у нас там должны быть что то типа следующего:
generic-service_nagios2.cfg
host-gateway_nagios3.cfg
hostgroups_nagios2.cfg
localhost_nagios2.cfg
serviceextinfo.cfg
services_nagios2.cfg
contacts_nagios2.cfg
extinfo_nagios2.cfg
generic-host_nagios2.cfg
templates.cfg
timeperiods_nagios2.cfg
Здесь содержаться описания дефолтных сервисов, групп и тд и тп..
Вообще на сколько я понял что бы все разложить по полкам, разработчики Nagios, предлагают хранить конфигурацию для хостов, групп_хостов, сервисов и всего остально в разных файлах. Признаюсь, я ленив и данной схемой пренебрег. У меня есть несколько групп хостов:
Терминальные серверы. 1С сервер + PosgreSQL сервер, PDC, а так же принтеры, свитчи ну и сам localhost
на котором собственно говоря и крутится нагиос.
На самом деле основная настройка хостов в Nagios состоит из нескольких этапов:
define host — описываем хост
define hostgroup — описываем группу хоста и ее членов
define service — куда же без них )))))
Как я и говорил, все это можно хранить в разных cfg файлах, а можно как я в одном для каждого хоста или группы хостов.
И так начнем с PDC, для этого в каталоге /etc/nagios3/conf.d/ создадим файл у меня, это название организации_pdc.cfg , ну и откроем его для редактирования.
#nano my_pdc.cfg (лично мне нравиться данный редактор, так как он очень похож на редактор 'ee' FreeBSD)
define host {
host_name main.local.domain
alias main
address 10.0.0.3
use generic-host
parents HP2824-1
}
И так разберем по порядку:
define host — говорит что щас мы будем описывать хост
host_name — все надеюсь понятно
address — тоже не сложно
use generic-service — обращается к дефолтному сервису описанному тут /etc/nagios3/conf.d/generic-service_nagios2.cfg. Ничего не меняем, нас устраивает на все 100%.
parents — Имя моего DMZ свитча к которому подцеплен сам PDC, это нужно для более правильного отображения Status Map (вернемся позже).
define hostgroup {
hostgroup_name main-server
alias main
members main.local.domain
}
Здесь мы определили группу хостов, задали ей имя и алиас ну и вписали, членов группы.
Теперь начнем определять сервисы, у меня на PDC крутиться dhcp, dns, Lotus Domino, так же при помощи nsclient я настроил мониторинг для uptime, cpuload, memuse, useddiskspace для с, d и e дисков, так же работает внутренний факс, неплохо бы было мониторить и его, поэтому я включил мониторинг Active-Fax сервиса.
define service {
hostgroup_name main-server
service_description DHCP
check_command check_dhcp!-v!-u!
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}
теперь идем в каталог /etc/nagios-plugins/config/ и ищем там конфигурационный файл для службы dhcp (dhcp.cfg) у меня он выглядит так
'check_dhcp' command definition
define command{
command_name check_dhcp
command_line /usr/lib/nagios/plugins/check_dhcp -s '$HOSTADDRESS$'
}
# 'check_dhcp_interface' command definition
define command{
command_name check_dhcp_interface
command_line /usr/lib/nagios/plugins/check_dhcp -s '$HOSTADDRESS$' -i '$ARG1$'
}
check_command говорит нам, что бы Nagios использовал скрипт check_dhcp из каталога /usr/lib/nagios/plugins/, а параметры для данного плагина берутся из выше приложенного файла. Данная схема распространяется на все плагины. Здесь менять ничего не будем в отличии от следующего сервиса (dns).
Далее определяем сервис DNS
define service {
hostgroup_name main-server
service_description DNS
check_command check_dns
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}
и так говорим Nagios, что сервис применим для группы хостов main-server, описываем его как DNS, говорим что запускаться он будет плагином check_dns.
Теперь заглянем в конфигурационный файл плагина dns (dns.cfg)
# 'check_dns' command definition
define command{
command_name check_dns
command_line /usr/lib/nagios/plugins/check_dns -H main.local.domain -s '$HOSTADDRESS$'
}
# 'check_dig' command definition
define command{
command_name check_dig
command_line /usr/lib/nagios/plugins/check_dig -H '$HOSTADDRESS$' -l '$ARG1$'
У меня строчка command_line /usr/lib/nagios/plugins/check_dns -H main.local.domain -s '$HOSTADDRESS$' выглядела так command_line /usr/lib/nagios/plugins/check_dns -H
www.google.com -s '$HOSTADDRESS$' , естественно меняем google.com на доменное имя вашего сервера.
Следующий сервис — это сервис лотус домино сервера
define service {
hostgroup_name main-server
service_description Domino-Server
check_command check_tcp!1352
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}
Что же опять все тоже самое только теперь используем плагин check_tcp, который обращается к порту 1352. Теперь немного поподробнее, открываем файл /etc/nagios-plugins/config/tcp_udp.cfg
# 'check_tcp' command definition
define command{
command_name check_tcp
command_line /usr/lib/nagios/plugins/check_tcp -H '$HOSTADDRESS$' -p '$ARG1$'
}
# 'check_udp' command definition
define command{
command_name check_udp
command_line /usr/lib/nagios/plugins/check_udp -H '$HOSTADDRESS$' -p '$ARG1$'
}
####
# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
####
# 'check_tcp_4' command definition
define command{
command_name check_tcp_4
command_line /usr/lib/nagios/plugins/check_tcp -H '$HOSTADDRESS$' -p '$ARG1$' -4
}
# 'check_udp_4' command definition
define command{
command_name check_udp_4
command_line /usr/lib/nagios/plugins/check_udp -H '$HOSTADDRESS$' -p '$ARG1$' -4
}
В моем случае нас интересует первые строки
# 'check_tcp' command definition
define command{
command_name check_tcp
command_line /usr/lib/nagios/plugins/check_tcp -H '$HOSTADDRESS$' -p '$ARG1$'
}
Мы видим, что конфигурационный файл говорит, что будет выбрана команда check_tcp, которая будет запущена из /usr/lib/nagios/plugins/, c параметрами -H '$HOSTADDRESS$' - выберет автоматом адрес хоста, к которому мы прикрутили данный сервис и -p '$ARG1$' - означает что обращение пойдет к порту, который будет указан непосредственно в /etc/nagios3/conf.d/my_pdc.cfg, а именно вот тут check_command check_tcp!1352 <----обратите внимания на !1352. т. е. Все '$ARG$' описываются через знак ! И их может быть сколько душе угодно(ну или по крайней мере, столько, сколько поддерживает сам скрипт плагина). Если у вас несколько аргументов, то их будет необходимо перечислить через знак восклицания (!). Я еще расскажу об этом, когда перейдем к настройке мониторинга PosgreSQL сервера.
Теперь займемся описанием нестандартных для Nagios сервисов, т. е., тех сервисов, которые мониторятся по средствам дополнительного ПО для Windows. Для начала давайте зайдем на сайт nsclient.org и закачаем самую последнюю версию nsclient++, как установить данный сервис на Windows надеюсь рассказывать не надо. После того как сервис установлен и запущен, приступаем к его описаниям:
define service{
use generic-service
host_name main.local.domain
service_description Uptime
check_command check_nt!UPTIME
}
Здесь используется плагин check_nt с параметром -v UPTIME, uptime описывает нам время работы системы после включения. Естественно за данный плагин отвечает конфигурационный файл /etc/nagios-plugins/ nt.conf , давайте посмотрим на него
# 'check_nt' command definition
define command {
command_name check_nt
command_line /usr/lib/nagios/plugins/check_nt -H '$HOSTADDRESS$' -v '$ARG1$' -l '$ARG2$' -p 12489
}
Обратите внимание на command_line здесь мне пришлось в ручную допиливать параметр -p , -p означает порт (port), указываем порт nsclient++ 12489.
define command {
command_name check_nt_cpu
command_line /usr/lib/nagios/plugins/check_nt -H '$HOSTADDRESS$' -l 5,80,90 -v '$ARG1$' -p 12489
}
Обратите ввримания на строчку command_name, на самом деле, я не смог завести через check_nt мониторинг процессора системы, но зато, Nagios, позволил мне создать символическую ссылку на check_nt как check_nt_cpu и включить ее в свой конфигурационный файл. Данное описание соответствует всем сервисам мониторинга CPU на всех моих серверах.
define command {
command_name check_nt1
command_line /usr/lib/nagios/plugins/check_nt -H '$HOSTADDRESS$' -v '$ARG1$' -l '$ARG2$' -p 12489
}
Здесь параметр check_nt1, так же является символической ссылкой для check_nt
# 'check_nscp' command definition
define command {
command_name check_nscp
command_line /usr/lib/nagios/plugins/check_nt -H '$HOSTADDRESS$' -p 12489 -v '$ARG1$'
------------------------------------------------------------------------------------------------------------------
Вернемся к описанию файла my_pdc.cfg
Теперь надеюсь Вам все стало более менее понятно здесь описываем, что нам надо показхывать загруженность процессора.
# Create a service for monitoring CPU load
# Change the host_name to match the name of the host you defined above
define service{
use generic-service
host_name main.local.domain
service_description CPU Load
check_command check_nt_cpu!CPULOAD!
}
Здесь описываем использование памяти, -w предупреждает нас, что память заполнена на 80 процентов, ну а -с означает critical, предупредит нас, когда она заберет еще 10 процентов и достигнет 90 процентов занимаемой памяти.
# Create a service for monitoring memory usage
# Change the host_name to match the name of the host you defined above
define service{
use generic-service
host_name main.local.domain
service_description Memory Usage
check_command check_nt!MEMUSE! -w 80 -c 90
}
# Create a service for monitoring C:\ disk usage
# Change the host_name to match the name of the host you defined above
Ну и совсем несложное описание жестких дисков.
define service{
use generic-service
host_name main.local.domain
service_description C:\ Drive Space
check_command check_nt!USEDDISKSPACE!c! -w 80 -c 90
}
А вот выдержка все из того же nt.cfg, которую мы приводили раннее
command_line /usr/lib/nagios/plugins/check_nt -H '$HOSTADDRESS$' -v '$ARG1$' -l '$ARG2$' -p 12489, если выстроить это все в одну цепь то получиться
command_line /usr/lib/nagios/plugins/check_nt -H '$HOSTADDRESS$' -v USEDDISKSPACE -l c -p 12489 -w80 -c 90
Здесь параметр -l c говорит, что надо мониторить диск С:, в следующих примерах говориться о D: и E: дисках.
# Create a service for monitoring D:\ disk usage
define service{
use generic-service
host_name main.local.domain
service_description D:\ Drive Space
check_command check_nt1!USEDDISKSPACE!d! -w 80 -c 90
}
# Create a service for monitoring E:\ disk usage
define service{
use generic-service
host_name main.local.domain
service_description E:\ Drive Space
check_command check_nt1!USEDDISKSPACE!e! -w 80 -c 90
}
Ну и на последок здесь описан мониторинг внутреннего факса. Все просто делает check_tcp main.local.domain на порт 25017
# Fax Modem Service
define service{
use generic-service
host_name main.local.domain
service_description Active-Fax-Modem-Status
check_command check_tcp!25017
}
Все, закончили теперь нажимаем CTR+X и Y, программа nano сохранит Ваш конфигурационный файл.
Что же, теперь разберем настройку мониторинга 1с сервера в связке с PostgreSQL сервером. Для начала я хотел их объединить в одну группу, но потом передумал, а вот описание конфигураций, оставил в одном файле, и так #cat my_1cserver.cfg
# Описываем хосты
define host {
host_name sql.local.domain
alias sql
address 10.0.0.4
use generic-host
parents HP2824-1
}
define host {
host_name 1cserver. local.domain
alias 1cserver
address 10.0.0.5
use generic-host
parents HP2824-1
}
# Описываем группы хостов
define hostgroup {
hostgroup_name 1cserver
alias 1cserver
members 1cserver. local.domain
}
define hostgroup {
hostgroup_name pgsql-server
alias pgsql
members sql. local.domain
}
Описываем сервисы.
define service {
hostgroup_name pgsql-server
service_description PGSQL
check_command check_pgsql!5432!postgres!postgres!qwerty
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}
Давате разберем check_command для postgresql и так мы видим набор значений, который нам станет ясен, если мы заглянем в /etc/nagios-plugins/config/pgsql.cfg
# 'check_pgsql' command definition
define command{
command_name check_pgsql
command_line /usr/lib/nagios/plugins/check_pgsql -H '$HOSTADDRESS$' -P '$ARG1$' -l '$ARG2$' -d '$ARG3$' -p '$ARG4$'
}
Здесь мы говорим Nagios, что script check_pgsql будет обращаться к -H '$HOSTADDRESS$' (в моем случае это 10.0.0.4), к -P '$ARG1$' (порту 5432, стандартный порт pgsql сервера), -l '$ARG2$' (имя пользователя баз данных, в моем случаем postgres), -d '$ARG3$' (к базе данных, в моем случае postgres), -P '$ARG4$' ( использовать пароль, в моем случае это qwerty). Вообще, я бы посоветовал, если что то не получается с плагинами, попытайтесь сначала сделать так, что бы у вас он заработал с командной строки, например предыдущий пример будет выглядеть так
# cd /usr/lib/nagios/plugins/
#./check_pgsql -H ip_address_server -P 5432 -l postgres -d postgres -p qwerty
получаем вывод:
OK - database postgres (0 sec.)|time=0,000000s;2,000000;8,000000;0,000000
Все хорошо, плагин работает, теперь пытаемся его правильно описать в конфигурационных файлах Nagios.
Далее я описал сервис 1с сервера, скрипт check_tcp будет подключаться к 1с серверу на порт 1540
define service {
hostgroup_name 1cserver
service_description 1CServer
check_command check_tcp!1540
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}
Ну и далее уже привычный нам мониторинг : процессора, памяти, дисков и тд и тп.
Обратите внимания, что описание сервисов в поле host_name, можно вносить несколько хостов в моем случае это sql и 1сserver
# Create a service for monitoring the uptime of the server
# Change the host_name to match the name of the host you defined above
define service{
use generic-service
host_name sql.local.domain , 1cserver. local.domain
service_description Uptime
check_command check_nt!UPTIME
}
# Create a service for monitoring CPU load
# Change the host_name to match the name of the host you defined above
define service{
use generic-service
host_name sql.local.domain , 1cserver. local.domain
service_description CPU Load
check_command check_nt_cpu!CPULOAD!
}
# Create a service for monitoring memory usage
# Change the host_name to match the name of the host you defined above
define service{
use generic-service
host_name sql.local.domain , 1cserver. local.domain
service_description Memory Usage
check_command check_nt!MEMUSE! -w 80 -c 90
}
# Create a service for monitoring C:\ disk usage
# Change the host_name to match the name of the host you defined above
define service{
use generic-service
host_name sql.local.domain , 1cserver. local.domain
service_description C:\ Drive Space
check_command check_nt!USEDDISKSPACE!c! -w 80 -c 90
}
define service{
use generic-service
host_name sql. local.domain
service_description D:\ Drive Space
check_command check_nt1!USEDDISKSPACE!d! -w 80 -c 90
}
Теперь займемся описанием принтеров, я не буду описывать все, а опишу только один, дабы не занимать место
# Назначаем хост
define host {
host_name HP2015_1
alias HP2015_1
address 10.0.0.32
use generic-host
parents HP2650-4
}
# Назначаем группу
define hostgroup {
hostgroup_name Printers_HP
alias HP_Printers
members HP2015_1, HP2015_2, HP2015_3, HP2015_4, HP2015_5, HP2015_6, HP2055DN_1, HP2055DN_2, HP3390_1
}
# Назначаем сервис, здесь будем использовать скрипт check_hpjd
define service {
hostgroup_name Printers_HP
service_description Printers
check_command check_hpjd
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}
А вот вывод /etc/nagios-plugins/config/hpjd.cfg
# 'check_hpjd' command definition
define command{
command_name check_hpjd
command_line /usr/lib/nagios/plugins/check_hpjd -H '$HOSTADDRESS$' -C public
}
Не буду вам рассказывать теорию snmp, полагаю, что вы лучше меня знаете о данном протоколе, скажу только то, что на принтере нужно разрешить snmp хотя бы для чтения.
Чтож, теперь за принтеры можно не беспокоиться, Nagios подскажет, когда надо заменить картридж, а когда бумагу )))
Далее описываем все остальное оборудование, имеющееся у вас, по принципу, который мы использовали выше.
Вот вывод моих свитчей
define host{
use generic-host
host_name HP2824-1
alias HP2824-1
address 10.0.0.20
parents gateway
}
define hostgroup{
hostgroup_name DMZ_switches
alias DMZ_switches
members HP2824-1
}
define service {
hostgroup_name DMZ_switches
service_description SSH
check_command check_ssh
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}
define host{
use generic-host
host_name HP2650-1
alias 2650-1
address 10.0.0.21
parents HP2824-1
}
define host{
use generic-host
host_name HP2650-2
alias 2650-2
address 10.0.0.22
parents HP2824-1
}
define host{
use generic-host
host_name HP2650-3
alias 2650-3
address 10.0.0.23
parents HP2824-1
}
define host{
use generic-host
host_name HP2650-4
alias 2650-4
address 10.0.0.24
parents HP2824-1
}
define hostgroup{
hostgroup_name lan_switches
alias lan_switches
members HP2650-1, HP2650-2, HP2650-3, HP2650-4
}
define service {
hostgroup_name lan_switches
service_description SSH
check_command check_ssh
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}
После того как все сервисы, группы и хосты описаны, займемся украшением Nagios.
Так как красивую карту Status Map мы уже построили при помощи parents, давайте теперь присвоим нашим хостам красивые иконки. Для этого отредактируем extinfo_nagios2.cfg
define hostextinfo{
hostgroup_name debian-servers
notes Ubuntu GNU/Linux servers
notes_url
http://nagios.local/ icon_image base/ubuntu.png
icon_image_alt Ubuntu LAMP Server IP_ADDRESS 10.0.0.10
vrml_image ubuntu.png
statusmap_image base/debian.gd2
}
define hostextinfo{
hostgroup_name Terminal Servers
notes Terminal Servers
icon_image base/win40.png
icon_image_alt Windows Server 2003 R2 Terminal Server
vrml_image win40.png
statusmap_image satrapa/my_termserv.gd2
}
define hostextinfo{
hostgroup_name main-server
notes PDC Server
icon_image base/win40.png
icon_image_alt Windows Server 2003 R2 IP_ADDRESS 10.0.0.3
vrml_image win40.png
statusmap_image cook/windows_server.gd2
}
define hostextinfo{
hostgroup_name 1cserver
notes 1C Server
icon_image base/win40.png
icon_image_alt Windows Server 2003 R2 IP_ADDRESS 10.0.0.5
vrml_image win40.png
statusmap_image cook/windows_server.gd2
}
define hostextinfo{
hostgroup_name pgsql-server
notes PostgreSQL Server
icon_image base/win40.png
icon_image_alt Windows Server 2003 R2 IP_ADDRESS 10.0.0.4
vrml_image win40.png
statusmap_image didier/DBServer.gd2
}
define hostextinfo{
hostgroup_name Printers_HP
notes Printers
icon_image base/hp-printer40.png
icon_image_alt Printers HP
vrml_image hp-printer40.png
statusmap_image base/hp-printer40.gd2
}
define hostextinfo{
hostgroup_name DMZ_switches
notes Swithes
icon_image cook/dmz_switch.png
icon_image_alt HP2824 DMZ Switch
vrml_image dmz_switch.png
statusmap_image cook/dmz_switch.gd2
}
define hostextinfo{
hostgroup_name lan_switches
notes LAN Swithes
icon_image satrapa/my_lanswitch.png
icon_image_alt HP2620 LAN Switch
vrml_image my_lanswitch.png
statusmap_image satrapa/my_lanswitch.gd2
}
define hostextinfo{
hostgroup_name gateway
notes Gateway
icon_image andrade/Cisco1720.png
icon_image_alt CISCO 1700
vrml_image Cisco1720.png
statusmap_image cook/firewall_router.gd2
}
hostgroup_name — имя группы наших хостов
notes — описание, заметка, которая будет отображаться в сплывающем окошке, при наведении в Status Map на объект, курсора мышки.
icon_image — картинка, которая будет присвоена хосту в Service Detail
icon_image_alt — надпись, которая будет появляться, когда вы в Service Detail наведете на иконку хоста.
vrml_image — я так понял относится к 3D Map, мне ее так и не удалось настроить.
status_image- иконка, которая будет отображена в status map
Иконки располагаются в каталоге /usr/share/nagios/htdocs/images/logos/.
В Nagios так же можно присвоить иконки для каждого сервиса, делается это в файле serviceextinfo.cfg
define serviceextinfo{
host_name main.local.domain
service_description Active-Fax-Modem-Status
icon_image cook/modem.png
icon_image_alt Fax-Modem-Status
}
host_name — задает имя реального хоста на котором крутится сервис
service_description — сюда вписываем имя реального сервиса, существующего на вашем хосте и в конфигурационных файлах, помните ?
/etc/nagios3/conf.d/my_pdc.cfg
define service{
use generic-service
host_name main.local.domain
service_description Active-Fax-Modem-Status
check_command check_tcp!25017
}
icon_image — картинка для сервиса
icon_image_alt — надпись при наведении курсора на картинку.
Теперь настройте все остальное по данным примерам.
В Ubuntu, в Nagios, не смотря на готовый пакет, конечно же есть «недопилы», например, когда вы пытаетесь перепланировать следующую проверку сервиса, выдается предупреждение: Sorry, but Nagios is currently not checking for external commands, so your command will not be committed! Немного погуглив я увидел труд одного человека, к сожалению я не запомнил сайт и его имя, но остался ему очень благодарен за данный пример.
И так давайте устраним недоработку
nano /etc/nagios3/nagios.cfg
Находим там строчку и исправляем 0 на 1
check_external_commands=1
Далее создаем файл:
touch /var/lib/nagios3/rw/nagios.cmd
И далее поочереди вводим команды:
dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw
dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3
chown nagios:www-data /var/lib/nagios3/rw/nagios.cmd
Перезапускаем сервис Nagios
sudo service nagios3 restart
После этого шаманства, перепланировка сервиса пойдет как по маслу
В заключении давайте сделаем так, что бы обращение к Nagios через браузер имело человеческий вид , сейчас нам надо набирать server_name/nagios3.
Идем в /etc/apache2/site-aviable/ и создаем там файл для Nagios, у меня это nagios.my, далее редактируем его
#nano nagios.my
<VirtualHost *:80>
ServerName nagios
ServerAlias nagios.my
www.nagios.my DocumentRoot /var/www/nagios.my/www/
</VirtualHost>
Мы только что создали виртуальный хост для Nagios, но это еще не все, сохраняемся, и создаем в /var/www , недостающие каталоги
# mkdir -p /var/www/nagios.my/www
А теперь давайте вернемся к каталогу, о котором мы говорили в самом начале /usr/share/nagios3/htdocs/ , давайте просто создадим символические ссылки на файлы в данном каталоге и поместим их в наш DocumentRoot каталог для Nagios.
# ln -s /usr/share/nagios3/htdocs/* /var/www/nagios.my/www/
Теперь нам необходимо, что бы наша система понимала куда нас надо послать, если мы наберем в строке браузера nagios.my, для like unix систем надо отредактировать /etc/hosts, внеся туда следующие строчки
ip_address_nagios_server nagios.my
www.nagios.myПравдо у меня по данному примеру удалось попадать только на nagios.my либо на
www.nagios.my, пришлось извращаться и внести две строчки:
10.0.0.10www.nagios.my
www.nagios.my10.0.0.10nagios.my nagios.my
Для Windows хостов, это можно сделать двумя способами:
1)Внести запись в DNS
2)Пойти другим путем и внести запись в c:\Windows\system32\drivers\etc\hosts
следующее:
10.0.0.10nagios.my
10.0.0.10www.nagios.my
И не забываем про не использовать прокси сервер для локальных адресов