Nagios的安装和使用

*实验* *nagios安装和使用*

Nagios 是一个监视系统运行状态和网络信息的监视系统。Nagios 能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等.

Nagios 可运行在 Linux/Unix 平台之上,同时提供一个可选的基于浏览器的 WEB 界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。

一、实验内容

1.ubuntu16.04系统nagios的安装和使用

**、**实验步骤

1.准备

安装相关安装包:

\2. 下载源码并解压:

\3. 编译源码

\4. 创建用户和组,并且将www数据用户也添加到nagios 组中

5 安装二级制文件,CGIs,和HTML文件

6 安装服务或守护进程,并设置开机自启

7 安装和配置外部命令文件

8 安装SAMPLE配置文件,这个配置文件中有启动nagios需要的请求。

9 安装apache web server 配置文件和apache设置。

10 关闭防火墙或者打开80端口

11 创建一个Apache用户账户以便登录nagios,以下命令创建一个名为nagiosadmin的用户账户,并提示输入用户账户密码;

如果需要再次添加用户,需要把命令行中的-c去掉,否则将替换掉已经存在的nagiosadmin用户。

12 重启apache web 服务

13启动nagios服务/守护进程

14 测试

输入Ip地址192.168.1.102/nagios访问,输入创建的用户名和密码进行登录:

15 安装nagios插件

nagios需要插件才可以进行操作

先决条件

确保以下安装包都安装了

下载源码:

编译和安装

16 测试插件

17 nagios配置文件的修改

监控本机

查看文件:

这个配置文件中指定了本地机器的检查配置文件localhost.cfg,这个文件是系统默认存在的。定义了要检测的属性。

浏览器访问可以查看到主机的属性:

检测Linux机器:

创建一个hosts.cfg文件定义要管理的linux机器,创建一个service.cfg定义要检测的服务。

还需要将这些文件定义加进入到/usr/local/nagios/etc/nagios.cfg

Hosts.cfg文件定义了一个主机和主机组:检测的是192.168.1.114主机

Services.cfg引用的local-service的服务作为自己的服务,这个服务的命令是检查主机是否存货,check-host-alive,这个命令在commands.cfg文件中被定义。

Local-service在这个文件中被定义:

重新启动服务可以在浏览器看到:

机器启动成功。

上面已经对远程Linux 主机是否存活做了监控,而判断远程机器是否存活,我们可以使用ping 工具对其监测。还有一些远程主机服务,例如ftp、ssh、http,都是对外开放的服务,即使不用Nagios,我们也可以试的出来,随便找一台机器看能不能访问这些服务就行了。但是对于像磁盘容量,cpu负载这样的"本地信息",Nagios只能监测自己所在的主机,而对其他的机器则显得有点无能为力。毕竟没得到被控主机的适当权限是不可能得到这些信息的。为了解决这个问题,nagios有这样一个附加组件--"NRPE",用它就可以完成对Linux 类型主机"本地信息"的监控。

nrpe工作原理:

nrpe总共由两部分组成:

\1. Check_nrpe插件,位于监控主机上

\2. NRPE daemon,运行在远程Linux主机上(被监控主机)

当Nagios需要监控某个远程Linux主机的服务或者资源时:

\1. Nagios会运行check_nrpe这个插件,告诉它要检查什么;

\2. Check_nrpe插件会连接到远程的NRPE daemon,所用的方式是SSL'

\3. NRPE daemon会运行相应的Nagios插件来执行检查;

\4. NRPE daemon将检查的结果返回给check_nrpe插件,插件将其递交给nagios做处理。

NRPE daemon需要Nagios插件安装在远程的Linux主机上。

在被监控机上:

创建一个用户:

安装插件:

先决条件,确保安装包已经安装

解压插件压缩包:

安装:

查看可以发现多克两个文件夹,修改文件权限:

安装NRPE

解压:

配置:

安装NRPE插件,daemon和示例配置文件

\1. 安装check_nrpe插件

\2. 安装daemon

安装配置文件:

安装启动文件:

修改配置文件:

启动服务:

测试:

安装成功。

查看检测文件:

红色部分是命令名,也就是check_nrpe 的-c 参数可以接的内容,等号 "=" 后面是实际执行的插件程序(这与commands.cfg 中定义命令的形式十分相似,只不过是写在了一行)。也就是说check_users 就是等号后面/usr/local/nagios/libexec/check_users -w 5 -c 10 的简称。

我们可以很容易知道上面这5行定义的命令分别是检测登陆用户数,cpu负载,sda1的容量,僵尸进程,总进程数。各条命令具体的含义见插件用法(执行"插件程序名 --h")。

由于-c 后面只能接nrpe.cfg 中定义的命令,也就是说现在我们只能用上面定义的这五条命令。我们可以在本机实验一下。

在监控主机上:

安装check_nrpe插件;

测试:

在commands.cfg中增加对check_nrpe的定义:

-c 后面带的 A R G 1 ARG1 ARG1 参数是传给nrpe daemon 执行的检测命令,之前说过了它必须是nrpe.cfg 中所定义的那5条命令中的其中一条。在services.cfg 中使用check_nrpe 的时候要用 "!" 带上这个参数。

可以自定义命令:

例如监控swap分区

在被监控端:编辑文件/usr/local/nagios/etc/nrpe.cfg

添加:

这个命令的意思是如果空闲空间小于20%则为警告状态 -> warning;如果小于10%则为严重状态 -> critical。

重启服务。

在监控端:

在/usr/local/nagios/etc/objects/services.cfg添加:

重启nagios服务

重新访问192.168.1.102/nagios,可以看到如下图:

监控windows机器

查看windows机器的IP地址

修改配置,将IP地址修改为Windows机器的地址

修改nagios.cfg文件,将文件引用的注释去除,使配置生效

利用nsclient++监控远程windows上的本地消息

在nagios的libexec下有check_nt这个插件,它就是用来检查windows机器的服务的。同时需要在windows搭配软件nsclient++.

Nsclient++的原理如下图:

可以看到NSClient与nrpe最大的区别就是:

1.被监控机上安装有nrpe,并且还有插件,最终的监控是由这些插件来进行的。当监控主机将监控请求发给nrpe后,nrpe调用插件来完成监控。

2.NSClient++则不同,被监控机上只安装NSClient,没有任何的插件。当监控主机将监控请求发给NSClient++后,NSClient直接完成监控,所有的监控是由NSClient完成的。

这也说明了NSClient++的一个很大的问题:不灵活、没有可扩展性。它只能完成自己本身包含的监控操作,不能由一些插件来扩展。

windows安装nsclient++

安装完成;

修改配置文件

先修改文件的权限

将这些权限才可以修改配置文件。

修改文件

查看服务:

查看端口:可以看到12489端口打开。

在监控端:

测试:

监控器查看:

可以看到所检测的计算的一些情况

存中...(img-HxJpJT2K-1717860505354)]

查看服务:

外链图片转存中...(img-7fi5mDA3-1717860505355)

查看端口:可以看到12489端口打开。

外链图片转存中...(img-XJTJKtsq-1717860505355)

在监控端:

外链图片转存中...(img-apwYLSo8-1717860505355)

外链图片转存中...(img-RO00Fk6a-1717860505356)

测试:

外链图片转存中...(img-GZxWTfJU-1717860505357)

监控器查看:

外链图片转存中...(img-reCvoKn1-1717860505357)

可以看到所检测的计算的一些情况

相关推荐
BingoGo2 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack2 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo1 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack1 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack2 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo2 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack3 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理4 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
feifeigo1234 天前
matlab画图工具
开发语言·matlab
dustcell.4 天前
haproxy七层代理
java·开发语言·前端