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

news2025/2/27 17:06:51

目录

    • 页面中的一些概念
    • 配置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.sh

HOST="192.168.232.163"
PORT="80"

	case $1 in
		active)
			/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.conf

UserParameter=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/bash

case $1 in
	ping)
		/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.conf

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

刷新zabbix-agent服务

监控cron进程

监控脚本

vim /etc/zabbix/zabbix_agentd.d/crond_status.sh

#!/bin/bash

case $1 in
	ping)
		/usr/bin/pidof crond|wc -w
		;;
esac

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

vim /etc/zabbix/zabbix_agentd.d/userparameter_crond.conf

UserParameter=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		# 你的agentdid
        local UserID="@all"                 # 发送的用户ID
        local PartyID=1                  # 部门ID
        local 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.coloradmin.cn/o/990373.html

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

相关文章

Spring MVC 请求映射路径的配置,实现前后端交互

目录 一、什么是请求映射路径 二、Spring MVC的请求参数 三、日期类型的参数传递 四、Spring MVC如何响应 JSON 数据 一、什么是请求映射路径 在Spring MVC中,请求映射路径(Request Mapping Path)是指与特定的请求处理方法关联的URL路径…

改善购买后客户体验的 7 种方法

购买后的客户体验涉及客户从您的品牌购买产品后的互动和体验。客户体验从第一个接触点开始,并影响他们的购买决策。但购买后的客户体验有助于留住客户并建立品牌忠诚度。这就是为什么它是您公司发展的核心。贝恩公司(Bain & Company)的研…

品牌渠道中的价值治理思路介绍

为什么要治理渠道价格? 价格的高低会影响产品的销量,间接影响品牌的发展,同时低价会存在传播性,不低价的店铺会受低价店铺的影响,为了销量会选择低价跟价,当低价链接不断增加,那渠道势必会越来…

简单聊聊Innodb崩溃恢复那些事

简单聊聊Innodb崩溃恢复那些事 Buffer Pool 整体架构Buffer Pool 管理策略redo 日志redo log fileMini-TransactionCheckPoint部分写出问题 崩溃恢复 undo日志整体结构日志格式记录格式purge回滚 总结额外参考 本文想用简单精炼的语言将Innodb崩溃恢复那些事情好好拾到拾到&…

轻松搭建自己本地专有的ChatGPT

近期发现了一个项目,它的前身是ChatGLM,在我之前的博客中有关于ChatGLM的部署过程,本项目在前者基础上进行了优化,可以基于当前主流的LLM模型和庞大的知识库,实现本地部署自己的ChatGPT,并可结合自己的知识…

Web of Science怎么用有哪些功能

Web of Science你不可不知道的数据库。作为全球最大的学术搜索引擎之一,Web of Science涵盖了众多学科领域,为科研人员提供了全面、高品质的学术资源。本文将详细介绍Web of Science的主要功能及使用步骤,希望可以帮助您更好地利用这一强大的…

揭秘人物稿件写作技巧:如何让你的文字生动起来?

如何写出一篇高质量的人物稿件,让读者沉浸其中,感受到稿件中人物的生动形象呢?本文伯乐网络传媒将从以下几个方面进行探讨:选材、结构、语言和深度。 一、选材:选取热门而有吸引力的话题或爆点 人物稿件的选材至关重要…

React 类式组件

0x00 前言 CTF 加解密合集CTF Web合集网络安全知识库 文中工具皆可关注 皓月当空w 公众号 发送关键字 工具 获取 0x01 类式组件 1.创建类式组件 这里需要注意的是需要继承一下React.Component class MyComponent extends React.Component{}实现render方法 class MyCompone…

一文带你抢先了解腾讯云AI代码助手

背景 随着近年来人工智能技术的广泛应用,各个领域和行业纷纷探索如何利用AI辅助生产与开发。软件开发者也在努力提升开发体验,借助AI的能力进行编码、调试、测试和评审。Github Copilot、Codeium、Amazon CodeWhisperer等都是这个领域的杰出代表。为了满…

关于测试的思考-质量保障体系

一、质量保障体系 1、质量保障体系说明 2、如何构建质量保障体系 3、质量保障案例 二、敏捷开发下的软件测试 1、互联网公司敏捷流程的实践 2、提升测试上线质量(质量右移): 灰度方式:根据机器,根据用户画像&#xff…

RTPV70-30、RTPV72-30电磁比例插装阀放大器

RTSP08-20、RTSP10-20、RTSP12-20、RTSP08-22、RTHSP09-30、RTPV70-30、RTPV72-30电磁比例插装阀额定电磁线圈适合连续工作,应急手控选件,外置式比例放大器,效湿式衔铁结构,可选IP69K防水E型线圈,工业通用阀孔。

vcpkg方式安装zlmediakit

主要参考: https://github.com/ZLMediaKit/ZLMediaKit/wiki/vcpkg%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85zlmediakit vcpkg的相关配置不在本文论述。很多库或源码下载不下来,通过第三方下载后放在download目录下,名称要和vcpkg期望的一致。可通过云服务器…

“五度晟企通”企业发展服务平台正式发布,帮扶企业行稳致远!

在数字中国建设的大背景下,“五度易链”以企业实际发展需求为牵引,以帮扶企业行稳致远为目标,基于全体量产业大数据,运用NLP、AI等新一代信息技术,打造了数字化ToB企业发展服务平台“五度晟企通”,旨在以数…

Java重要知识点

Java JVM 参考:https://www.kuangstudy.com/bbs/1557549426359590914 请你谈谈你对jvm的理解?Java8虚拟机和之前的变化更新?什么是OOM?什么是栈溢出StackOverFlowError?怎么分析?jvm的常见调优参数有哪些&…

大数据如何应用于业务和决策?_光点科技

大数据已经成为当今商业和决策制定中的一个关键因素。随着互联网的普及和技术的不断进步,我们生产的数据量呈指数级增长。这些数据不仅包括来自社交媒体、传感器、移动设备等各种来源的信息,还包括过去难以存储和分析的结构化和非结构化数据。如何利用这…

spring boot 使用AOP+自定义注解+反射实现操作日志记录修改前数据和修改后对比数据,并保存至日志表

一、添加aop starter依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId> </dependency>二&#xff1a;自定义字段翻译注解。&#xff08;修改功能时&#xff0c;需要显示如…

高压放大器在制备功能材料中的应用

高压放大器在制备功能材料中具有广泛的应用。功能材料是一类具有特殊性能和功能的材料&#xff0c;可以在各个领域中发挥重要作用&#xff0c;如能源存储、电子、光电、催化等。高压放大器在制备功能材料的研究和应用中起到关键的作用&#xff0c;本文将介绍高压放大器在制备功…

快速查询快递单号物流,跟踪物流详情

如果你是一位经常网购的人&#xff0c;那么你一定对快递单号物流查询的过程不陌生。每次收到快递&#xff0c;我们都会在快递官网或者第三方平台上输入快递单号进行查询&#xff0c;整个过程比较繁琐。但是&#xff0c;现在有一款名为“固乔快递查询助手”的软件&#xff0c;可…

WRFDA资料同化实践技术应用

数值预报已经成为提升预报质量的重要手段&#xff0c;而模式初值质量是决定数值预报质量的重要环节。资料同化作为提高模式初值质量的有效方法&#xff0c;成为当前气象、海洋和大气环境和水文等诸多领域科研、业务预报中的关键科学方法。资料同化新方法的快速发展&#xff0c;…

向量数据库Milvus Cloud 核心组件Knowhere升级,支持 GPU 索引和 Cosine 相似性类型

熟悉我们的朋友都知道,在 Milvus Cloud和 Zilliz Cloud 中,有一个至关重要的组件——Knowhere。 Knowhere 是什么?如果把向量数据库整体看作漫威银河护卫队宇宙,那么 Knowhere 就是名副其实的总部,它的主要功能是对向量精确搜索其最近邻或通过构建索引进行低延迟、近似…