天天看點

Nagios備忘之基本配置

 ########################################Server########################################

# ls /usr/loca/nagios

cgi.cfg -->cgi配置檔案

htpasswd.users -->Apache驗證密碼檔案

nagios.cfg -->nagios主配置檔案

objects -->監控對象,定義檔案目錄

resource.cfg -->nagios資源配置檔案

# grep '^cfg_file' /usr/local/nagios/etc/nagios.cfg

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

//本機配置檔案

# pwd

/usr/local/nagios/etc/objects

# touch hosts.cfg services.cfg

# chown nagios:nagios hosts.cfg services.cfg

# vim /usr/local/nagios/etc/nagios.cfg //添加如下,加入監控主機和服務配置檔案

cfg_file=/usr/local/nagios/etc/objects/hosts.cfg

cfg_file=/usr/local/nagios/etc/objects/services.cfg

# cat /usr/local/nagios/etc/objects/hosts.cfg //加入監控主機

define host {

host_name client1

address 192.168.1.18

alias client1

use linux-server

}

commands.cfg //加入nrpe

define command{

command_name check_nrpe

command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$

commands.cfg //如果需要加入加快MySQL服務的狀态需要自定義指令

---------------------------------------------------------------------------------------

define command{

command_name check_mysql

command_line $USER1$/check_mysql -H $HOSTADDRESS$ -P 3306 -u nagios -d nagios -p 123

########################################Server########################################

Client:

需要在MySQL被監控主機賦權:如下

check_mysql -->加入Nagios的MySQL檢測

mysql> create database nagios;

Query OK, 1 row affected (0.02 sec)

mysql> grant select on nagios.* to nagios@'%' identified by '123';

Query OK, 0 rows affected (0.02 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql>

services.cfg //一些監控服務的示例

define service{

use local-service

host_name client1

service_description check_user

check_command check_nrpe!check_users

notifications_enabled 1

define service{

host_name client1

service_description check_load

check_command check_nrpe!check_load

notifications_enabled 1

use local-service

service_description check_total_procs

check_command check_nrpe!check_total_procs

service_description check_/

check_command check_nrpe!check_/

service_description check_swap

check_command check_nrpe!check_swap

service_description check_zombie_procs

check_command check_nrpe!check_zombie_procs

service_description check_http

check_command check_http

service_description check_ssh

check_command check_ssh

service_description check_mysql

check_command check_mysql

以上服務示例不是所有的指令都有的,有些需要在客戶機的nrpe上配置

# grep '^command\[' /usr/local/nagios/etc/nrpe.cfg

command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10

command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20

command[check_/]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1

command[check_swap]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda3

command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z

command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200

//不同機器的分區可能不同,是以這裡我修改了/和swap的分區的一個監控,系統資源的監控都是通過nrpe去實作的,類似ssh、mysql等服務則無需依靠nrpe

以上是nagios監控基礎服務和系統資源的一個配置備忘,之後還會有nagios的timeperiods.cfg、contacts.cfg以及監控主機組和服務組的一個配置

附上一個監控圖

Nagios備忘之基本配置