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…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...

搭建DNS域名解析服务器(正向解析资源文件)
正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...

Unity UGUI Button事件流程
场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...
Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成
一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...

基于江科大stm32屏幕驱动,实现OLED多级菜单(动画效果),结构体链表实现(独创源码)
引言 在嵌入式系统中,用户界面的设计往往直接影响到用户体验。本文将以STM32微控制器和OLED显示屏为例,介绍如何实现一个多级菜单系统。该系统支持用户通过按键导航菜单,执行相应操作,并提供平滑的滚动动画效果。 本文设计了一个…...
怎么开发一个网络协议模块(C语言框架)之(六) ——通用对象池总结(核心)
+---------------------------+ | operEntryTbl[] | ← 操作对象池 (对象数组) +---------------------------+ | 0 | 1 | 2 | ... | N-1 | +---------------------------+↓ 初始化时全部加入 +------------------------+ +-------------------------+ | …...