📅  最后修改于: 2023-12-03 15:33:05.174000             🧑  作者: Mango
Nagios是一款广泛使用的开源网络监控工具,它可以监控网络服务、主机状态、网络设备等等。它的主要特点是模块化、可扩展性强以及功能强大,支持通过插件的形式自定义监控项。
Nagios安装非常简单,可以通过源码安装或者使用包管理工具安装。
从Nagios官网上下载最新版本的源码包。
$ wget https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.4.6.tar.gz
$ tar -xzf nagios-4.4.6.tar.gz
$ cd nagios-4.4.6
$ ./configure --with-nagios-group=nagios --with-command-group=nagioscmd
$ make all
$ make install
$ yum install nagios
$ apt-get install nagios3
Nagios的配置文件分为两部分:主配置文件和对象配置文件。主配置文件是nagios.cfg,对象配置文件包括hosts.cfg、services.cfg和contacts.cfg。
nagios.cfg是Nagios的主配置文件,它定义了Nagios的一些全局配置,比如口令、工作路径、日志文件等。
# 制定工作路径
work_path=/usr/local/nagios
# 口令
password=123456
# 日志文件
log_file=/var/log/nagios/nagios.log
hosts.cfg定义了被监控主机的基本信息,比如IP地址、别名、检测间隔等。
define host {
use linux-server ; Host template
host_name www ; Host name
alias Web Server ; Alias
address 192.168.0.1 ; IP address
check_interval 5 ; Check every 5 minutes
}
services.cfg定义了对被监控主机的检测方式,比如对CPU利用率的检测、对磁盘空间的检测等。
define service {
use generic-service
host_name www
service_description CPU Load
check_command check_nrpe!check_load
}
contacts.cfg定义了报警联系人的信息,比如姓名、电话、邮箱等。
define contact {
contact_name Alex
alias Alex Wang
service_notification_period 24x7
host_notification_period workhours
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
email alex@sample.com
}
Nagios的插件是通过Shell脚本实现的,可以对不同的监控项进行检测。Nagios提供了很多标准的插件,比如检测HTTP服务、检测CPU利用率等。
#!/bin/bash
RESULT=$(curl -s --head http://localhost | head -n 1 | grep "HTTP/1.[01] [23]..")
if [ "$RESULT" == "" ]; then
echo "HTTP CRITICAL - Unable to connect to localhost:80"
exit 2
fi
echo "HTTP OK - Got $RESULT"
exit 0
Nagios是一款非常优秀的网络监控工具,安装配置也非常简单,开发者们可以通过自定义插件实现对不同的监控项进行监控。Nagios使用方便,稳定性高,适用于各种规模的企业网络。