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)]
可以看到所检测的计算的一些情况
相关文章:
Nagios的安装和使用
*实验* *nagios安装和使用* Nagios 是一个监视系统运行状态和网络信息的监视系统。Nagios 能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等. Nagios 可运行在 Linux/Unix 平台之上,同时提供一个可选的基于浏览器的 WEB 界面以方便系统管…...
Numba 的 CUDA 示例(4/4):原子和互斥
本教程为 Numba CUDA 示例 第 4 部分。 本系列第 4 部分总结了使用 Python 从头开始学习 CUDA 编程的旅程 介绍 在本系列的前三部分(第 1 部分,第 2 部分,第 3 部分)中,我们介绍了 CUDA 开发的大部分基础知识…...
【机器学习】机器学习引领AI:重塑人类社会的新纪元
📝个人主页🌹:Eternity._ 🌹🌹期待您的关注 🌹🌹 ❀机器学习引领AI 📒1. 引言📕2. 人工智能(AI)🌈人工智能的发展🌞应用领…...
【制作面包game】
编写一个制作面包的游戏代码涉及到游戏设计、编程和用户界面设计等多个方面。这里我可以提供一个简化版本的Python代码示例,用于创建一个基本的面包制作游戏。这个游戏将会有一个简单的用户界面,玩家可以通过输入命令来制作面包。 游戏的基本流程如下&a…...
Django更改超级用户密码
Django更改超级用户密码 1、打开shell 在工程文件目录下敲入: python manage.py shell再在python交互界面输入: from django.contrib.auth.models import User user User.objects.get(username root) user.set_password(123456) user.save()其中ro…...
ROS基础学习-ROS通信机制进阶
ROS通信机制进阶 目录 0.简介1.常用API1.1 节点初始化函数1.1.1 C++1.1.2 Python1.2 话题与服务相关函数1.2.1 对象获取相关1.2.1.1 C++1.2.1.2 Python1.2.2 订阅对象相关1.2.2.1 C++1.2.2.2 Python1.2.3 服务对象相关函数1.2.3.1 C++1.2.3.2 Python1.2.4 客户端对象相关1.2.4.…...
【Vue3】shallowReactive() and shallowReadonly()
历史小剧场 所谓历史,就是过去的事,它的残酷之处在于:无论你哀嚎,悲伤,痛苦,落寞,追悔,它都无法改变。 一具有名的尸体躺在无数无名的尸体上,这就是所谓的霸业。---- 《明…...
【javaEE初阶】
🌈🌈🌈关于java ⚡⚡⚡java的由来 我们这篇文章主要是来介绍javaEE,一般称为java企业版,实际上java的历史可以追溯到上个世纪90年代,当时主要的语言主流的还是C语言和C,但是在那个时期嵌入式初…...
深度学习 - 梯度下降优化方法
梯度下降的基本概念 梯度下降(Gradient Descent)是一种用于优化机器学习模型参数的算法,其目的是最小化损失函数,从而提高模型的预测精度。梯度下降的核心思想是通过迭代地调整参数,沿着损失函数下降的方向前进&#…...
Steam下载游戏很慢?一个设置解决!
博主今天重装系统后,用steam下载发现巨慢 500MB,都要下载半小时。 平时下载软件,一般1分钟就搞定了,于是大致就知道,设置应该出问题了 于是修改了,如下设置之后,速度翻了10倍。 如下&#x…...
51单片机采用定时器T1的方式1的中断计数方式,外接开关K4按4次后,8只LED闪烁不停
1、功能描述 采用定时器T1的方式1的中断计数方式,外接开关K4按4次后,8只LED闪烁不停 2、实验原理 定时器原理:8051的定时器可以用于计数外部事件或执行内部定时操作。在本程序中,定时器1被设置为模式2,即8位自动重装载定时器模式…...
windows系统 flutter 开发环境配置
1、管理员运行powershell,安装:Chocolatey 工具,粘贴复制运行下列脚本: Chocolatey 官方安装文档 Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol [System.Net.ServicePointManage…...
【线性代数】SVDPCA
用最直观的方式告诉你:什么是主成分分析PCA_哔哩哔哩_bilibili 奇异值分解singular value decomposition,SVD principal component analysis,PCA 降维操作 pca就是降维后使得信息损失最小 投影在坐标轴上的点越分散,信息保留越多 pca的实现…...
1.Vue2使用ElementUI-初识及环境搭建
目录 1.下载nodejs v16.x 2.设置淘宝镜像源 3.安装脚手架 4.创建一个项目 5.项目修改 代码地址:source-code: 源码笔记 1.下载nodejs v16.x 下载地址:Node.js — Download Node.js 2.设置淘宝镜像源 npm config set registry https://registry.…...
OS复习笔记ch7-3
承接上文我们讲完了页式管理和段式管理,接下来让我们深入讲解一下快表和二级页表 快表 快表和计算机组成原理讲的Cache原理如出一辙。为了减少访存的次数,OS在访问页面的时候创建了快表(Translation Lookaside Buffer ,简称TLB&…...
MFC 教程-回车时窗口退出问题
【问题描述】 MFC窗口默认时,按回车窗口会退出 【原因分析】 默认调用OnOK() 【解决办法】 重写虚函PreTranslateMessage BOOL CTESTMFCDlg::PreTranslateMessage(MSG* pMsg) {// TODO: 在此添加专用代码和/或调用基类// 修改回车键的操作反应 if (pMsg->…...
CTFHUB-SQL注入-字符型注入
目录 查询数据库名 查询数据库中的表名 查询表中数据 总结 此题目和上一题相似,一个是整数型注入,一个是字符型注入。字符型注入就是注入字符串参数,判断回显是否存在注入漏洞。因为上一题使用手工注入查看题目 flag ,这里就不…...
Docker配置Redis集群以及主从扩容与缩容
基础镜像拉取 docker run -p 6379:6379 -d redis:6.0.8 配置文件以及数据卷挂载 # 开启密码验证(可选) requirepass 1234 # 允许redis外地连接,需要注释掉绑定的IP # bind 127.0.0.1 # 关闭保护模式(可选) protected-m…...
【计算机网络】 传输层
一、传输层提供的服务 1.1 传输层的功能 1.1.1 传输层的功能如下: 传输层提供应用进程之间的逻辑通信(即端到端的通信)。与网络层的区别是:网络层提供的是主机之间的逻辑通信。 1.1.2 复用和分用 传输层要还要对收到的报文进行…...
山东大学软件学院项目实训-创新实训-基于大模型的旅游平台(二十七)- 微服务(7)
11.1 : 同步调用的问题 11.2 异步通讯的优缺点 11.3 MQ MQ就是事件驱动架构中的Broker 安装MQ docker run \-e RABBITMQ_DEFAULT_USERxxxx \-e RABBITMQ_DEFAULT_PASSxxxxx \--name mq \--hostname mq1 \-p 15672:15672 \-p 5672:5672 \-d \rabbitmq:3-management 浏览器访问1…...
Java Web应用,IPv6问题解决
在Java Web程序中,如果使用Tomcat并遇到了IPv6相关的问题,可以通过以下几种方式来解决: 1. 配置Tomcat以使用IPv4 默认情况下,Java可能会优先使用IPv6。如果你希望Tomcat使用IPv4,最简单的方法是通过设置系统属性来强…...
MyBatis二级缓存开启条件
MyBatis缓存为俩层体系。分为一级缓存和二级缓存。 一级缓存: 一级缓存默认开启,一级缓存的作用域是SqlSession级别的,这意味着当你更换SqlSession之后就不能再利用原来的SqlSession的一级缓存了。不同的SqlSession之间的一级缓存是隔离的。…...
golang 不用sleep如何实现实现每隔指定时间执行一次for循环?
今天介绍的是在go语言里面不用time.Sleep, 使用for range 定时器管道 来实现按照我们指定的时间间隔来执行for循环, 即: for range ticker.C { } 这样就实现了for每隔指定时间执行一次,除非管道被关闭,否则for而且会一直柱塞当前线…...
【el-tooltips改造】Vue实现文本溢出才显示el-tooltip,否则不显示el-tooltips
实现原理: 使用disabled属性控制el-tooltip的content显示与隐藏; 目标: 1行省略、多行省略、可缩放页面内的文本省略都有效。 实现方式: 1、自定义全局指令,tooltipAutoShow.js代码如下(参考的el-table中的…...
【Python数据类型的奥秘】:构建程序基石,驾驭信息之海
文章目录 🚀Python数据类型🌈1. 基本概念⭐2. 转化👊3. 数值运算💥4. 数值运算扩展(math库常用函数) 🚀Python数据类型 🌈1. 基本概念 整数(int):整数是没有小数部分的数…...
vue使用html2canvas截图下载时,存在svg或者img或者特殊字体时截图不全的解决办法
使用html2canvas进行div截图时,存在svg和img的解决办法 写在前面:vue使用html2canvas截图时,存在svg或者img或者特殊字体时截图时空白,或者不全解决办法如下第一步,svg或者img先转base64(如果是特殊字体&am…...
机器学习----奥卡姆剃刀定律
奥卡姆剃刀定律(Occam’s Razor)是一条哲学原则,通常表述为“如无必要,勿增实体”(Entities should not be multiplied beyond necessity)或“在其他条件相同的情况下,最简单的解释往往是最好的…...
【设计模式】行为型设计模式之 模板方法模式
介绍 GOF 定义 模板方法模式 Template Method Design Pattern :模板方法模式在一个方法中定义一个算法骨架,并将某些步骤推迟到子类中去实现;模板方法在不改变算法整体结构的情况下,可以重新定义算法中的某些步骤。 代码举例 …...
智能合约中断言失败
断言失败: 断言(assert)在智能合约中用于确保内部逻辑的一致性和正确性,但如果使用不当,确实可能导致意外的合约终止或资金锁定。这是因为assert主要用于检测程序内部的错误,例如算法错误或逻辑错误&#…...
flink读取hive写入http接口
目录 0、创建hive数据 1、pom.xml 2、flink代码 3、sink 4、提交任务jar 5、flink-conf.yaml 6、数据接收 flink-1.17.2jdk1.8hive-3.1.3hadoop3.3.6passwordhttp0、创建hive数据 /cluster/hive/bin/beeline !connect jdbc:hive2://ip:10000 create database demo; d…...
wordpress文章采集插件/广告投放网站平台
在使用word2vec对文本进行分析时能产生一个bin文件,可以用ANSJ调用该文件得到相近词,等同于替换 ./distance vectors.bin命令。 代码如下: import java.io.BufferedInputStream; import java.io.DataInputStream; import java.io.FileInputSt…...
好女人生活常识网站建设/windows7优化大师官方下载
文章目录参考资料1.介绍2. 泛型和子类继承3. 通配符(Wildcards)4. 泛型方法参考资料 https://www.bilibili.com/video/BV1Kb411W75N?p562 1.介绍 不使用泛型下的用法: List myIntList new ArrayList();// 1 myIntList.add(new Integer(0));// 2 Integer x (Int…...
网站建设与维护的软件/长沙网站托管优化
首先有一个登录界面: 这个登录界面还有一个效果就是关闭的时候缓慢消失,视觉上更好看一点: QPropertyAnimation *animation new QPropertyAnimation(this,"windowOpacity");animation->setDuration(1000);animation->setSt…...
wordpress命令安装/株洲seo排名
撰文:Tim Beiko编辑:南风以太坊向 PoS 的过渡——合并——即将到来:devnets (开发网络) 正在被建立起来,规范正在被敲定,向社区拓展也已经正式开始。合并被设计为对以太坊终端用户、智能合约和 dapps 的影响最小化。尽…...
深圳做网站龙华新科/百度关键词查询
一、日常关注的问题1、我们的日志生成速度?1、每天生成多少日志、产生多少redo logmysql> show global status like Innodb_os_log_written;-------------------------------| Variable_name | Value |-------------------------------| Innodb_os_log_written |…...
网站建设与管理专业找暑假工/邯郸seo排名
两个虚拟机产品Sun VirtualBox 和 VMware Workstation,两家公司Sun Microsystems, Inc.(被Oracle收购)和VMware, Inc.,两种模式开源和商业。 由于新买了电脑,cpu支持vt-x(intel的硬件支持虚拟化加速&#x…...