Nagios 的安装与简单配置

本文介绍如何安装和配置Nagios监控系统,包括创建用户和组、安装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% 为第二个参数, / 为第三个参数


### Nagios 安装配置指南 #### 一、Nagios Core 的功能概述 Nagios Core 是一个用于监控主机和服务的开源工具,但它本身并不具备具体的检查能力。所有的监控任务都需要依赖外部插件(即 nagios plugins)来实现[^1]。 --- #### 二、Nagios 插件安装 为了使 Nagios 能够执行实际的监控操作,需要先安装其官方插件包 `nagios-plugins` 或者其他第三方插件。以下是安装过程: ```bash ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl make make install ``` 此命令会编译并安装 Nagios Plugins 到指定路径,默认情况下插件会被放置到 `/usr/local/nagios/libexec/` 目录下[^2]。 --- #### 三、自定义插件开发 除了使用默认提供的插件外,还可以根据需求自行编写插件。自定义插件可以用任何编程语言开发,只需满足能够在命令行返回标准输出即可。例如,Python 和 Bash 都是非常常见的选择[^3]。 以下是一个简单的 Python 自定义插件示例: ```python #!/usr/bin/env python3 import sys def check_service(): try: # 假设这里有一个服务状态检测逻辑 service_status = True # 如果服务正常运行则为True,否则False if service_status: print("OK - Service is running.") sys.exit(0) else: print("CRITICAL - Service is not running!") sys.exit(2) except Exception as e: print(f"UNKNOWN - An error occurred: {e}") sys.exit(3) if __name__ == "__main__": check_service() ``` 将该脚本保存至 `/usr/local/nagios/libexec/check_my_service.py` 并赋予可执行权限后,可以在 Nagios 中调用它作为一项新的监控项。 --- #### 四、Nagios 主要配置文件说明 Nagios 使用多个配置文件协同工作以完成完整的监控设置。主要涉及以下几个核心文件: 1. **主配置文件 (`nagios.cfg`)** 编辑主配置文件 `/usr/local/nagios/etc/nagios.cfg`,添加新对象配置文件的位置。例如,在文件中追加如下内容: ``` cfg_file=/usr/local/nagios/etc/objects/linuxserver.cfg ``` 这里指定了一个新的 Linux 服务器配置文件位置[^4]。 2. **对象配置文件 (如 `linuxserver.cfg`)** 对象配置文件通常用来描述特定目标设备的信息,比如 IP 地址、联系人组以及关联的服务列表等。可以根据实际情况修改或新增此类文件。 3. **服务配置文件 (`services.cfg`)** 此文件决定了每台被管机器的具体监控项目集合。灵活调整该文件的内容能够显著提升 Nagios 的实用性和针对性[^5]。 --- #### 五、启动验证 完成上述所有步骤之后,重启 Nagios 服务使其生效: ```bash sudo systemctl restart nagios ``` 随后可以通过浏览器访问 Web 界面查看当前系统的监控状况。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值