其實上篇Nagios學習實踐系列——基本安裝篇只是安裝了Nagios基本組件,雖然能夠打開主頁,但是如果不配置相關配置文件文件,那么左邊菜單很多頁面都打不開,相當于只是一個空殼子。接下來,我們來學習研究一下Nagios的配置,了解一下基本的配置和了解各類配置文件。
?
Nagios配置目錄
Nagios的配置文件位于etc目錄下(/usr/local/nagios/etc)如下圖所示:
?
配置文件簡介
?
配置文件名 | 功能描述 |
cgi.cfg | 控制CGI訪問的配置文件 |
nagios.cfg | 主配置文件:主配置文件包括了一系列的設置,它們會影響Nagios守護進程 |
resource.cfg | 資源配置文件:資源文件可以保存用戶自定義的宏。資源文件的一個主要用途是保存一些敏感的配置信息,不能讓CGIS程序模塊獲取到的信息 |
objects | objects是一個目錄,在此目錄下有很多配置文件,用于定義Nagios對象:commands.cfg、contacts.cfg、localhost.cfg |
objects目錄下的配置文件描述
配置文件名 | 功能描述 |
commands.cfg | 命令定義配置文件,其中定義的命令可以被其他配置文件引用 |
contacts.cfg | 定義聯系人和聯系人組的配置文件 |
localhost.cfg | 定義監控本地主機的配置文件 |
printer.cfg | 定義監控打印機的一個配置文件模板,默認沒有啟用此文件 |
switch.cfg | 定義監控路由器的一個配置文件模板,默認沒有啟用此文件 |
templates.cfg | 定義主機和服務的一個模板配置文件,可以在其他配置文件中引用 |
timeperiods.cfg | 定義Nagios 監控時間段的配置文件 |
windows.cfg | 監控Windows 主機的一個配置文件模板,默認沒有啟用此文件 |
?
實踐配置步驟
下面修改配置信息,首先讓Nagios監控本機的各種資源消耗。修改下面配置文件前,首先將各類配置文件備份一份,以免修改過程出現重大問題時,還能回滾到修改前版本(修改前先將配置文件copy一份,命名為xxxx.bak? 如下所示)
[root@bogon etc]# cd /usr/local/nagios/etc/
[root@bogon etc]# ls
cgi.cfg? htpasswd? nagios.cfg? objects? resource.cfg
[root@bogon etc]# cd objects/
[root@bogon objects]# ls
commands.cfg? contacts.cfg? localhost.cfg? printer.cfg? switch.cfg? templates.cfg? timeperiods.cfg? windows.cfg
[root@bogon objects]#
1)先修改cgi.cfg
在cgi.cfg文件中,找到下面一些參數配置:
default_user_name=guest
authorized_for_system_information=nagiosadmin
authorized_for_configuration_information=nagiosadmin
authorized_for_system_commands=nagiosadmin
authorized_for_all_services=nagiosadmin
authorized_for_all_hosts=nagiosadmin
authorized_for_all_service_commands=nagiosadmin
authorized_for_all_host_commands=nagiosadmin
將這些參數配置修改為如下:(如果不清楚為什么是kerry,參見上篇博客Nagios學習實踐系列——基本安裝篇解說)
default_user_name=kerry
authorized_for_system_information=nagiosadmin,kerry
authorized_for_configuration_information=nagiosadmin,kerry
authorized_for_system_commands=nagiosadmin,kerry
authorized_for_all_services=nagiosadmin,kerry
authorized_for_all_hosts=nagiosadmin,kerry
authorized_for_all_service_commands=nagiosadmin,kerry
authorized_for_all_host_commands=nagiosadmin,kerry
?
2)修改resource.cfg配置文件。
如圖所示,找到$USER1$=/usr/local/nagios//libexec 將其改為$USER1$=/usr/local/nagios/libexec
3)修改nagios.cfg配置文件
修改一系列的參數配置,將那些多余的/去掉
log_file=/usr/local/nagios/var/nagios.log
cfg_file=/usr/local/nagios/etc/objects/commands.cfg
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
cfg_file=/usr/local/nagios/etc/objects/services.cfg
object_cache_file=/usr/local/nagios/var/objects.cache
precached_object_file=/usr/local/nagios/var/objects.precache
resource_file=/usr/local/nagios/etc/resource.cfg
status_file=/usr/local/nagios/var/status.dat
command_check_interval=1
command_file=/usr/local/nagios/var/rw/nagios.cmd
lock_file=/usr/local/nagios/var/nagios.lock
temp_file=/usr/local/nagios/var/nagios.tmp
log_archive_path=/usr/local/nagios/var/archives
check_result_path=/usr/local/nagios/var/spool/checkresults
state_retention_file=/usr/local/nagios/var/retention.dat
4)修改localhost.cfg配置文件
首先通過命令 hostname查看你監控主機的機器名,例如這次測試環境的主機名為bogon,進入localhost.cfg配置文件,將相應的
host_name或member等配置修改過來。
?
localhost.cfg文件的內容如下:

?
基本配置完成后,我們啟動Nagios、Apache服務
??? 啟動Apache服務
??? [root@bogon conf]# /usr/local/apache/bin/apachectl start
??? 啟動Nagios服務
??? [root@bogon conf]# service nagios start
如圖所示,就可監控當前服務器的負載、當前用戶數、HTTP服務、SSH服務….
?
?
?
配置問題匯總:
在配置Nagios的過程中、總會碰到千奇百怪、各式各樣的問題,下面我慢慢收集整理碰到過得的一些問題,當然這是我碰到,沒有碰到過得問題,不做收錄。
?
問題1:Nagios配置好后,啟動了Apache、Nagios服務后,進入Hosts、Services等界面時,出現亂碼,如下圖所示:
這個問題是由于Apache沒有開啟cgi腳本的緣故,進入apache的主配置文件目錄,修改配置文件httpd.conf,將下面兩行的注釋取消,重啟服務即可解決問題。
#LoadModule cgid_module modules/mod_cgid.so
#LoadModule alias_module modules/mod_alias.so
?
問題2:點擊Map頁面,出現下面錯誤信息(紅色部分):
Not Found
The requested URL /nagios/cgi-bin/statusmap.cgi was not found on this server.
出現這個錯誤,是因為沒有安裝gd-devel包導致,需要安裝gd-devel包。
?