阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux下Nagios的安装与配置

445次阅读
没有评论

共计 8105 个字符,预计需要花费 21 分钟才能阅读完成。

Nagios 是企业普遍使用的最具影响力的网络信息监视系统之一,它可以动态监视指定的网络状态,并在状态异常时发出警告音或邮件报警通知运维人员。监控的类型和警报定时器是完全可定制的。

Linux 下 Nagios 的安装与配置

Nagios 的另一强大功能是它能同时监测主机和服务。例如,它可以同时监测到 IP 地址和 TCP/UDP 端口号。为进一步阐述此功能,我们假定有台需要监测的 web 服务器,Nagios 可运用在服务器上基于 IP/ 服务器名运行 ping 命令的方法检测服务器是否在线,同时当服务器的 RTT(往返时延)增加时,Nagios 会随时告警。另外,Nagios 还能检测 TCP 的 80 端口 (web 服务器) 是否可达,比如可能出现服务器在线但 Apache/IIS 没有响应的情况。

而基于 Nagios 的第三方监测工具如 Centreon, FAN , op5 Monitor 在界面设计,自动化运行和技术支持方面在独立的 Nagios 引擎基础上提供了相应的补充。

本段教程将展示Linux 下 Nagios 的安装与配置.

Debian 或 Ubuntu 下 Nagios 的安装

Debian 系统用户使用 apt-get 命令就可安装 Nagios:

root@mrtg:~# apt-get install nagios3

Nagios 安装过程中可以设置邮件服务器,安装后也可以进行自定义设置。

提示:为使 Nagios 可正常发送邮件通知,需正确配置 SMTP。

Linux 下 Nagios 的安装与配置

可以看到 Nagios 支持多种邮件传送方式。最常见的莫过于服务器(Internet Site)直接向接收者发送邮件,另一种常见的形式是用智能主机或中继服务器,将邮件传送至中继邮件服务器,然后它负责将邮件传送给接收者。

进行下一步操作时服务器的域名需要包含进去。

Linux 下 Nagios 的安装与配置

最后,设置一下 Nagios 管理员‘nagiosadmin’的密码,用户可以之后自行修改密码。

Linux 下 Nagios 的安装与配置

CentOS 或 RHEL 下 Nagios 的安装

使用 yum 命令来安装,建立 repoforge 库之后运行如下 yum 命令:

[root@mrtg ~]# yum install nagios nagios-plugins

监测需求

本段教程中,我们希望完成以下监测内容:

  1. 每三分钟监测一次所有 Linux 服务器。
  2. 每三分钟监测一次所有思科路由器。
  3. 所有的邮件告警集中发送至 sentinel@example.tst。
  4. 发出告警前 Nagios 都将进行 3 次验证以确保问题确有发生。
  5. 当设备的往返时延超过 100ms 并且 / 或包丢失量超过 20% 将发出邮件告警。

余下的教程将指导您如何在 Linux 系统中配置 Nagios。

Nagios 的详细介绍:请点这里
Nagios 的下载地址:请点这里

相关阅读

Nagios 实现飞信告警配置 http://www.linuxidc.com/Linux/2013-03/80424.htm

Nagios 结合飞信实现短信报警之安装飞信 http://www.linuxidc.com/Linux/2012-08/69346.htm

Nagios 飞信 Linux 系统免费短信报警配置 http://www.linuxidc.com/Linux/2012-04/58195.htm

教你实现 Nagios 监控 Linux 主机及飞信报警 http://www.linuxidc.com/Linux/2011-09/43911.htm

关注 Linux 公社官方微信

Ubuntu 下 Nagios 的配置

明确 Nagios 配置文件的地址至关重要,以下路径指明了 Debian 系统下 Nagios 的配置文件地址。

/etc/nagios-plugins     实现监测功能的专有脚本存放地址
/etc/nagios3    添加主机、服务,定义检测和定时器的配置文件
/usr/lib/nagios/plugins     用于监测的可执行文件

接下来的步骤相互关联,由此开始定义主机,主机组及向主机组添加服务操作。

添加主机模板

我们对同一类型的主机定义了对应的模板,这里使用安装文件作举例说明。

首先,为 Linux 设备定义主机模板。

root@mrtg:~# cd /etc/nagios3/conf.d
root@mrtg:/etc/nagios3/conf.d/# cp generic-host_nagios2.cfg linux-server.cfg

如下编辑 linux-server.cfg。需要修改部分已经标出。

root@mrtg:/etc/nagios3/conf.d/# vim linux-server.cfg

 

define host{
name                    linux-server    ; 名称,需修改
notifications_enabled       1   
event_handler_enabled       1   
flap_detection_enabled      1   
failure_prediction_enabled  1   
process_perf_data       1   
retain_status_information   1   
retain_nonstatus_information    1 
check_command   example-host-check  ; 检查所用脚本,需修改
check_interval  3       ; 连续检查的间隔,需修改
max_check_attempts  3   ; 产生邮件告警前的自检次数,需修改
notification_interval   0
notification_period 24x7
notification_options        d,u,r
contact_groups          admins  ; 邮件将要发送至的组,需修改
register0
}

接下来,为 Cisco 设备定义主机模板。

root@mrtg:/etc/nagios3/conf.d/# cp linux-server.cfg cisco-device.cfg

如下修改 cisco-device.cfg。需要修改部分已经标出。

root@mrtg:/etc/nagios3/conf.d/# vim cisco-device.cfg

 

define host{
name                cisco-device;名称,需修改
notifications_enabled       1   
event_handler_enabled       1   
flap_detection_enabled      1   
failure_prediction_enabled  1   
process_perf_data       1   
retain_status_information   1   
retain_nonstatus_information    1 
check_command       example-host-check  ; 检查时使用的脚本,需修改
check_interval                  3   ; 连续检查间隔,需修改
max_check_attempts              3 ; 产生邮件告警前的自检次数,需修改
notification_interval           0
notification_period             24x7            
notification_options        d,u,r
contact_groups          admins  ; 邮件将要发至的组,需修改
register                        0       
}

添加主机

现在已定义主机模板,就可以添加需要监测的主机。以默认的文件作例子展示如下内容。

root@mrtg:/etc/nagios3/conf.d/# cp localhost_nagios2.cfg example.cfg
root@mrtg:/etc/nagios3/conf.d/# vim example.cfg

 

# Host 1
define host{
use                     linux-server    ; 使用的主机模板名
host_name               our-server      ; nagios 使用的主机名
alias                   our-server
address                 172.17.1.23     ; 主机的 IP 地址
}

# Host 2
define host{
use                     cisco-device    ; 使用的主机模板名
host_name               our-router      ; nagios 使用的主机名
alias                   our-router
address                 172.17.1.1      ; 主机的 IP 地址
}

主机组定义

当有多个主机时,为方便管理,建议将相似的主机组成一组。

root@mrtg:/etc/nagios3/conf.d/# vim hostgroups_nagios2.cfg

 

define hostgroup {
hostgroup_name      linux-server       ; 主机组名
alias           Linux Servers
members         our-server      ; 组员列表
}

define hostgroup {
hostgroup_name      cisco-device    ; 主机组名
alias           Cisco Devices
members         our-server      ; comma separated list of members
}

定义服务

首先,定义一个服务 example-host-check:当往返时延达到 100ms 预警值并且有 20% 包丢失时发出警告,而紧急告警设置为 5000ms 且包丢失比率为 100%,只执行一个 IPv4 的 ping 请求检测。

root@mrtg:~# vim /etc/nagios-plugins/config/ping.cfg

 

define command{
      command_name    example-host-check
      command_line    /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w 100,20% -c 5000,100% -p 1 -4
}

然后,将命令关联至主机组。

root@mrtg:/etc/nagios3/conf.d/# vim services_nagios2.cfg

 

define service {
hostgroup_name            linux-server
service_description           Linux Servers
check_command                 example-host-check
use                           generic-service
notification_interval 0 ; 初始化设置为 0
}

define service {
hostgroup_name            cisco-device
service_description       Cisco Devices
check_command                 example-host-check
use                           generic-service
notification_interval 0 ; 初始化设置为 0
}

联系人定义

进行如下定义将发送邮件需要的地址添加至 Nagios。

root@mrtg:/etc/nagios3/conf.d/# vim contacts.cfg

 

define contact{
contact_name                    root
alias                           Root
service_notification_period     24x7
host_notification_period        24x7
service_notification_options    w,u,c,r
host_notification_options       d,r
service_notification_commands   notify-service-by-email
host_notification_commands      notify-host-by-email
email                    root@localhost, sentinel@example.tst
}

最后,试运行初始化检测是否有配置错误。如果没有错误,Nagios 开始安全运行。

root@mrtg:~#nagios –v /etc/nagios3/nagios.cfg
root@mrtg:~# service nagios3 restart

Nagios 是企业普遍使用的最具影响力的网络信息监视系统之一,它可以动态监视指定的网络状态,并在状态异常时发出警告音或邮件报警通知运维人员。监控的类型和警报定时器是完全可定制的。

Linux 下 Nagios 的安装与配置

Nagios 的另一强大功能是它能同时监测主机和服务。例如,它可以同时监测到 IP 地址和 TCP/UDP 端口号。为进一步阐述此功能,我们假定有台需要监测的 web 服务器,Nagios 可运用在服务器上基于 IP/ 服务器名运行 ping 命令的方法检测服务器是否在线,同时当服务器的 RTT(往返时延)增加时,Nagios 会随时告警。另外,Nagios 还能检测 TCP 的 80 端口 (web 服务器) 是否可达,比如可能出现服务器在线但 Apache/IIS 没有响应的情况。

而基于 Nagios 的第三方监测工具如 Centreon, FAN , op5 Monitor 在界面设计,自动化运行和技术支持方面在独立的 Nagios 引擎基础上提供了相应的补充。

本段教程将展示Linux 下 Nagios 的安装与配置.

Debian 或 Ubuntu 下 Nagios 的安装

Debian 系统用户使用 apt-get 命令就可安装 Nagios:

root@mrtg:~# apt-get install nagios3

Nagios 安装过程中可以设置邮件服务器,安装后也可以进行自定义设置。

提示:为使 Nagios 可正常发送邮件通知,需正确配置 SMTP。

Linux 下 Nagios 的安装与配置

可以看到 Nagios 支持多种邮件传送方式。最常见的莫过于服务器(Internet Site)直接向接收者发送邮件,另一种常见的形式是用智能主机或中继服务器,将邮件传送至中继邮件服务器,然后它负责将邮件传送给接收者。

进行下一步操作时服务器的域名需要包含进去。

Linux 下 Nagios 的安装与配置

最后,设置一下 Nagios 管理员‘nagiosadmin’的密码,用户可以之后自行修改密码。

Linux 下 Nagios 的安装与配置

CentOS 或 RHEL 下 Nagios 的安装

使用 yum 命令来安装,建立 repoforge 库之后运行如下 yum 命令:

[root@mrtg ~]# yum install nagios nagios-plugins

监测需求

本段教程中,我们希望完成以下监测内容:

  1. 每三分钟监测一次所有 Linux 服务器。
  2. 每三分钟监测一次所有思科路由器。
  3. 所有的邮件告警集中发送至 sentinel@example.tst。
  4. 发出告警前 Nagios 都将进行 3 次验证以确保问题确有发生。
  5. 当设备的往返时延超过 100ms 并且 / 或包丢失量超过 20% 将发出邮件告警。

余下的教程将指导您如何在 Linux 系统中配置 Nagios。

Nagios 的详细介绍:请点这里
Nagios 的下载地址:请点这里

相关阅读

Nagios 实现飞信告警配置 http://www.linuxidc.com/Linux/2013-03/80424.htm

Nagios 结合飞信实现短信报警之安装飞信 http://www.linuxidc.com/Linux/2012-08/69346.htm

Nagios 飞信 Linux 系统免费短信报警配置 http://www.linuxidc.com/Linux/2012-04/58195.htm

教你实现 Nagios 监控 Linux 主机及飞信报警 http://www.linuxidc.com/Linux/2011-09/43911.htm

关注 Linux 公社官方微信

CentOS/RHEL 上的 Nagios 配置

RedHat 系统中 Nagios 的配置文件地址如下所示。

/etc/nagios/objects     添加主机、服务,定义监测和定时器的配置文件

/usr/lib/nagios/plugins     实现监测的可执行文件

添加主机模板

为特定类型的主机创建所需的模板,相应修改安装所需的文件。

[root@mrtg objects]# cd /etc/nagios/objects/
[root@mrtg objects]# vim templates.cfg

 

define host{
 name               linux-server    
 use                generic-host    
 check_period           24x7      
 check_interval     3
 retry_interval     1
 max_check_attempts     3
 check_command      example-host-check
 notification_period            24x7
 notification_interval  0
 notification_options           d,u,r
 contact_groups     admins
 register           0
 }

define host{name cisco-router
use generic-host
checkperiod 24×7
check
interval 3 retryinterval 1 maxcheckattempts 3 checkcommand example-host-check notificationperiod 24×7 notificationinterval 0 notificationoptions d,u,r contactgroups admins register 0 }

添加主机和主机组

这里以默认的配置文件为例,主机和主机组添加至配置文件中。

[root@mrtg objects]# cp localhost.cfg example.cfg
[root@mrtg objects]# vim example.cfg

 

#Adding Linux server
define host{
use     linux-server
host_name   our-server
alias       our-server
address     172.17.1.23
}

#Adding Cisco Router
define host{
use     cisco-router
host_name   our-router
alias       our-router
address     172.17.1.1
}

# HOST GROUP DEFINITION
define hostgroup{
hostgroup_name  linux-servers
alias           Linux Servers
members         our-server
}

define hostgroup{
hostgroup_name  cisco-router
alias           cisco-router
members         our-router
}

服务定义

定义一个服务 example-host-check:当往返时延达到 100ms 预警值并且有 20% 包丢失时发出警告,而紧急告警设置为 5000ms 且包丢失比率为 100%,只执行一个 IPv4 的 ping 请求检测。

[root@mrtg objects]# vim commands.cfg

 

define command{
command_name    example-host-check
command_line    $USER1$/check_ping -H $HOSTADDRESS$ -w 100.0,20% -c 5000.0,100% -p 1 -4
}

联系人定义

告警要发送的邮件地址添加至 Nagios 中。

[root@objects objects]# vim contacts.cfg
  • define contact{contact_name nagiosadmin
    use generic-contact alias Nagios Admin email nagios@localhost, sentinel@example.tst }

最后,准备启动 Nagios 服务,可先试运行检测配置是否出错。

[root@mrtg ~]# nagios –v /etc/nagios/nagios.cfg
[root@mrtg ~]# service nagios restart
[root@mrtg ~]# chkconfig nagios on

配置后访问 Nagios

现在一切就绪,可以开始 Nagios 之旅了。Ubuntu/Debian 用户可以通过打开 http://IP 地址 /nagios3 网页访问 Nagios,CentOS/RHEL 用户可以打开 http://IP 地址 /nagios,如 http://172.17.1.23/nagios3 来访问 Nagios。“nagiosadmin”用户则需要认证来访问页面。

Linux 下 Nagios 的安装与配置

若 Nagios 没有依原设定运行,首先要做的是建立一个测试运行(dry run)。

Debian 或 Ubuntu 系统:

# nagios3 -v /etc/nagios3/nagios.cfg

CentOS 或 RHEL 系统:

# nagios -v /etc/nagios/nagios.cfg

日志文件也会提供重要线索, 若需查看可以转至路径 /var/log/nagios/nagios.log。

希望本文有所帮助。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计8105字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7989974
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装 2026 年最强个人助理 ClawdBot、完整安装教程 一、前言 学不完,根本学不完!近期,一款名...
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...