0

0

如何监控服务 nagios配置

P粉602998670

P粉602998670

发布时间:2025-08-14 12:07:01

|

731人浏览过

|

来源于php中文网

原创

配置nagios监控服务需依次完成以下步骤:一、安装nagios及插件,包括依赖安装、源码编译、web配置与服务启动;二、配置监控服务,通过创建主机配置文件定义被监控主机,并添加服务监控项如http服务;三、检查配置文件语法并重启nagios服务以生效;四、可选自定义监控命令,通过修改commands.cfg定义新命令用于检测特定端口或应用;五、配置告警通知,设置联系人、邮件通知方式及所属联系人组;六、排查常见问题如插件路径、权限、日志和邮件发送等,确保监控正常运行,最终实现基于主机、服务、命令和通知机制的完整监控体系。

如何监控服务 nagios配置

Nagios 是一个功能强大的开源监控系统,可以用来监控服务器、网络设备、服务状态等。配置 Nagios 来监控服务,主要涉及以下几个关键步骤:安装 Nagios、配置主机与服务、定义联系人与通知方式、使用插件执行检测。下面是一个实用的配置流程,帮助你快速上手服务监控。


一、安装 Nagios 及插件

首先确保系统环境为 Linux(如 CentOS、Ubuntu),以 CentOS 为例:

# 安装依赖
yum install -y httpd php gcc glibc-common wget gd gd-devel perl

# 创建 Nagios 用户
useradd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagcmd apache

# 下载并安装 Nagios Core
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.6.tar.gz
tar -zxvf nagios-4.4.6.tar.gz
cd nagios-4.4.6
./configure --with-command-group=nagcmd
make all
make install
make install-init
make install-config
make install-commandmode
make install-webconf

# 安装 Nagios 插件
cd ..
wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
tar -zxvf nagios-plugins-2.3.3.tar.gz
cd nagios-plugins-2.3.3
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make && make install

设置 Web 登录密码:

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

启动服务:

systemctl start nagios
systemctl start httpd

访问

http://your-server-ip/nagios
,输入用户名
nagiosadmin
和密码登录。


二、配置监控服务(以监控 HTTP 服务为例)

Nagios 的配置文件通常位于

/usr/local/nagios/etc/
目录下。服务监控需要定义主机和服务。

1. 创建主机配置文件

编辑或创建一个新的配置文件:

vim /usr/local/nagios/etc/servers/webserver.cfg

添加以下内容:

define host {
    use                     linux-server            ; 使用的模板(在 templates.cfg 中定义)
    host_name               my-web-server          ; 主机别名
    alias                   My Web Server          ; 描述
    address                 192.168.1.100          ; 被监控服务器的 IP
}
注意:linux-server 是 Nagios 默认定义的主机模板,支持 ping 检测。

2. 添加服务监控(如 HTTP)

在同一文件中添加服务定义:

define service {
    use                     generic-service         ; 使用通用服务模板
    host_name               my-web-server
    service_description     HTTP
    check_command           check_http
    notifications_enabled   1
}

这个配置会使用

check_http
插件检查目标主机的 80 端口是否返回正常 HTTP 状态码。


三、检查配置并重启

每次修改配置后,必须验证语法并重启服务:

Play.ht
Play.ht

根据文本生成多种逼真的语音

下载
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

如果没有错误,重启 Nagios:

systemctl restart nagios

四、自定义监控命令(可选)

如果需要监控其他服务(如自定义端口、API 接口),可以定义新的命令。

编辑命令配置文件:

vim /usr/local/nagios/etc/objects/commands.cfg

添加一个检查特定端口的命令:

define command {
    command_name    check_tcp_8080
    command_line    $USER1$/check_tcp -H $HOSTADDRESS$ -p 8080
}

然后在服务中使用:

define service {
    use                     generic-service
    host_name               my-web-server
    service_description     API Service (8080)
    check_command           check_tcp_8080
}

五、配置告警通知(邮件示例)

确保已安装邮件工具(如

mailx
):

yum install -y mailx

编辑联系人配置:

vim /usr/local/nagios/etc/objects/contacts.cfg

修改:

define contact {
    contact_name                    admin
    use                             generic-contact
    alias                           System Administrator
    email                           admin@example.com
}

确保服务中启用了通知,并使用正确的 contact group:

define contactgroup {
    contactgroup_name   admins
    alias               Nagios Administrators
    members             admin
}

并在服务或主机中指定:

define host {
    ...
    contact_groups      admins
}

六、常见问题排查

  • 插件找不到:确认插件路径为
    /usr/local/nagios/libexec/
    ,并在
    commands.cfg
    中使用
    $USER1$
    指代该路径。
  • Web 页面不更新:刷新浏览器,或检查
    nagios.log
    日志。
  • 服务状态未知(UNKNOWN):检查插件权限、路径、参数是否正确。
  • 无法发送邮件:测试命令行发送邮件
    echo "test" | mail -s "test" user@example.com

基本上就这些。Nagios 配置的核心是:主机定义 + 服务定义 + 命令定义 + 通知机制。只要结构清晰,逐步添加,就能稳定监控各类服务。对于大规模环境,建议结合 NRPE 或 check_mk 实现远程监控。

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1023

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

66

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

437

2025.12.29

http500解决方法
http500解决方法

http500解决方法有检查服务器日志、检查代码错误、检查服务器配置、检查文件和目录权限、检查资源不足、更新软件版本、重启服务器或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

358

2023.11.09

http请求415错误怎么解决
http请求415错误怎么解决

解决方法:1、检查请求头中的Content-Type;2、检查请求体中的数据格式;3、使用适当的编码格式;4、使用适当的请求方法;5、检查服务器端的支持情况。更多http请求415错误怎么解决的相关内容,可以阅读下面的文章。

410

2023.11.14

HTTP 503错误解决方法
HTTP 503错误解决方法

HTTP 503错误表示服务器暂时无法处理请求。想了解更多http错误代码的相关内容,可以阅读本专题下面的文章。

1875

2024.03.12

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1987

2024.08.16

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1349

2023.06.21

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

72

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Node.js 教程
Node.js 教程

共57课时 | 8.8万人学习

ASP 教程
ASP 教程

共34课时 | 3.7万人学习

Python 教程
Python 教程

共137课时 | 7.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号