trzxycx 发表于 2015-9-8 11:57:45

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>


  

  ########################################Server########################################
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{
      use                     local-service
      host_name               client1
      service_description   check_load
      check_command         check_nrpe!check_load
      notifications_enabled   1
}

define service{
      use                     local-service
      host_name               client1
      service_description   check_total_procs
      check_command         check_nrpe!check_total_procs
      notifications_enabled   1
}

define service{
      use                     local-service
      host_name               client1
      service_description   check_/
      check_command         check_nrpe!check_/
      notifications_enabled   1
}

define service{
      use                     local-service
      host_name               client1
      service_description   check_swap
      check_command         check_nrpe!check_swap
      notifications_enabled   1
}

define service{
      use                     local-service
      host_name               client1
      service_description   check_zombie_procs
      check_command         check_nrpe!check_zombie_procs
      notifications_enabled   1
}

define service{
      use                     local-service
      host_name               client1
      service_description   check_http
      check_command         check_http
      notifications_enabled   1
}

define service{
      use                     local-service
      host_name               client1
      service_description   check_ssh
      check_command         check_ssh
      notifications_enabled   1
}

define service{
      use                     local-service
      host_name               client1
      service_description   check_mysql
      check_command         check_mysql
      notifications_enabled   1
}
---------------------------------------------------------------------------------------
  ########################################Server########################################
  
  Client:
  以上服务示例不是所有的命令都有的,有些需要在客户机的nrpe上配置
  # grep '^command\[' /usr/local/nagios/etc/nrpe.cfg
command=/usr/local/nagios/libexec/check_users -w 5 -c 10
command=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1
command=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda3
command=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command=/usr/local/nagios/libexec/check_procs -w 150 -c 200
//不同机器的分区可能不同,所以这里我修改了/和swap的分区的一个监控,系统资源的监控都是通过nrpe去实现的,类似ssh、mysql等服务则无需依靠nrpe
  

  以上是nagios监控基础服务和系统资源的一个配置备忘,之后还会有nagios的timeperiods.cfg、contacts.cfg以及监控主机组和服务组的一个配置
  附上一个监控图
页: [1]
查看完整版本: Nagios备忘之基本配置