zabbix使用 -- 添加监控节点、自定义监控项、触发器

目录

    • 页面中的一些概念
    • 配置agent服务来获取目标主机数据
      • 对nginx服务器进行监控
      • 在网页中添加一台配置
    • 自定义监控项 -- 以监控nginx为例
      • 1、开启nginx本身的统计功能
      • 2、编写脚本采集数据
      • 3、在zabbix-server里获取数据
      • 监控ssh进程
      • 监控cron进程
    • 触发器
    • 报警
      • 1、注册一个企业微信
      • 2、微信报警脚本
      • 3、在监控页面设置

页面中的一些概念

主机: 我们需要被监控的服务器

图形: 各种监控的项目实现图形化的展示,图形展示的数据来自监控项,图形需要自己创建,但某些模版自带图形

监控项: 你想要知道的东西,一个监控的项目,例如CPU使用率、网络流量等

触发器: 一个报警程序

仪表盘: 汇报各种数据、图形展示

应用集: 各种应用的集合:要查看内存、CPU、磁盘、网络流量、数据库等信息,一个应用集里有很多监控项

自动发现: zabbix服务器能够根据模版里的监控项目祖东到客户机那去识别又哪些监控项可以监控。但主动发现会消耗资源

聚合图形: 将很多图形在一个页面展示
在这里插入图片描述

添加一个名为nginx的两行两列的图形,创建完成之后点击nginx,右上角编辑聚合图形,更改,添加需要展示的图形信息

关系:监控项组成应用集,很多应用集可以套在一个模版里,模版用在主机上

配置agent服务来获取目标主机数据

对nginx服务器进行监控

将zabbix-server端的agent文件传给nginx服务器

scp zabbix-agent-4.4.6-1.el7.x86_64.rpm 192.168.232.163:/root

在nginx服务器上安装agent软件

yum install zabbix-agent-4.4.6-1.el7.x86_64.rpm -y

安装好了之后修改配置文件

cd /etc/zabbix
vim zabbix_agentd.conf# 这个IP是zabbix_server的IP
Server=192.168.232.170
ServerActive=192.168.232.170

修改完成重启服务

service zabbix-agent restart

现在就可以在zabbix-server端监控到nginx服务器了

[root@localhost CebtOS7-software-zabbix]# zabbix_get -s 192.168.232.163 -p 10050 -k "system.cpu.load[all]"
0.000000

在网页中添加一台配置

在配置的主机栏右上角点击创建主机

在这里插入图片描述

输入相关信息

在这里插入图片描述

创建好了之后我们就需要为他添加模版

在这里插入图片描述

然后在自动发现规则那把所有的选项都勾上,启用

自定义监控项 – 以监控nginx为例

流程:创建应用集 -> 创建监控项加入到应用集中 -> 创建图形调用监控项

监控用户访问量

1、开启nginx本身的统计功能

cd /usr/local/scnginx99/conf/
vim nginx.conf# 在server模块中添加location /nginx_status {stub_status on;}

修改nginx配置文件之后重启服务

nginx -s reload

访问 http://192.168.232.163/nginx_status 就可以看到数据

2、编写脚本采集数据

vim /etc/zabbix/zabbix_agentd.d/nginx_data.shHOST="192.168.232.163"
PORT="80"case $1 inactive)/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null|grep 'Active' |awk '{print $NF}';;reding)/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status" 2>/dev/null|grep 'Reading'|awk '{print $2}';;writing)/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status" 2>/dev/null|grep 'Writing'|awk '{print $4}';;waiting)/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status" 2>/dev/null|grep 'Waiting'|awk '{print $6}';;accepts)/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status" 2>/dev/null|awk NR==3|awk '{print $1}';;ping)/sbin/pidof nginx|wc -w;;handled)/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status" 2>/dev/null|awk NR==3|awk '{print $2}';;requests)/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status" 2>/dev/null|awk 'NR==3{print $3}';;esac

给脚本可执行权限

chmod +x nginx_data.sh

编写一个参数文件,说明需要获取什么参数,调用采集数据的脚本

vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx.confUserParameter=nginx.status[*],/etc/zabbix/zabbix_agentd.d/nginx_data.sh $1

重启服务

service zabbix-agent restart

3、在zabbix-server里获取数据

zabbix_get -s 192.168.232.163 -k nginx.status[active]

能看到数据就说明脚本没有出错

接下来在监控页面添加监控项

1、点击zabbix-clent-nginx的应用集,右上角创建应用集chen-nginx,然后点击岗创建的应用集,在监控项页面,右上角创建监控项
在这里插入图片描述

注意添加的key是与脚本里的一致
在这里插入图片描述

添加完所需的数据之后,就在配置-主机-选择nginx服务器-图形,右上角创建图形,将刚创建的监控项加入

监控ssh进程

编写监控ssh进程的脚本

vim /etc/zabbix/zabbix_agentd.d/ssh_data.sh#!/bin/bashcase $1 inping)/usr/bin/netstat -anplut|grep sshd|grep "LISTEN"|wc -l;;
esac

写完之后给这个脚本可执行权限

但由于脚本运行netstat命令式在普通用户下执行的,权限不足,需要登录root用户,让其他用户活动文件所有者的权限,授予suid权限

chmod +s /usr/bin/netstat

然后编写参数文件

vim /etc/zabbix/zabbix_agentd.d/userparameter_ssh.confUserParameter=ssh.status[*],/etc/zabbix/zabbix_agentd.d/ssh_data.sh $1

刷新zabbix-agent服务

监控cron进程

监控脚本

vim /etc/zabbix/zabbix_agentd.d/crond_status.sh#!/bin/bashcase $1 inping)/usr/bin/pidof crond|wc -w;;
esac

其实也可以直接在参数文件里面写输出数据,不需要调用脚本

vim /etc/zabbix/zabbix_agentd.d/userparameter_crond.confUserParameter=crond.status[*],/usr/sbin/pidof crond|wc -w

最后在网页中加入监控项和图形就完成了

触发器

触发器其实就是看获取的数据值是否在表达式之中

在配置-主机-选择nginx服务器的触发器,我们来创建一个sshd服务宕挂掉的触发器

在这里插入图片描述

这里添加的表达式:
在这里插入图片描述

其中,sshd服务开启时得到的结果为2,服务关闭时为1
在这里插入图片描述

现在我们来把sshd服务关闭,看图形和触发器的效果:
在这里插入图片描述

在这里插入图片描述

报警

参考https://blog.csdn.net/whell_scl/article/details/106722721

1、注册一个企业微信

https://work.weixin.qq.com

注册一个企业微信,在应用管理页面创建一个微信告警的应用,创建完成之后注意Agentld和Secret,以及我的企业页面最下方的企业ID,等下要用

2、微信报警脚本

脚本放在zabbix server上

vim wechat.sh#!/bin/bash
# 企业id
CorpID="ww1d8fa4edbc53c6a0"	
#SecretID
Secret="Sl-i4zXZY1kc-0CS_xxD3eWuTqIO8LYS3ydball8eBU"
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CorpID&corpsecret=$Secret"
# 获取token
Token=$(/usr/bin/curl -s -G $GURL |awk -F\": '{print $4}'|awk -F\" '{print $2}')
# echo $Token
# 携带token发送数据
PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Token"function body(){local int agentid=1000002		# 你的agentdidlocal UserID="@all"                 # 发送的用户IDlocal PartyID=1                  # 部门IDlocal Msg=$(echo "$@" | cut -d" " -f3-)	# 发送给所有人printf '{\n'printf '\t"touser": "'"$UserID"\"",\n"printf '\t"toparty": "'"$PartyID"\"",\n"printf '\t"msgtype": "text",\n'printf '\t"agentid": "'"$agentid"\"",\n"printf '\t"text": {\n'printf '\t\t"content": "'"$Msg"\""\n"printf '\t},\n'printf '\t"safe":"0"\n'printf '}\n'
}
/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL

给这个脚本执行权限

3、在监控页面设置

然后在监控页面,管理-报警媒介类型,右上角创建媒体类型

在这里插入图片描述

然后在管理-用户群组,右上角创建用户群组

在这里插入图片描述

管理-用户,右上角创建用户

在这里插入图片描述

点击刚刚新建的用户,设置报警媒介

在这里插入图片描述

然后点击这个用户,权限,设置为超级管理员

再在配置-动作页面,右上角,新建动作

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开启全新教学模式!vLive虚拟直播如何赋能线上教培

 如今,教培领域正在经历一场数字化的变革。随着科技的迅猛发展,教培形式也在不断演变,越来越多的企业和讲师开始采用虚拟直播来进行在线教学。那么,vLive虚拟直播https://live.vsochina.com/cnvLive虚拟直播是如何赋…

SpringBoot运维实用篇、打包、运行、高级配置、多环境开发、日志

文章目录 SpringBoot运维实用篇YW-1.SpringBoot程序的打包与运行程序打包程序运行SpringBoot程序打包失败处理命令行启动常见问题及解决方案SpringBoot项目快速启动(Linux版) YW-2.配置高级YW-2-1.临时属性设置YW-2-2.配置文件分类YW-2-3.自定义配置文件…

elasticsearch的数据聚合

聚合可以让我们极其方便的实现对数据的统计、分析、运算。例如: 什么品牌的手机最受欢迎? 这些手机的平均价格、最高价格、最低价格? 这些手机每月的销售情况如何? 实现这些统计功能的比数据库的sql要方便的多,而且…

下载安装包,安装 PySide2 到 windows 系统

20201206 修订:修改 PyCharm 中工具的配置描述 一、下载两个.whl 文件到本地, 可以在此下载 https://mirrors.tuna.tsinghua.edu.cn/ 我选用的是以下两个版本: shiboken2-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-none-win_amd64.whl …

vue three.js基本案例解析

1.安装依赖 // 比如安装148版本 npm install three0.148.0 --save2.使用页面引用 import * as THREE from three; // 引入扩展库OrbitControls.js import { OrbitControls } from three/addons/controls/OrbitControls.js; // 引入扩展库GLTFLoader.js import { GLTFLoader }…

攻防世界-WEB-NewsCenter

打开环境 有查询,猜测是sql注入 保存请求头到文件中 准备利用sqlmap 查找数据库 python sqlmap.py -r ./123.txt --dbs 查找表 python sqlmap.py -r ./123.txt --tables -D news 查找字段 python sqlmap.py -r ./123.txt --column -D news -T secret_table 显示字…

Spring整合tomcat的WebSocket详细逻辑(图解)

主要解决存在的疑问 为什么存在2种spring整合websocket的方式,一种是使用ServerEndpoint注解的方式,一种是使用EnableWebSocket注解的方式,这2种有什么区别和联系?可以共存吗?它们实现的原理是什么?它们的各…

华为数通方向HCIP-DataCom H12-821题库(单选题:321-340)

第321题 BGP的Open报文是用于建立对等体连接的,以下哪一项不属于Open报文中携带的参数信息? A、发送者的Router ID B、AS号 C、BGP版本号 D、TCP端口号 答案:D 解析:以下是BGP的Open报文: 第322题 在建立BGP对等体的过程中,OpenSent状态表明BGP等待的Open报文 并对收…

【Java基础篇 | 面向对象】—— 封装详解

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【JavaSE_primary】 本专栏旨在分享学习Java的一点学习心得,欢迎大家在评论区讨论💌 目录 一、封装1.1什么是封装…

thinkphp6 入门(4)--数据库操作 增删改查

一、设计数据库表 比如我新建了一个数据库表,名为test 二、配置数据库连接信息 本地测试 直接在.env中修改,不用去config/database.php中修改 正式环境 三、增删改查 引入Db库 use think\facade\Db; 假设新增的控制器路径为 app\test\control…

【操作系统】聊聊Linux内存工作机制

内存主要是用来存储系统和应用程序的指令、数据、缓存等 内存映射 内存是需要安全机制保护的,所以只有内核才可以直接访问物理内存。进程如果要访问内存需要通过独立的虚拟地址空间。 虚拟地址空间其实包含两部分。一部分是内核空间,另一部分就是用户…

[C++网络协议] I/O复用

具有代表性的并发服务器端实现模型和方法: 多进程服务器:通过创建多个进程提供服务。 多路复用服务器:通过捆绑并统一管理I/O对象提供服务。✔ 多线程服务器:通过生成与客户端等量的线程提供服务。 目录 1. I/O复用 2. select函…

BMS电池管理系统——什么是BMS(一)

BMS电池管理系统 文章目录 BMS电池管理系统前言一、BMS是什么?二、BMS的主要功能模块1.采样及测量功能2.状态估计及预测功能3.控制及管理功能4.通讯和诊断功能 总结 前言 作为一名电气专业的学生,大学里学了很多嵌入式相关的知识,首先要明确…

Java版工程行业管理系统源码-专业的工程管理软件- 工程项目各模块及其功能点清单

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目显示…

【前端】CSS-Grid网格布局

目录 一、grid布局是什么二、grid布局的属性三、容器属性1、display①、语句②、属性值 2、grid-template-columns属性、grid-template-rows属性①、定义②、属性值1)、固定的列宽和行高2)、repeat()函数3)、auto-fill关键字4)、f…

QT实现任意阶贝塞尔曲线绘制

bezier曲线在编程中的难点在于求取曲线的系数,如果系数确定了那么就可以用微小的直线段画出曲线。bezier曲线的系数也就是bernstein系数,此系数的性质可以自行百度,我们在这里是利用bernstein系数的递推性质求取: 简单举例 两个…

伪微分反馈控制(Pesudo-Drivative Feedback Control——PDF)

运动控制-单轴伺服控制带宽分析(二) - 知乎 (zhihu.com) 伪微分反馈控制_百度百科 (baidu.com) 伺服电机控制器的参数整定_老马过河hhh的博客-CSDN博客 伪微分PIIP控制_yukee10的博客-CSDN博客

【Linux成长史】Linux基本指令大全

🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集 数据库专栏 初阶数据结构 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如…

如何配置远程访问以在外部网络中使用公司内部的OA办公系统——“cpolar内网穿透”

文章目录 前言1. 确认在内网下能够使用IP端口号登录OA办公系统2. 安装cpolar内网穿透3. 创建隧道映射内网OA系统服务端口4. 实现外网访问公司内网OA系统总结 前言 现在大部分公司都会在公司内网搭建使用自己的办公管理系统,如OA、ERP、金蝶等,员工只需要…

Excel周报制作

Excel周报制作 文章目录 Excel周报制作一、理解数据二、数据透视表三、常用函数1.sum-求和2.sumif-单条件求和3.sumifs-多条件求和4.sum和subtotal的区别5.if函数6.if嵌套7.vlookup函数和数据透视表聚合8.index和match函数 四、周报开发五、报表总览 一、理解数据 这是一个线上…