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.mzph.cn/news/868958.shtml

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

相关文章

华三m-lag三层转发+VRRP配置案例

目录 一、相关理论介绍 1.1 华三M-LAG介绍 1.2 DRCP协议 1.3 keepalive机制 1.4 MAD机制 1.5 一致性检查功能 二、M-LAG系统建立及工作过程 三、实验组网案例 3.1 组网需求 3.2 组网拓扑 3.3 设备接口及地址规划 四、具体配置命令 4.1 S6850-1的配置 4.2 S6850-2…

AI:助力开发者翱翔,而非抢夺其舞台

在当今这个科技飞速发展的时代,人工智能(AI)犹如一股春风,悄然渗透进全球各个行业,尤其在软件开发领域,其影响力日益显著。从初创企业到跨国巨头,无一不在积极探索AI如何重塑编程的面貌&#xf…

护眼灯什么价位的好?好用又实惠的护眼灯推荐

护眼灯,简单来说就是保护视力的台灯,专业的护眼台灯的光线与自然光光线相似,有亮度稳定、不闪烁,发光面积大等这些特点。那么,护眼灯什么价位的好?市面上所出现的护眼台灯良莠不齐,价格低的质量…

【源码+文档+调试讲解】文物管理系统

摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存…

warning: LF will be replaced by CRLF the next time Git touches it warning

问题: warning: in the working copy of , LF will be replaced by CRLF the next time Git touches it warning: 今天上传git时报错,使用Ai;得知; 解决: 将 Git 配置为不自动转换换行符,使用以下命令…

一.5 高速缓存至关重要

这个简单的示例揭示了一个重要的问题,即系统花费了大量的时间把信息从一个地方挪到另一个地方。hello程序的机器指令最初是存放在硬盘上,当程序加载时,它们被复制到主存;当处理器运行程序时,指令又从主存复制到处理器。…

触摸屏虚拟键盘组件 jQuery Virtual Keyboard使用 自定义键盘

如何在触摸设备上为输入域添加虚拟键盘? 一个插件可以解决这个问题,关键还支持高度自定义(git地址): GitHub - Mottie/Keyboard: Virtual Keyboard using jQuery ~ 官网地址:Virtual Keyboard 使用步骤&…

NISP证书备考指南与经验分享

在信息安全领域,NISP(国家信息安全水平考试)作为衡量专业能力的重要标尺,不仅是职场晋升的敲门砖,更是个人技能提升的关键一步。面对这一挑战,如何高效备考,成为众多学员关注的焦点。今天,为您精心打造这份…

原生APP开发的优势

原生APP开发是指使用特定的编程语言和开发工具,针对特定的操作系统平台进行开发的应用程序。相比于混合开发和Web开发,原生APP开发具有以下优势。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1. 性能更优 原…

Spring Boot Vue 毕设系统讲解 3

目录 项目配置类 项目中配置的相关代码 spring Boot 拦截器相关知识 一、基于URL实现的拦截器: 二、基于注解的拦截器 三、把拦截器添加到配置中,相当于SpringMVC时的配置文件干的事儿: 项目配置类 项目中配置的相关代码 首先定义项目认…

FPGA之 串口UART通信

FPGA之串口UART通信 1. UART发送模块(Transmitter)2. UART接收模块(Receiver)3. testbench4. 边沿检测电路 串口(Universal Asynchronous Receiver/Transmitter,UART)是一种串行通信协议&#x…

通义千问Qwen-VL-Chat大模型本地部署(一)

目录 前言 环境准备 软件安装 其它库安装启动项目 FASTAPI 小结 前言 人工智能大模型是一种能够利用大数据和神经网络来模拟人类思维和创造力的人工智能算法。它利用海量的数据和深度学习技术来理解、生成和预测新内容,通常情况下有数十亿乃至数百亿个参数&#xf…

什么?这动物图片可以上国家地理?

stable difussion中大部分的模型都是关于人的,今天交给大家一些不一样的:如何生成动物图片。在这篇文章中我们将会学到如何生成逼真的动物,可爱的动物,还有幻想中的动物。 准备工作 当然前提是你需要一个SD的软件,你可以用本地的SD webUI或…

[Spring] SpringBoot基本配置与快速上手

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…

企业如何做好数据防泄密丨十个措施杜绝泄密事件

在当今数字化时代,信息泄露对企业构成了前所未有的威胁。企业的创新成果、专利技术和商业机密是其竞争力的核心。防止泄密可以确保这些关键资产不被非法复制或盗用。 客户数据是企业的宝贵资源。保护客户隐私不被泄露,不仅是法律要求,更是赢…

两位软件工程师创业,开发出一款软件质量保证自主AI代理,融资总额超3000万美元

编译整理|TesterHome社区 来源|TechCrunch 随着生成式人工智能(generative AI)的出现,人工智能应用正在改变和重塑各行各业,并改变人们的工作方式。软件开发也不例外。 总部位于旧金山和东京的初创公司Aut…

自动化立体仓库设计步骤:7步

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 完整版文件和更多学习资料,请球友到知识星球【智能仓储物流技术研习社】自行下载 这份文件是关于自动化立体仓库设计步骤的详细指南,其核心内容包括以下几个阶…

孟德尔随机化与痛风4

写在前面 今天阅读的文献是多种暴露与某结局的孟德尔随机化,算是以量取胜了。 The effect of metabolism-related lifestyle and clinical risk factors on digestive system cancers in East Asian populations: a two-sample Mendelian randomization analysis …

淘宝商品评论电商API接口:帮你轻松挑选优质商品

随着互联网的快速发展,电子商务应运而生,并在短时间内取得了巨大的成功。其中,淘宝作为我国最大的在线购物平台之一,每天都有数以亿计的商品交易发生。然而,面对海量的商品信息,如何挑选出优质商品成为了一…

800 元打造家庭版 SOC 安全运营中心

今天,我们开始一系列新的文章,将从独特而全面的角度探索网络安全世界,结合安全双方:红队和蓝队。 这种方法通常称为“紫队”,集成了进攻和防御技术,以提供对威胁和安全解决方案的全面了解。 在本系列的第一篇文章中,我们将指导您完成以 100 欧元约800元左右的预算创建…