Nagios工具

news2024/11/26 4:55:00

一 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1554401.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

不愧是字节出来的,真厉害...

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号【互联网杂货铺】&#xff0c;回复 1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 前段时间公司缺人&#xff0c;也面了许多测试&#xff0c;一开始…

互联网轻量级框架整合之JavaEE基础

不得不解释得几个概念 JavaEE SUN公司提出来的企业版Java开发中间件&#xff0c;主要用于企业级互联网系统的框架搭建&#xff0c;同时因为Java语言优质的平台无关性、可移植性、健壮性、支持多线程和安全性等优势&#xff0c;其迅速成为构建企业互联网平台的主流技术&#x…

4T第十四届省赛模拟2

一、Seg 温度读取&#xff1a; ①温度 温度读他读出来就是有精度的所以自带小数 我们读取的时候直接强制类型转换读它的各个位也不会丢失精度 ②电压 电压是你人为的/51.0了&#xff0c;从char->float->char所以会有精度丢失 所以要用原始数据来换算 在原始数据上多…

web布局——说清楚fixed布局

极限省流 想要fixed做导航页面&#xff1a;指定清楚top、left、right、bottom&#xff0c;没指定清楚布局位置就会采用默认的方式&#xff1a; 0&#xff09;父元素的padding&#xff1a;fixed元素相对位移 1&#xff09;同级元素是fixed元素&#xff1a;覆盖 2&#xff09…

.NET CORE 分布式事务(三) DTM实现Saga及高并发下的解决方案

目录(结尾附加项目代码资源地址) 引言&#xff1a; 1. SAGA事务模式 2. 拆分为子事务 3. 失败回滚 4. 如何做补偿 4.1 失败的分支是否需要补偿 5. 异常 6. 异常与子事务屏障 6.1 NPC的挑战 6.2 现有方案的问题 6.3 子事务屏障 6.4 原理 7. 更多高级场景 7.1 部分…

Golang-Gorm-快速上手

Gorm文档 GORM文档地址 安装依赖 go get -u "gorm.io/driver/mysql"go get -u "gorm.io/gorm"连接数据库 默认连接方式 func main() {// 参考 https://github.com/go-sql-driver/mysql#dsn-data-source-name 获取详情dsn : "user:passtcp(127.0.0…

Django自动化测试平台项目前端框架设计

引言 在之前根据项目具体情况&#xff0c;开发了一套自动预报数据的平台&#xff0c;但是前端页面不耐看&#xff0c;久了就生厌。于是就想更换前端框架&#xff0c;顺便记录一下。 前端设计 原来的界面&#xff1a; 一键预报模块&#xff1a; 为了有更好的感官体验&#xf…

设计模式——结构型——外观模式Facade

处理器类 public class Cpu {public void start() {System.out.println("处理器启动了...");} } 内存类 public class Memory {public void start() {System.out.println("内存启动了...");} } 硬盘类 public class Disk {public void start() {Syste…

单目图像加单点测距,求解目标位姿

单目图像加单点测距&#xff0c;求解目标位 附赠自动驾驶学习资料和量产经验&#xff1a;链接 单目相机通过对极约束来求解相机运动的位姿。参考了ORBSLAM中单目实现的代码&#xff0c;这里用opencv来实现最简单的位姿估计。 对极约束的概念可以参考我的这篇 Visual SLAM –…

总结TCP各类知识点

前言 本篇博客博主将详细地介绍TCP有关知识点&#xff0c;坐好板凳发车啦~ 一.TCP特点 1.有连接 TCP传输的过程中类似于打电话的各个过程 2.可靠传输 通过TCP自身的多种机制来保证可靠传输 3.面向字节流 内容是以字节的方式来进行发送与接收 4.缓冲区 TCP有接收缓冲区…

谈一谈BEV和Transformer在自动驾驶中的应用

谈一谈BEV和Transformer在自动驾驶中的应用 BEV和Transformer都这么火&#xff0c;这次就聊一聊。 结尾有资料连接 一 BEV有什么用 首先&#xff0c;鸟瞰图并不能带来新的功能&#xff0c;对规控也没有什么额外的好处。 从鸟瞰图这个名词就可以看出来&#xff0c;本来摄像头…

使用启智OpenI平台体验Open-Sora笔记

OpenI准备部分 镜像代码仓 创建云脑任务 新建调试任务 镜像选择 如果不想体验整个安装配置过程的话&#xff0c;我准备了一个Open-Sora的环境镜像应该可以直接开箱即用 地址&#xff1a; 192.168.204.22:5000/default-workspace/99280a9940ae44ca8f5892134386fddb/image:Open…

【C++的奇迹之旅】C++关键字命名空间使用的三种方式C++输入输出命名空间std的使用惯例

文章目录 &#x1f4dd;前言&#x1f320; C关键字(C98)&#x1f309; 命名空间&#x1f320;命名空间定义&#x1f309;命名空间使用 &#x1f320;命名空间的使用有三种方式&#xff1a;&#x1f309;加命名空间名称及作用域限定符&#x1f320;使用using将命名空间中某个成员…

NSGA算法

先给自己叠甲&#xff0c;记录自己的学习过程&#xff0c;如有内容错误欢迎指正!!!。 1. NSGA算法简介&#xff08;Nondominated Sorting Genetic Algorithm&#xff09; 根据标题&#xff0c;NSGA算法分为两个要点&#xff0c;Nondominated Sorting&#xff08;非支配排序&a…

基本数据类型

Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 数据类型是一种用于描述数据存储格式的结构。 PL/SQL 和其他编程语言一样也有多种数据类型&#xff0c;PL/SQL 语言中的常用数据类型和 Oracle 数据库中内置的数据类型基本…

基于JSP的母婴用品网站

背景 随着时代的飞速进步&#xff0c;计算机技术已经广泛而深刻地渗透到社会的各个层面。人们生活质量的持续提升&#xff0c;以及对母婴产品需求的日益增长&#xff0c;都推动了母婴用品网站开发的必要性和紧迫性。这类网站依托计算机技术&#xff0c;通过对相关产品信息的有…

简易挛生分拣系统设计

1 工效组合展示 2 方案规划设计 3 数字挛生建模 基础建模、动画设计、模型导出 4 软件体系架构 5 Web交互设计 5.1 页面架构 5.2 初始构造 5.3 模型运用 5.4 WS通信 5.5 运行展现 6 服务支撑编码 6.1 整体调度 6.2 WS服务 6.3 C/S通信 7 系统级调试完善

PyTorch深度学习快速入门(小土堆)

文章目录 16. 神经网络的基本骨架17.卷积操作18.卷积层 16. 神经网络的基本骨架 forward: import torch from torch import nnclass Tudui(nn.Module):def __init__(self):super().__init__()def forward(self,input):outputinput1return output#创建Tudui的实例对象 tuduiTu…

【详细讲解MNN介绍,安装和编译】

&#x1f308;个人主页:程序员不想敲代码啊&#x1f308; &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家&#x1f3c6; &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提…

基于Arduino IDE 野火ESP8266模块 定时器 的开发

一、delay函数实现定时 如果不需要精确到微秒级别的控制&#xff0c;可以使用Arduino的内置函数 millis()和delay() 来创建简单的定时器。millis()函数返回Arduino板启动后的毫秒数&#xff0c;而delay()函数会暂停程序的执行一段时间。 示例代码如下&#xff1a; delay()函数…