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…...

shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...

JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
从面试角度回答Android中ContentProvider启动原理
Android中ContentProvider原理的面试角度解析,分为已启动和未启动两种场景: 一、ContentProvider已启动的情况 1. 核心流程 触发条件:当其他组件(如Activity、Service)通过ContentR…...
全面解析数据库:从基础概念到前沿应用
在数字化时代,数据已成为企业和社会发展的核心资产,而数据库作为存储、管理和处理数据的关键工具,在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理,到社交网络的用户数据存储,再到金融行业的交易记录处理&a…...

pgsql:还原数据库后出现重复序列导致“more than one owned sequence found“报错问题的解决
问题: pgsql数据库通过备份数据库文件进行还原时,如果表中有自增序列,还原后可能会出现重复的序列,此时若向表中插入新行时会出现“more than one owned sequence found”的报错提示。 点击菜单“其它”-》“序列”,…...