Centos7部署Nagios监控系统

0    84    1

Tags:

👉 本文共约5379个字,系统预计阅读时间或需21分钟。

Nagios基本功能介绍

Nagios 是电脑系统和网络监控程序,用于检测主机和服务,当异常发生和解除时能提醒用户;是基于 GPLv2 开发的开源软件,可免费获得及使用。

Nagios 原名 NetSaint,由 Ethan Galstad 开发并维护至今。NAGIOS 是简称,全写“Nagios Ain’t Gonna Insist On Sainthood”,Sainthood 意思是“圣者”,而“Agios”是“saint”的希腊文。Nagios 在 Linux 运作,但也能用于 Unix。

主要功能

  • 网络服务监控(SMTP、POP3、HTTP、NNTP、ICMP、SNMP、FTP、SSH)
  • 主机资源监控(CPU load、disk usage、system logs),也包括 Windows 主机(使用 NSClient++ plugin)
  • 可以指定自己编写的 Plugin 通过网络收集数据来监控任何情况(温度、警告……)
  • 可以通过配置 Nagios 远程执行插件远程执行脚本
  • 远程监控支持 SSH 或 SSL 加通道方式进行监控
  • 简单的 plugin 设计允许用户很容易的开发自己需要的检查服务,支持很多开发语言(shell scripts、C++、Perl、ruby、Python、PHP、C#等)
  • 包含很多图形化数据 Plugins(Nagiosgraph、Nagiosgrapher、PNP4Nagios 等)
  • 可并行服务检查
  • 能够定义网络主机的层次, 允许逐级检查, 就是从父主机开始向下检查
  • 当服务或主机出现问题时发出通告,可通过 email, pager, sms 或任意用户自定义的 plugin 进行通知
  • 能够自定义事件处理机制重新激活出问题的服务或主机
  • 自动日志循环
  • 支持冗余监控
  • 包括 Web 界面可以查看当前网络状态,通知,问题历史,日志文件等

基础环境准备

2.1系统及软件
主机IP地址软件
192.168.250.236Nagios服务端Apache、Php、Nagios、nagios-plugins、nrpe
192.168.250.197client被监控端(客户端)nagios-plugins、nrpe
2.2主要插件介绍
(1)NRPE

当Nagios服务端需要监控某个远程Linux 客户端的服务或者资源情况时:1.Nagios服务端会运行checknrpe 这个插件,告诉它要检查什么;2.checknrpe 插件会连接到远程客户端上的NRPE daemon,所用的方式是SSL;3.NRPE daemon 会运行相应的Nagios 插件来执行检查;4.NRPE daemon 将检查的结果返回给check_nrpe 插件,插件将其递交给nagios做处理

注意:NRPE daemon 需要Nagios 插件安装在远程的Linux主机上,否则,daemon不能做任何的监控。

(2)Nagios-plugins

nagios core是没有内置任何检查机制进行主机服务或者网络的监控。对于这些工作,都是交给额外的程序,就是nagios plugins程序来完成。Nagios只是一个平台,本身啥都不是,需要通过各种小弟(nagios plugins)才能干活。

安装Nagios服务端

3.1安装前准备
(1)关闭防火墙

(2)关闭Selinux

(3)调整字符集

如果不安装后面安装一些插件会有错误。

(4)时间同步

监控的时间同步很重要,所以时间必须同步一致。

(5)安装web展示依赖软件

Nagios服务端需要安装web展示依赖软件。

说明:上面可以看到yum 一键安装这些软件,不仅包含了编译器,图画等软件还包含了LAMP坏境。

安装的软件说明:

gcc glibc glibc-common gcc 编译器 gd gd-devel Nagios服务端Web界面中的Map画拓扑图用的 httpd php \php-gd php环境,LAMP坏境 mysql* 生成MySQL的插件,MySQL不需要启动

(6)创建所需用户

这里将将apache和nagios同属于一个组,方便一起管理。

3.2安装 Nagios平台
(1)下载Nagios

(2)解压编译安装

(3)Nagios目录说明

安装完成后,在以下目录下生成文件

它们的作用如下:

文件夹用途
binNagios 可执行程序所在目录
etcNagios 配置文件所在目录
sbinNagios CGI 文件所在目录,也就是执行外部命令所需文件所在的目录
shareNagios网页文件所在的目录
libexecNagios 外部插件所在目录
varNagios 日志文件、lock 等文件所在的目录
var/archivesNagios 日志自动归档目录
var/rw用来存放外部命令文件的目录

Nagios 安装完毕后,默认的配置文件在 /usr/local/nagios/etc目录下,文件用途解释说明:

(4)配置登录账户

Nagios服务端Web界面的用户账号:moonrong密码:123456

(5)给moonrong用户授权

因为nagios默认把全部的权限给 nagiosadmin,所以可以通过修改 cgi.cfg文件授权给刚刚新建的 moonrong这个用户。如果不授权给 moonrong,后面完成 Nagios配置之后,使用账号 moonrong来登录 Nagios服务端的 Web界面,将会看不到你配置好的需要监控的主机的所有信息。

可以看到 cgi.cfg文件内的已经授权给用户 moonrong

(6)登录到nagios的WEB端

这里登录之前,先重启一下 ApacheNagios服务。

登录地址:

用户名和密码:moonrong/123456

错误提示:

打开页面后,提示:

这个是因为我们没有启动Nagios的后台进程所导致的,只要执行下面的命令即可解决:

Centos7部署Nagios监控系统

Centos7部署Nagios监控系统

接着查看插件目录,空的,如下:

3.3安装 Nagios-plugins插件
(1)安装前准备

安装依赖软件 perl-devel

(2)下载 Nagios-plugins

(3)解压编译安装

安装完成后,然后查看,一共安装了57个插件,这个插件越好,说明可监控的东西更多:

3.4.安装 NRPE插件

服务端和被监控端都要安装这个插件。

原因是:Nagios服务端需要checknrpe这个插件,才能实现与客户端的NRPE插件联系,它们之间是通过SSL协议通信。如果Nagios服务端不安装NRPE插件,在/usr/local/nagios/libexec/这个路径下,将找不到checknrpe这个插件。所以Nagios 服务端需要装NRPE插件。Nagios服务端的NRPE不一定需要运行,但被监控的客户端的NRPE一定得运行起来。NRPE总共由两部分组成:

check_nrpe插件,位于监控主机上
NRPE daemon运行在远程的Linux客户端上(通常就是被监控机)
(1)NRPE下载

(2)NRPE解压编译安装

被监控客户端安装

客户端只要安装nagios-plugins和NRPE就行了。

4.1安装前准备

关闭防火墙、关闭selinux过程略。

(1)调整字符集

(2)时间同步

(3)安装nagios依赖软件

gcc glibc glibc-common :这些是编译器所需,没有就无法编译源码,无法进行源码安装软件。openssl-devel :这个是待会安装NRPE所需的依赖软件。

(4)创建所需用户

4.2安装Nagios-plugins插件

同3.3节,操作过程略。

4.3安装NRPE插件
(1)NRPE下载

(2)NRPE解压编译安装

客户端NRPE配置与启动

5.1允许被服务端监控

5.2修改配置文件

告诉客户机的NRPE,该守护进程怎么去监控。

注释掉样例,然后新增两行,含义如下:

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

command[checkload]=/usr/local/nagios/libexec/checkload -w 15,10,4 -c 30,25,20 命令解释:

当1分钟多于15个进程等待,5分钟多于10个,15分钟多于4个则为warning状态 当1分钟多于30个进程等待,5分钟多于25个,15分钟多于20个则为critical状态 [checkload]:相当于模块名 /usr/local/nagios/libexec/checkload:获取资源的命令 也就是说通过调用checkload就相当于执行/usr/local/nagios/libexec/checkload这个命令,下同。

command[checkdisk]=/usr/local/nagios/libexec/checkdisk -w 20% -c 6% -p / 命令解释:-w 20% -c 6% -p /(根分区剩余空间为总大小的20%为warning状态,剩余6%为critical状态,-p后是根分区)

5.3启动NRPE以及测试

Nagios服务端配置与测试

6.1修改Nagios 主配置文件

修改变动如下:

新增的两个文件:hosts.cfg是即将新建的文件用来定义主机和主机组;services.cfg是即将新建的文件用来定义这些主机要监控的服务条目。

6.2新建配置文件

根据上面配置里文件名,新建两个配置文件 hosts.cfgservices.cfg

6.3 hosts.cfgservices.cfg文件的配置
(1)hosts.cfg配置

(2)services.cfg配置

6.4commands.cfg配置

接着测试命令的可用性

说明:# checknrpe:Nagios服务端的命令,需要在commands.cfg文件中定义。#checkdisk:调用客户端配置文件nrpe.cfg中[checkdisk]标签后面的命令。可以查看到客户端的返回的磁盘占用情况,表明成功通过NRPE实现远程监控。如果获取不到被监控端的数据,第一:请检查客户端的NRPE是否正常运行,可通过netstat -ptln | grep 5666命令查看端口正常是否打开。第二:请检查服务端与客户端之间的防火墙是否关闭。第三:查看commands.cfg文件内新增的命令是否有错,第四:查看客户端的nrpe.cfg文件内的allowedhosts=127.0.0.1语句后面是否添加了Nagios服务端的ip。

6.5检查配置文件是否有误

Total Warnings: 0 Total Errors: 0,说明配置文件没有错误可以启动Nagios服务端进行测试了。

测试

Centos7部署Nagios监控系统

Centos7部署Nagios监控系统

参考

https://mp.weixin.qq.com/s/mJs4A_1RLn1_Iqggk0l-oA

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部