User parameters 用户参数与Web监控

目录

一. 自定义键介绍 

二.  制作步骤

1. 添加无可变部分参数

2. 添加有可变参数 

3. 使用用户参数监控php-fpm 服务的状态

三. Web页面导入应用监控

四. Web监控

主要功能和操作:

开启方式 


官方预定义监控项文档icon-default.png?t=N7T8https://www.zabbix.com/documentation/6.4/zh/manual/config/items/itemtypes/zabbix_agent

一. 自定义键介绍 

在Zabbix中,UserParameter 是一个非常重要的功能,它允许用户定义自定义参数,从而监控那些Zabbix标准监控项之外的服务或应用程序。通过UserParameter,用户可以执行脚本或命令来收集数据,然后将这些数据返回给Zabbix进行进一步的处理和监控。

使用UserParameter的基本步骤如下:

  1. 配置Zabbix Agent:在Zabbix agent的配置文件(通常是/etc/zabbix/zabbix_agentd.d/zabbix_agentd.d/)目录中定义UserParameter。通常文件名没有特定要求,但重要的是确保文件具有 .conf 扩展名,这样 Zabbix agent 在启动时会自动加载该文件中的配置。配置格式如下:

    复制

    UserParameter=key[*],command
    

    其中key是你在Zabbix前端定义的键值,[*]表示参数的可变部分,command是执行脚本或命令的路径。

  2. 编写脚本:根据你的监控需求,编写相应的脚本来收集数据。脚本需要能够接收来自Zabbix agent的参数,并返回文本格式的输出。

  3. 重启Zabbix Agent:在修改了配置文件并添加了自定义参数后,需要重启Zabbix agent服务以使配置生效。

  4. 在Zabbix前端添加监控项:在Zabbix前端,创建一个新的监控项,并选择类型为“Zabbix agent”或“Zabbix agent (active)”,然后在“Key”字段中输入你在UserParameter中定义的键值。

  5. 测试监控项:在Zabbix前端,测试你添加的监控项是否能够成功获取数据。

通过这种方式,Zabbix的监控能力可以得到极大的扩展,可以监控几乎任何可以通过脚本或命令行工具获取数据的系统指标或应用程序状态。需要注意的是,在使用UserParameter时,应当确保执行的脚本或命令是安全的,不会对系统稳定性造成影响,同时也要保证数据收集的效率,避免对系统性能产生不良影响。

二.  制作步骤

首先准备一个agent端和server端,并进行监控。

1. 添加无可变部分参数

例如我要取已使用的内存量:

#使用这个bash命令可以获取到

[root@web1 ~]# free -ktotal        used        free      shared  buff/cache   available
Mem:         3714688      463632     2834340        9468      655160     3251056
Swap:         839676           0      839676
[root@web1 ~]# free | awk '/^Mem/{print $3}'
463632

 现在我们将这个自定义键写入这个memory_usage.conf文件里

[root@web1 ~]# vim /etc/zabbix/zabbix_agentd.d/memory_usage.conf
​#将这个自定义Key添加写入这个文件里
UserParameter=memory.used,free | awk '/^Mem/{print $3}'

重启agent服务

[root@web1 ~]# systemctl restart zabbix-agent

 在server端使用命令测试(server端需要下载zabbix_get,agent端需要下载)

[root@zabbix ~]# zabbix_get -s 192.168.226.29 -k memory.used
463632

2. 添加有可变参数 

 现在我们以Linux 系统的内存使用情况为例

[root@web1 ~]# cat /proc/meminfo
MemTotal:        3714688 kB
MemFree:         2830252 kB
MemAvailable:    3246988 kB
Buffers:            2708 kB
Cached:           602060 kB
SwapCached:            0 kB
Active:           137764 kB
Inactive:         511872 kB
Active(anon):      45016 kB
Inactive(anon):     9320 kB
Active(file):      92748 kB
Inactive(file):   502552 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:        839676 kB
SwapFree:         839676 kB
Zswap:                 0 kB
Zswapped:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:         44868 kB
Mapped:            33976 kB
Shmem:              9468 kB
KReclaimable:      50416 kB
Slab:             106580 kB
SReclaimable:      50416 kB
SUnreclaim:        56164 kB
KernelStack:        5728 kB
PageTables:         2248 kB
SecPageTables:         0 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     2697020 kB
Committed_AS:     173100 kB
VmallocTotal:   34359738367 kB
VmallocUsed:       55704 kB
VmallocChunk:          0 kB
Percpu:            49152 kB
HardwareCorrupted:     0 kB
AnonHugePages:      4096 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
FileHugePages:         0 kB
FilePmdMapped:         0 kB
CmaTotal:              0 kB
CmaFree:               0 kB
Unaccepted:            0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:               0 kB
DirectMap4k:      130880 kB
DirectMap2M:     4063232 kB
DirectMap1G:     2097152 kB

 现在我们将这个自定义键写入这个memory_usage.conf文件里

[root@web1 ~]# vim /etc/zabbix/zabbix_agentd.d/memory_usage.conf
​#将这个自定义Key添加写入这个文件里
UserParameter=memory.stats[*],cat /proc/meminfo | awk '/^$1/{print $$2}'#   $$2:表示不是前边调位置参数的$2 ,而是awk 的参数$2

重启agent服务

[root@web1 ~]# systemctl restart zabbix-agent

 在server端使用命令测试

[root@zabbix ~]# zabbix_get -s 192.168.226.29 -k memory.stats[MemTotal]
3714688
[root@zabbix ~]# zabbix_get -s 192.168.226.29 -k memory.stats[DirectMap4k]
130880

3. 使用用户参数监控php-fpm 服务的状态

在agent 端 :

下载,设置php-fpm

[root@web1 ~]# yum -y install php-fpm

打开php-fpm的状态页面

[root@web1 ~]# vim /etc/php-fpm.d/www.conf
#修改如下参数
user = nginx	
group = nginx
listen = 127.0.0.1:9000
pm.status_path = /status    #php-fpm 的状态监测页面
ping.path = /ping      #ping 接口,存活状态是否ok
ping.response = pong    #响应内容pong

 开启服务

[root@web1 ~]# systemctl enable --now php-fpm

下载nginx

[root@web1 ~]# yum install -y nginx

设置nginx ,设置代理php,和php-fpm的状态页面匹配

[root@web1 ~]# vim /etc/nginx/nginx.conf    #在server块中加入下述内容,集体见图location ~ \.php$ {fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;include        fastcgi_params;}location ~* /(status|ping) {fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  $fastcgi_script_name;include        fastcgi_params;allow 127.0.0.1;   #因为这个页面很重要,所有需加访问控制deny all;access_log off;   #访问这个页面就不用记录日志了}

测试访问 

[root@web1 ~]# curl 127.0.0.1/status
pool:                 www
process manager:      dynamic
start time:           06/Jul/2024:15:33:15 +0800
start since:          152
accepted conn:        2
listen queue:         0
max listen queue:     0
listen queue len:     511
idle processes:       4
active processes:     1
total processes:      5
max active processes: 1
max children reached: 0
slow requests:        0

现在我们将这个自定义键写入这个memory_usage.conf文件里

[root@web1 ~]# vim /etc/zabbix/zabbix_agentd.d/memory_usage.conf
​#将这个自定义Key添加写入这个文件里
UserParameter=php.status[*],curl -s http://127.0.0.1/status | awk '/^$1/{print $NF}'

重启agent服务

[root@web1 ~]# systemctl restart zabbix-agent

 在server端使用命令测试

[root@zabbix ~]# zabbix_get -s 192.168.226.29 -k "php.status[pool]"
www
[root@zabbix ~]# zabbix_get -s 192.168.226.29 -k "php.status[idle processes]"
4

三. Web页面导入应用监控

创建模板组

 创建模板

 找到刚创建的模板

添加监控项

 

利用上方自定义的key来创建监控项 

给主机应用模板

 

四. Web监控

Zabbix 的 Web 监控是通过 Zabbix 的 Web 界面来实现对监控系统的管理、配置和数据查看的过程。以下是关于 Zabbix Web 监控的一些主要功能和操作:

主要功能和操作:

  1. 登录和用户管理

    • 用户可以通过 Web 界面登录到 Zabbix,根据其权限访问不同的功能和数据。
    • 管理员可以配置用户权限、角色和访问控制列表(ACL)。
  2. 仪表盘和概览

    • Zabbix 提供了个性化的仪表盘功能,可以根据用户的需求自定义显示的监控数据和图表。
    • 仪表盘可以展示实时的监控状态和数据趋势,方便用户快速了解系统的健康状态。
  3. 配置管理

    • 主机和设备管理:管理员可以添加、编辑和删除监控的主机和设备。
    • 监控项和模板:定义要监控的具体数据项,并通过模板进行统一管理。
    • 触发器和警报:设置监控数据异常时的触发条件和警报规则,确保及时响应和处理。
    • 自动发现:通过自动发现功能,自动添加新的主机或服务到监控系统中,并应用预定义的监控配置。
  4. 监控数据查看

    • 实时监控:通过图表和数据表格查看实时收集的监控数据,例如 CPU 使用率、内存、网络流量等。
    • 历史数据:查看和分析历史性能数据,进行性能趋势分析和问题排查。
  5. 警报和通知

    • 配置警报规则和动作,定义监控数据超过阈值时的通知方式和响应策略。
    • 支持多种通知方式,如电子邮件、短信、Slack 等,确保管理员和团队及时了解和响应监控事件。
  6. 报表和导出

    • 生成和导出监控数据报表,帮助管理员和团队进行定期性能分析和报告。

开启方式 

 

填入的URL就用上面下载的PHP服务的监控页面 

 

 

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

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

相关文章

代码随想录(day1)二分法

if语句的基本语法 if 要判断的条件: 条件成立的时候&#xff0c;要做的事举例&#xff1a; if nums[middle]<target:leftmiddle1 while语句的基本语法&#xff1a; while 判断条件(condition)&#xff1a;执行语句(statements)举例&#xff1a; while left<right:midd…

【小鸡案例】表单focus和blur事件用法

input中有2个属性&#xff0c;一个是focus获取焦点&#xff0c;一个是blur失去焦点。获取焦点就是我们点击输入框时输入框被选中&#xff1b;失去焦点即点击输入框以外的区域&#xff0c;今天就用这两种属性做一个点击输入框的动画效果。 先写个输入框&#xff0c;代码如下&am…

基于LabVIEW的设备安装螺栓连接设计

介绍了一种基于LabVIEW的辅助设备安装螺栓连接设计案例。通过LabVIEW软件&#xff0c;实现了从螺栓规格预估、强度校核到物料选用的整个流程的软件化&#xff0c;提高了设计效率和安装可靠性。 项目背景 在轨道车辆设备安装中&#xff0c;螺栓连接作为一种常见的紧固方式&…

【java计算机毕设】线上花店销售商城系统java MySQL ssm JSP maven项目代码源码+文档ppt

目录 1项目功能 2项目介绍 3项目地址 1项目功能 【java计算机毕设】线上花店销售商城系统MySQL ssm JSP maven项目代码源码文档PPT 小组设计代码 2项目介绍 系统功能&#xff1a; 线上花卉小铺系统包括管理员、用户俩种角色。 用户端&#xff1a;1.注册登录&#xff1a;游客…

系统化学习 H264视频编码(02) I帧 P帧 B帧 引入及相关概念解读

说明&#xff1a;我们参考黄金圈学习法&#xff08;什么是黄金圈法则?->模型 黄金圈法则&#xff0c;本文使用&#xff1a;why-what&#xff09;来学习音H264视频编码。本系列文章侧重于理解视频编码的知识体系和实践方法&#xff0c;理论方面会更多地讲清楚 音视频中概念的…

JavaWeb开发基础7个Web术语解析

7个Web术语 Website: static vs dynamic HTTP HTTP Requests GET vs POST Servlet Container Server: Web vs Application Content Type Website: static vs dynamic 网站内容包括文本、图片、音频、视频&#xff0c;通过URL来访问。网站分为静态网站和动态网站。 静态网…

HBuilder X 小白日记03-用css制作简单的交互动画

:hover选择器&#xff0c;用于选择鼠标指针浮动在上面的元素。 :hover选择器可用于所有元素&#xff0c;不只是链接 :link选择器 设置指向未被访问页面的链接的样式 :visited选择器 用于设置指向已被访问的页面的链接 :active选择器 用于活动链接

mp4视频太大怎么压缩不影响画质,mp4文件太大怎么变小且清晰度高

在数字化时代&#xff0c;我们常常面临视频文件过大的问题。尤其是mp4格式的视频&#xff0c;文件大小往往令人望而却步。那么&#xff0c;如何在不影响画质的前提下&#xff0c;有效地压缩mp4视频呢&#xff1f;本文将为您揭秘几种简单实用的压缩技巧。 在分享和存储视频时&am…

白嫖A100活动来啦,书生·浦语大模型全链路开源体系

扫码参加即可获得&#xff1a; 第一节 书生浦语大模型全链路开源体系 书生浦语大模型的开源历程。 从模型到应用的典型流程 书生浦语的开源体系&#xff0c;包含从数据、预训练、微调、部署、评测、应用等环节

C# Winform自制多轴力臂(简单易懂,方便扩展)

WinForms框架广泛应用于上位机开发领域&#xff0c;其中对力臂的精准控制是常见需求之一。本文深入探讨了如何创建自定义的多轴力臂图形控件&#xff0c;不仅涵盖了力臂图形控件的角度调节机制&#xff0c;还详细展示了如何实现力臂运动的生动动态效果&#xff0c;为开发者提供…

【web前端HTML+CSS+JS】--- JS学习笔记03

一、JS介绍 可以在前端页面上进行逻辑处理&#xff0c;来解决表单的验证等问题&#xff0c;提升效率&#xff0c;直接在前端提示问题&#xff0c;减少服务器压力 应用1&#xff1a;可以做静态验证和动态验证&#xff08;进行异步请求&#xff09; 应用2&#xff1a;可以解析后…

Java---包装类与泛型

1.包装类 1.1 包装类 在Java中&#xff0c;由于基本数据类型不是继承Object类&#xff0c;为了在泛型代码中可以支持基本数据类型&#xff0c;Java给每个基本数据类型各自提供了一个包装类。 如下图 除了char和int基本数据类型的包装类型有点特别&#xff0c;其他的都是首字…

30岁前懂3点助你成为不被吃的AI产品经理

前几天突然间想起一个程序员和产品经理之间经常会遇到的问题&#xff0c;我问程序员&#xff0c;你们怎么样怼产品经理提出的需求&#xff0c;他们回答我如下图&#xff1a; 可见日常工作中AI产品经理提需求给研发工程师时&#xff0c;貌似产生了产品经理“求”研发帮开发的现象…

linux指令练习

二、touch、vi练习&#xff1a; 1、在root家目录下创建目录A1和B1 2、进入B1下同时创建三个文件m1, m2 , n1&#xff0c;单独创建目录N1 3、进入到A1目录中分别创建一个文件t1,k2&#xff0c;同时创建目录F1&#xff0c;F2 4、删除B1下的所有1结尾的文件或者目录 5、删除A1目录…

动态粒子发射特效404网站HTML源码

源码介绍 动态粒子发射404网站HTML源码&#xff0c;粒子内容可以进行修改&#xff0c;默认是4&#xff0c;0数字还有一个页面不存在英文&#xff0c;可以自行修改&#xff0c;喜欢的朋友可以拿去使用&#xff0c;源码是html&#xff0c;记事本打开修改即可&#xff0c;鼠标双击…

【面试题】串联探针和旁挂探针有什么区别?

在网络安全领域中&#xff0c;串联探针和旁挂探针&#xff08;通常也被称为旁路探针&#xff09;是两种不同部署方式的监控设备&#xff0c;它们各自具有独特的特性和应用场景。以下是它们之间的主要区别&#xff1a; 部署方式 串联探针&#xff1a;串联探针一般通过网关或者…

设计资料:520-基于ZU15EG 适配AWR2243的雷达验证底板 高速信号处理板 AWR2243毫米波板

基于ZU15EG 适配AWR2243的雷达验证底板 一、板卡概述 本板卡系北京太速科技自主研发&#xff0c;基于MPSOC系列SOC XCZU15EG-FFVB1156架构&#xff0c;搭载两组64-bit DDR4&#xff0c;每组容量32Gb&#xff0c;最高可稳定运行在2400MT/s。另有1路10G SFP光纤接口、1路40G…

使用 Hugging Face 模型时遇到的问题

题意&#xff1a; I load a float32 Hugging Face model, cast it to float16, and save it. How can I load it as float16? 我加载了一个float32的Hugging Face模型&#xff0c;将其转换为float16&#xff0c;并保存了。我该如何以float16的形式加载它呢&#xff1f; 问题…

[C++]入门基础(1)

Hello大家好&#xff0c;今天通过本篇文章&#xff0c;我们来初步学习C&#xff0c;C可以说是对C语言的一个升级&#xff0c;我们会一步一步的由浅入深的学习C。 目录 1.第一个C程序 2.命名空间 2.1 命名空间出现的意义 2.2 namespace的定义 2.3 命名空间的使用 3.C输入…

【AutoencoderKL】基于stable-diffusion-v1.4的vae对图像重构

模型地址&#xff1a;https://huggingface.co/CompVis/stable-diffusion-v1-4/tree/main/vae 主要参考:Using-Stable-Diffusion-VAE-to-encode-satellite-images sd1.4 vae 下载到本地 from diffusers import AutoencoderKL from PIL import Image import torch import to…