Nagios工具
一 nagios 相关概念
Nagios 是一款开源的免费网络监视工具,能有效监控 Windows、Linux 和 Unix 的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第
一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。 Nagios 可运行在 Linux/Unix 平台之上,同时提供一个可选的基于浏览器的 WEB 界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。
二 使用 nagios 监控本机状态
1.配置yum源
#vim /etc/yum.repos.d/y.repo

2.下载安装 nagios
#yum --enablerepo=y install nagios nagios-plugins-{ping,disk,users,procs,load,swap,ssh,http}(括号里都是插件)-y

注:插件下载安装在/use/lib64/nagios/plugins下

使 apache 支持 php
1)安装 apache 和 php:
#yum install httpd php php-mbstring php-pear -y
2)删除调用 apache 测试页的配置文件:
#cd /etc/httpd/conf.d/
#rm -rf welcome.conf
3)修改 apache 配置文件
#vim /etc/httpd/conf/httpd.conf
86 行:ServerAdmin root@yy.com
95 行:ServerName www.yy.com:80
151 行:AllowOverride All
164 行:DirectoryIndex index.html index.cgi index.php
文件末尾添加:
ServerTokens Prod(隐藏服务器信息)
KeepAlive On(减少连接数。降低服务器资源使用)
![]()
![]()
4)生成 php 测试页面
#cd /var/www/html
#echo "<?php phpinfo() ?>" > index.php
#chmod a+x index.php

5)配置 php 时区(默认的是此时区,可不配置)
#vim /etc/php.ini
878 行,时区改为“Asia/Shanghai”
6)重启 apache:systemctl restart httpd
7)使用浏览器访问 http://192.168.20.133可见 php 测试页

3.配置 nagios
编辑vim /etc/httpd/conf.d/nagios.conf

注释第 16 行,在 17 行下添加:
Require ip 127.0.0.1 192.168.0.0/16

注释第 47 行,在 48 行下添加:
Require ip 127.0.0.1 192.168.0.0/16

改名或者删除php 测试页
#cd /var/www/html
#mv index.php index.php.bak

4.设置登录 nagios 网页端用户的密码
#htpasswd /etc/nagios/passwd nagiosadmin
5. 重启 nagios 和 http
#systemctl restart nagios
#systemctl restart httpd
6.使用浏览器访问:http://192.168.20.133/nagios,输入用户名(nagiosadmin)和密码后可见 nagios监控页面


7.配置 nagios 邮件提醒
1)安装软件:yum install postfix-perl-scripts -y
2)编辑配置文件:vim /etc/postfix/main.cf
75:myhostname = www.yy.com
83:mydomain = yy.com
99:myorgin = $mydoamin
116:inte_interfaces = all
164:mydestination = $myhostname,loaclhost $mydomain,localhost,$mydomain
264:mynetwork = 192.168.0.0/16,127.0.0.0/8
419:home_mailbox = Maildir/
574:smtpd_banner = $myhostname ESMTP
在文件末尾添加:
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions =
permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject

启动服务:systemctl restart postfix
3)配置 dns 使其可以解析本机主机名
4)定义 nagios 邮件的收件人
编辑配置文件:vim /etc/nagios/objects/contacts.cfg
34:root@localhost

5)重启服务:systemctl restart nagios
systemctl restart httpd
6)开启相关服务提醒:在 web 页面上,点击相关服务右边的\标记,在右侧选项卡中选择“为该服务开启提醒功能”,点击“提交”->“完成”

7)修改配置文件,并刷新浏览


8)查看邮件


)
8. 添加一个新的监控项目
1)nagios 是利用命令对本机或远程主机的状态进行监控的。监控使用的命令是在安装插件的时候获取的(即安装的插件实际上就是 nagios 用于检查服务状态的命令),这些命令默认保存在/usr/lib64/nagios/plugins

注:如果需要监控某项服务,则必须确保用于监控该项服务的插件已经安装(即监控用的命令存在)
2)在/etc/nagios/objects/commands.cfg 中,定义监控命令
define command {
command_name 监控使用命令的名称
command_line 具体使用的命令及命令的参数
}

3)在/etc/nagios/objects/localhost.cfg 中,定义监控项目
define service {
use local-service
host_name localhost
service_description check boot fen qu
check_command check_boot_partition!30%!5%!/boot
}

注:service_description 定义的是该检查项目在 web 监控端显示的名称在 /etc/nagios/objects/commands.cfg 中定义了使用哪个命令用于监控,在/etc/nagios/objects/localhost.cfg 中,给出了定义在 /etc/nagios/objects/commands.cfg 使用命令的具体参数值
4)重启服务,在 web 端查看服务是否被成功添加

例:1.确定监控使用的命令存在
#cd /usr/lib64/nagios/plugins
#ls

2.定义命令
#vim /etc/nagios/objects/commands.cfg
define command{
command_name check_local_sda1
command_line $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
}

3.定义监控服务
vim /etc/nagios/objects/localhost.cfg
define service{
use local-service
host_name localhost
service_description jia cha boot fen qu
check_command check_local_sda1!20%!10%!/dev/sda1
}

4.重启服务:systemctl restart nagios
5.在浏览器中测试:http://192.168.20.133/nagios

选择:services 可见新定义的监控服务:jia cha boot fen qu
三 监控远程 Linux 主机
1.在被监控的主机上配置
1 )安装软件:
#yum --enablerepo=y install nrpe
nagios-plugins-{ping,disk,users,procs,load,swap,ssh} -y
2)编辑 nrpe 配置文件
vim /etc/nagios/nrpe.cfg
117:添加监控主机
![]()
133:开启 nrpe 传输参数1
![]()
309-313:注释本地检测

323-326:修改为
command[check_users]=/usr/lib64/nagios/p lugins/check_users -w $ARG1$ -c $ARG2$
command[check_load]=/usr/lib64/nagios/pl ugins/check_load -w $ARG1$ -c $ARG2$
command[check_disk]=/usr/lib64/nagios/pl ugins/check_disk -w $ARG1$ -c $ARG2$ -p
$ARG3$
command[check_swap]=/usr/lib64/nagios/pl ugins/check_swap -w $ARG1$ -c $ARG2$

3)重启 nrpe 服务:systemctl restart nrpe
2.监控主机上的配置
1)安装软件:yum --enablerepo=y install naigos-plugins-nrpe -y
2)编辑 nagios 配置文件:vim /etc/nagios/naigos.cfg
取消 51 行注释:被监控主机的配置文件存放目录

3)创建被监控主机配置文件存放目录
#mkdir -pv /etc/nagios/servers
#chgrp nagios /etc/nagios/servers(改属组)
#chmod 750 /etc/nagios/servers

4)定义命令
#vim /etc/nagios/objects/command.cfg
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

5)定义远程主机的监控项目
#vim /etc/nagios/servers/noc.cfg
define host{
use linux-server
host_name host-6
alias host-6
address 192.168.1.2
}

注:定义被监控的主机
define service{
use generic-service
host_name host-6
service_description check_users
check_command check_nrpe!check_users\!10\!20
}
define service{
use generic-service
host_name host-6
service_description check_ROOT_partion
check_command check_nrpe!check_disk\!20%\!10%\!/
}

6)重启服务:systemctl restart nagios
注:如果重启服务过程中报错,使用以下命令来定位错误
/usr/sbin/nagios -v /etc/nagios/nagios.cfg
7)在 web 端可以查看新添加的监控主机及主机相关服务的状态

注:可以参考配置文件模板来对服务进行相关配置。配置文件模板所在路径:/etc/nagios/objects/templates.cfg
相关文章:
Nagios工具
一 nagios 相关概念 Nagios 是一款开源的免费网络监视工具,能有效监控 Windows、Linux 和 Unix 的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第 一时间通知网站运维人员,在状态恢复后…...
微信小程序全局数据共享
文章目录 安装MobX相关的包根目录创建store文件夹,添加store.js文件绑定到页面中绑定到组件 mobx-miniprogram和mobx-miniprogram-bindings实现全局数据共享 mobx-miniprogram用来创建Store实例对象 mobx-miniprogram-bindings用来把Store中的共享数据或方法&…...
算法训练营第24天|回溯算法理论基础 LeetCode 77.组合
终于把二叉树做完了!开始新的篇章,回溯! 回溯算法理论基础 回溯算法题目分类: 1.组合 2.分割 3.子集 4.排列 5.棋盘问题 什么是回溯? 回溯叫做回溯搜索法,是一种搜索方式。回溯是递归的副产品&…...
pip永久修改镜像地址
修改命令: pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/ 效果: 会在C:\Users\PC(用户名)\AppData\Roaming\pip目录下新增或修改文件pip.ini 文件内容: [global] index-url https://pypi.tuna.tsinghua.e…...
RK3588平台开发系列讲解(硬件篇-功能外设2)
USB2.0/USB3.0 电路 RK3588 芯片内置两个USB3.0 OTG控制器(内嵌2个USB2.0 OTG,下图绿色处),1个USB3.0 HOST 控制器,2个USB2.0 HOST控制器。 这些控制器与PHY的内部复用图如下: USB3.0 OTG0 控制器支持SS/H…...
SpringBoot学习记录
SpringBoot是用于加速Spring开发的。 我们先来看看如何使用SpringBoot来创建一个基于Web的程序,可以发现相较于SpringMVC其有巨大改变。 3.开发控制器类 GetMapping("/{id}")public String getById(PathVariable Integer id){System.out.println("…...
财富池指标--通达信顾比均线实战指标免费源码
顾比均线是由两组均线构成,短期组为3、5、8、10、12、15。长期组为:30、35、40、45、50、60。顾比均线由澳大利亚的投资家戴若-顾比先生发明,因此叫顾比线。 顾比均线可以广泛运用于股票、期货和外汇交易中,只要是能运用K线图的投…...
AJAX(一):初识AJAX、http协议、配置环境、发送AJAX请求、请求时的问题
一、什么是AJAX 1.AJAX 就是异步的JS和XML。通过AJAX 可以在浏览器中向服务器发送异步请求,最大的优势:无刷新获取数据。AJAX 不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式。 2.XML 可扩展标记语言。XML被设计用来传输和…...
idea常用的快捷键总结:
idea常用的快捷键总结: Ctrl相关的: Ctrl F 在当前文件进行文本查找 (必备) Ctrl R 在当前文件进行文本替换 (必备) Ctrl Z 撤销 (必备) Ctrl Y 删除光标所在行 或 删除选中的…...
LeetCode 热题 100 题解(一):哈希部分
《LeetCode热题 100》 经过了两个多月,终于刷完了代码随想录的题目,现在准备开始挑战热题一百了,接下来我会将自己的题解以博客的形式同步发到力扣和 c 站,希望在接下来的征程中与大家共勉! 题组一:哈希 题…...
C语言 | qsort()函数使用
目录: 1.qsort介绍 2.使⽤qsort函数 排序 整型数据 3.使⽤qsort函数 排序 结构体数据 4. qsort函数的模拟实现冒泡排序 qsort()函数 是一个 C语言编译器函数库自带的排序函数, 它可以对指定数组(包括字符串,二维数组&#x…...
继承的特点 | java
/*Java中继承的特点:A:Java只支持单继承,不支持多继承。 B:Java支持多层继承(继承体系),间接继承 */class Father(){} class Mother(){}class son extends Father(){} // 正确 class son2 extends Father , Mother {} // 不正确 1. Java只支持单继承…...
6、jenkins项目构建类型-项目类型介绍
文章目录 一、自由风格项目1、拉取代码2、演示改动代码后的持续集成二、Maven项目构建三、Pipeline流水线项目构建(☆☆☆)1、Pipeline简介(1)概念(2)使用Pipeline有以下好处(3)如何创建Jenkins Pipeline呢?2、安装Pipeline插件3、Pipeline语法快速入门(1)Declarati…...
指针函数的应用——找出哪些学生有不及格的科目
下面的代码实现了以下功能: 定义了一个函数 getFailStudent,它接收一个指向整数数组的指针,并遍历该数组,查找是否存在不及格的成绩。如果找到了不及格的成绩,就返回指向不及格学生所在行的指针;否则返回 N…...
【微服务】Gateway
文章目录 1.基本介绍官方文档:https://springdoc.cn/spring-cloud-gateway/#gateway-starter1.引出网关2.使用网关服务架构图3.Gateway网络拓扑图(背下来)4.Gateway特性5.Gateway核心组件1.基本介绍2.断言3.过滤 6.Gateway工作机制 2.搭建Gat…...
王道C语言督学营OJ课后习题(课时14)
#include <stdio.h> #include <stdlib.h>typedef char BiElemType; typedef struct BiTNode{BiElemType c;//c 就是书籍上的 datastruct BiTNode *lchild;struct BiTNode *rchild; }BiTNode,*BiTree;//tag 结构体是辅助队列使用的 typedef struct tag{BiTree p;//树…...
Filter、Listener、AJAX
Filter 概念:Filter 表示过滤器,是JavaWeb三大组件(Servlet、Filter、 Listener)之一。 过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能。 过滤器一般完成一些通用的操作,比如:权限控制、统一编码处理、敏感…...
FastAPI+React全栈开发04 FastAPI概述
Chapter01 Web Development and the FARM Stack 04 Introducing FastAPI FastAPIReact全栈开发04 FastAPI概述 Now we will look at a brief introducion to the Python REST-API framework of choice - FastAPI. Additionally, we will go over a high-level overview of t…...
基于单片机的二维码LCD显示控制设计
**单片机设计介绍,基于单片机的二维码LCD显示控制设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的二维码LCD显示控制设计是一个集硬件、软件与通信于一体的综合性项目。此设计的主要目标是实现单片机…...
Ubuntu20.04下PCL安装,查看,卸载等操作
Ubuntu20.04下PCL安装,查看,卸载等操作 项目来源 https://github.com/PointCloudLibrary/pclhttps://pointclouds.org/documentation/modules.htmlhttps://pcl.readthedocs.io/projects/tutorials/en/master/ 点云学习: https://github.c…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
在 Spring Boot 项目里,MYSQL中json类型字段使用
前言: 因为程序特殊需求导致,需要mysql数据库存储json类型数据,因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...
redis和redission的区别
Redis 和 Redisson 是两个密切相关但又本质不同的技术,它们扮演着完全不同的角色: Redis: 内存数据库/数据结构存储 本质: 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能: 提供丰…...
0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化
是不是受够了安装了oracle database之后sqlplus的简陋,无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话,配置.bahs_profile后也能解决上下翻页这些,但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可,…...
高考志愿填报管理系统---开发介绍
高考志愿填报管理系统是一款专为教育机构、学校和教师设计的学生信息管理和志愿填报辅助平台。系统基于Django框架开发,采用现代化的Web技术,为教育工作者提供高效、安全、便捷的学生管理解决方案。 ## 📋 系统概述 ### 🎯 系统定…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
