Nagios 的安装与简单配置

Nagios 是一个用来监控主机、服务和网络的开放源码软件。 Nagios 本身并不做任何检测主机 (host) 和服务 (Service) 的工作,而是完全依赖于一些插件 (Plugin) 来完全这些工作 . 插件可以是一些程序或脚本 (scripts) 。每当 Nagios 需要检测主机或某个服务的状时,并执行这些插件,然后根据返回的结果来判断其是否处于正常状态。

一、安装:

官方文档: http://www.nagios.org/docs/

官方文档中详细描述了 nagios 的安装。

1 、创建用户和组

sudo /usr/sbin/useradd -m nagios

sudo passwd nagios

/usr/sbin/groupadd nagcmd

/usr/sbin/usermod -a -G nagcmd nagios

2 、安装

从下列网址下载 nagios 及其插件

http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.6.tar.gz

http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz

解压后进入 nagios 目录

root 用户执行:

./configure –with-command-group=nagcmd

make all

make install

make install-init

make install-config

make install-commandmode

要通过 apache 查看 web 界面,执行以下命令:

make install-webconf

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

进入 nagios 的插件目录:

./configure --with-nagios-user=nagios --with-nagios-group=nagios

make

make install

这样, nagios nagios 的插件就安装完成了。执行下面这条命令使 naigos 自动启动

ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

3 、访问 http://localhost/nagios/ 就可以查看 nagios 的监控状态了,点击左侧的 Service

发现 nagios 监测了一个 host(localhost) 和一些 service


二、配置

安装好 nagios 后,配置文件在 /usr/local/nagios/etc 下面, nagios.cfg 的主配置文件,这里可以指定一些 log 信息,引用哪些配置文件等,我这里几乎没做任何修改。

主要修改是在 /usr/local/naigos/etc/objects 目录下的配置文件

1 contacts.cfg

这个配置文件主要用来修改联系人信息,如 email 地址等 ,当 service host 有问题时发送邮件时会用到。

2 commands.cfg

这个配置文件主要是定义了一些命令

define command{

command_name check-host-alive

command_line $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5

}

3 localhost.cfg

这个就是在 nagios 的监控页面上看到的 localhost 的配置文件

在这个配置文件里,首先定了一个 host(A host definition is used to define a physical server, workstation, device, etc.)

define host{

use linux-server

host_name localhost

alias localhost

address 127.0.0.1

contacts nagiosadmin

}


这里可以指定 ip 地址 ,contacts 等。

接下来定义了一个 hostgroup(Host Groups are groups of one or more hosts)

然后就是一些预定义的 Service(Service are one of the central objects in the monitoring logic ) 也就是我们要监视服务器上的哪些资源。如

define service{

use local-service

host_name localhost

service_description Root Partition

check_command check_local_disk!20%!10%!/

}

这个 Service 表示要临控根分区,当可用空间小于 20% ,发出“警告”信息,当小于 10% 时,发出“严重 (critical)” 信息

service_description 是对这个 service 的描述。 check_command 是要执行的命令, 当 nagios 要检测这个 Service 是否正常时,会调用这个命令。

check_local_disk!20%!10%!/ 解析:

check_local_disk 是定义在 commands.cfg 里面的一条命令,在 commands.cfg 中,它的定义如下:

define command{

command_name check_local_disk

command_line $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$

}

$USER1$ nagios 的内部变量在 resource.cfg 中定义,此处值为 /usr/local/nagios/libexec

表示 nagios pulugins 按装目录,在 /usr/local/nagios/libexec 里,可以看到一系列命令,每一个命令都可以终端里执行:如 ./check_disk -h 会显示 check_disk 这条命令的帮助信息

./check_mysql -H 127.0.0.1 -u root -p password 会显示 mysql 的连接情况

Uptime: 30457 Threads: 39 Questions: 1801488 Slow queries: 7 Opens: 115 Flush tables: 1 Open tables: 64 Queries per second avg: 59.149


define command command line 中, $ARG1$ 表示第一个参数, $ARG2$ 表示第二个参数,以此类推,在调用时 check_local_disk!20%!10%!/ 20% 为第一个参数, 10% 为第二个参数, / 为第三个参数


你可能感兴趣的:(C++,c,linux,mysql,nagios)