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…

华为OD机考题(HJ71 字符串通配符)

前言 经过前期的数据结构和算法学习,开始以OD机考题作为练习题,继续加强下熟练程度。 描述 问题描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。现要求各位实现字符串通配符的…

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

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

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

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

Spring容器加载Bean和JVM加载类

1、JVM加载类 类的加载是在首次需要访问类的信息或实例化类的对象时发生的过程。ClassLoader负责加载类的字节码,并在内存中创建对应的Class对象,从而使得Java程序能够操作和使用这些类。 在Java中,类的加载是按需进行的,也就是…

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

摘 要 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 使用步骤&…

大模型学习笔记0-前言

在当前人工智能技术快速发展的背景下,大模型成为了这个领域最为耀眼的焦点之一。它们不仅在机器学习的很多子领域表现突出,还在众多实际应用中展现出巨大的潜力与价值。因此,对于任何致力于深入了解当代AI技术的学习者来说,掌握大…

3. 积分之迷

题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 小明开了个网上商店,卖风铃。共有 33 个品牌:𝐴,𝐵,𝐶A,B&#xff0c…

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

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

原生APP开发的优势

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

Python和numpy相关函数

目录 一、python中变量前面有个*二、numpy.prod三、numpy.savez四、 arr[..., ::-1]五、 yield六、 string.join()七、 numpy.random.choice() 一、python中变量前面有个* 在Python中,变量前面的星号(*)有多种用法,主要与函数参数…

Spring Boot Vue 毕设系统讲解 3

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

实例分割:深度学习在图像识别中的突破

标题:实例分割:深度学习在图像识别中的突破 实例分割是计算机视觉领域中的一项高级任务,它不仅识别图像中的多个对象,还精确地定位每个对象的边界。这项技术是目标检测和语义分割的结合,能够区分同类对象中的个体差异…

【亲测解决】No module named _cffi_backend

微信公众号:leetcode_algos_life,代码随想随记 小红书:412408155 CSDN:https://blog.csdn.net/woai8339?typeblog ,代码随想随记 GitHub: https://github.com/riverind 抖音【暂未开始,计划开始】&#xf…

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或…