📜  Nagios-产品(1)

📅  最后修改于: 2023-12-03 15:33:05.174000             🧑  作者: Mango

Nagios-产品

Nagios是一款广泛使用的开源网络监控工具,它可以监控网络服务、主机状态、网络设备等等。它的主要特点是模块化、可扩展性强以及功能强大,支持通过插件的形式自定义监控项。

安装

Nagios安装非常简单,可以通过源码安装或者使用包管理工具安装。

源码安装

步骤一:下载Nagios源码包

从Nagios官网上下载最新版本的源码包。

$ wget https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.4.6.tar.gz

步骤二:解压源码包

$ tar -xzf nagios-4.4.6.tar.gz

步骤三:编译Nagios

$ cd nagios-4.4.6
$ ./configure --with-nagios-group=nagios --with-command-group=nagioscmd
$ make all

步骤四:安装Nagios

$ make install
包管理工具安装

CentOS/RHEL

$ yum install nagios

Ubuntu/Debian

$ apt-get install nagios3
配置

Nagios的配置文件分为两部分:主配置文件和对象配置文件。主配置文件是nagios.cfg,对象配置文件包括hosts.cfg、services.cfg和contacts.cfg。

主配置文件

nagios.cfg

nagios.cfg是Nagios的主配置文件,它定义了Nagios的一些全局配置,比如口令、工作路径、日志文件等。

# 制定工作路径
work_path=/usr/local/nagios
# 口令
password=123456
# 日志文件
log_file=/var/log/nagios/nagios.log
对象配置文件

hosts.cfg

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

services.cfg定义了对被监控主机的检测方式,比如对CPU利用率的检测、对磁盘空间的检测等。

define service {
    use                 generic-service
    host_name           www
    service_description CPU Load
    check_command       check_nrpe!check_load
}

contacts.cfg

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使用方便,稳定性高,适用于各种规模的企业网络。