zabbix 自定义用户key与参数userparameters监控监本输出
zabbix在模板中预定义了一些key,但通常情况,并不能满足我们的需求。幸运的是zabbix提供了自定义key的方法,因此我们可以灵活的监控各种我们想要监控的数据。
定义key有两种修改方式:
vim /etc/zabbix/zabbix_agentd.conf # 进入到配置文件
第一种:
1.找到 UnsafeUserParameters=0 改为 UnsafeUserParameters=1
2.找到 UserParameter= 在下面直接添加用户参数
UserParameter=<key>,<shell command>
key:服务器添加监控时需用到的key值
shell command:监控脚本的绝对路径
例:UserParameter=tomcat,/etc/zabbix/alertscripts/tomcat.sh (注意用逗号隔开)
如果要添加多个监控项,就依次写多个UserParameter 第二种: 1.修改自定义key路径
找到 Include=/usr/local/etc/zabbix_agentd.conf.d/ # 在下面添加读取用户参数的文件路径
改为 Include=/etc/zabbix/zabbix_agentd.d/*.conf # 也可以定义其他路径
2.创建配置文件
vim /etcl/zabbix/zabbix_agentd.d/userparameter.conf
添加想要监控的项,比如UserParameter=tomcat,/etc/zabbix/alertscripts/java.sh
多个自定义监控项都可写在这个文件里
配置完成后重启zabbix agent服务
定义配置文件
在/etc/zabbix/zabbix_agentd.d目录下创建一个自定义key和userparameters的配置文件,我定义的文件名字是userparameter_mysql.conf
内容为
# 这个文件监控自定义脚本输出值
# 格式为UserParameter=<key>,<command>
# UserParameter=key,脚本路径
#UserParameter=mysql.ping,HOME=/etc/zabbix/ mysqladmin ping | grep -c alive
#UserParameter=mysql.version,mysql -V
# UserParameter=mysql.status[*],/etc/zabbix/alertscripts/check_mysql.sh $1
UserParameter=mysql.ping,mysqladmin -uzabbix -p'123456' -h127.0.0.1 ping | grep -c alive
UserParameter=mysql.version,mysql -V
UserParameter=mysql.user_num,/etc/zabbix/alertscripts/mysql_usernum.sh
UserParameter=switch_parameters,/etc/zabbix/alertscripts/switch_parameters.sh
UserParameter=dynamic_env_temp[*],/etc/zabbix/alertscripts/dynamic_env_temp.sh $1
UserParameter=dynamic_env_hum[*],/etc/zabbix/alertscripts/dynamic_env_humidity.sh $1
UserParameter=switch_cpu,/etc/zabbix/alertscripts/switch_cpu.sh
UserParameter=switch_memoryTotal,/etc/zabbix/alertscripts/switch_memoryTotal.sh
UserParameter=switch_memoryUsed,/etc/zabbix/alertscripts/switch_memoryUsed.sh
UserParameter=switch_memoryPercent,/etc/zabbix/alertscripts/switch_memoryPercent.sh
UserParameter=switch_info,/etc/zabbix/alertscripts/switch_info.sh
UserParameter=switch_vendorName,/etc/zabbix/alertscripts/switch_vendorName.sh
UserParameter=switch_version,/etc/zabbix/alertscripts/switch_version.sh
UserParameter=switch_runtime,/etc/zabbix/alertscripts/switch_runtime.sh
UserParameter=discovery_gsd_ip_num,/etc/zabbix/alertscripts/discovery.py
UserParameter=gsd_ip_num[*],/etc/zabbix/alertscripts/get.py $1
zabbix-agent配置文件路径为/etc/zabbix/zabbix_agentd.conf,有两次需要修改
#1.将UnsafeUserParameters的参数由0改为1
UnsafeUserParameters=1 #2.确定userparameter_switch.conf的配置路径是否正确
Include=/etc/zabbix/zabbix_agentd.d/*.conf
保存之后重启zabbix-agent
systemctl restart zabbix-server zabbix-agent httpd mariadb
测试获取自定义key的值
在zabbix-server上使用zabbix_get工具获取自定义值。
[root@localhost ~]# cd /etc/zabbix/alertscripts/ # 切换到脚本路径下
# 脚本内容,数据库里获取温度数据
dbset="--default-character-set=utf8 -A"
#select_sql="select temperature from zabbix.environments where id=10019231"
select_sql="select temperature from zabbix.environments where id=$1"
result=`mysql -h127.0.0.1 -P3306 -uzabbix -p123456 -Ne "${select_sql}"`
echo ${result} # 获取自定义值
[root@localhost alertscripts]# zabbix_get -s 127.0.0.1 -k dynamic_env_temp[10019231]
bash: zabbix_get: 未找到命令... # 遇到这个报错说明zabbix_get未安装 # 安装zabbix-get
[root@localhost alertscripts]# yum list all |grep zabbix
zabbix-release.noarch 4.0-1.el7 installed
zabbix-server-mysql.x86_64 4.0.21-2.el7 @zabbix
zabbix-agent.x86_64 4.0.44-1.el7 zabbix
zabbix-get.x86_64 4.0.44-1.el7 zabbix
[root@localhost alertscripts]# yum install zabbix-get.x86_64 # 执行脚本
[root@localhost alertscripts]# zabbix_get -s 127.0.0.1 -k dynamic_env_temp[10019231]
22.1
获取到了上面例子中执行的结果,说明配置是成功的,通过后台是可以获取数据的。 Zabbix在服务器上执行Agent上的脚本时返回Permission denied,在页面上显示该item为"Not Supported"
root@ubuntu:zabbix_get -s IP地址 -p 10050 -k key
# 报错:sh:脚本: Permission denied
# 排查问题:
1、脚本的执行权限、用户组等
2、脚本所在目录的权限,一层层排查
当某个文件或者目录属于某个用户的时候,但是该用户被删除掉之后,会导致文件或目录的的用户:用户组显示为原用户在/etc/passwd中的UID
现在开始再做一些配置,使得其能在前台显示出来
实例1
创建动环模板
在模板里添加监控项,键值是自定义的,如 dynamic_env_temp[{$ENVID}]
添加动环主机
选择刚刚创建的模板
配上模板里需要的参数,如 {$ENVID} = 10019231
配置好后前台就能看到展示信息了
实例2
创建一个脚本(此处可以不写)
zabbix脚本默认的脚本文件在/etc/zabbix/alertscripts目录下,在这个目录下创建一个脚本switch_script.sh,内容为
bw_switch_user=admin1234
echo "${bw_switch_user}"
echo "bw_switch_pwd=bw123456@"
echo $1
echo $2
在相关主机上添加一个监控项,页面如下
在最新数据里显示界面如下,配置完成
上面用到方法的一些解释
UserParameter=key[*],command
key为唯一值,[*]表示参数。
command为要执行的命令或脚本,key的[*]里面的参数一一对应$1到$9,一共9个参数。$0表示脚本命令。返回结果数据最大为512KB。
参数禁止使用下列字符:\ ‘ ” ` * ? [ ] { } ~ $ ! & ; ( ) <> | # @
脚本的命令行参数可以通过搜索引擎搜索相关文章。
转自 http://www.qiansw.com/zabbix-user-parameters-key-script.html
zabbix 自定义用户key与参数userparameters监控监本输出的更多相关文章
- ZABBIX自定义用户KEY与参数USERPARAMETERS监控脚本输出
zabbix在模板中预定义了一些key,但通常情况,并不能满足我们的需求.幸运的是zabbix提供了自定义key的方法,因此我们可以灵活的监控各种我们想要监控的数据. 定义配置文件 通过yum安装的z ...
- 转 zabbix 自动发现和 zabbix自定义用户key与参数User parameters
########31 https://www.cnblogs.com/yjt1993/p/10883345.html 1.概念 在配置Iterms的过程中,有时候需要对类似的Iterms进行添加,这些 ...
- (17)zabbix自定义用户key与参数User parameters
为什么要自定义KEY 有时候我们想让被监控端执行一个zabbix没有预定义的检测,zabbix的用户自定义参数功能提供了这个方法. 我们可以在客户端配置文件zabbix_angentd.conf里面配 ...
- zabbix 自定义key与参数Userparameters监控脚本输出
1.修改agent配置文件: 通过yum安装的zabbix-agent配置文件路径为/etc/zabbix/zabbix_agentd.conf 里面定义我们自己配置文件路径:Include=/etc ...
- Zabbix监控——Zabbix自定义用户参数制作监控项
https://blog.51cto.com/183530300/2087774 https://www.cnblogs.com/richardzgt/articles/7889404.html
- zabbix自定义监控项、添加图形、设置触发器、远程执行命令
监控项是在zabbix中手机数据的基础,没有监控项就没有数据,系统自带模板带有大量默认item,自定义item可以定义在模板中,在应用模板即可使用对应item:也可直接在host中定义 目标:自定义监 ...
- Zabbix自定义监控项(模板)
虽然Zabbix提供了很多的模板(简单理解为监控项的集合),在zabbix界面点击share按钮就可以直接跳到模板大全的官方网站,但是由于模板内的监控项数量太多不好梳理且各种模板质量参差不齐,还是建议 ...
- Zabbix自定义监控8080端口的连接数
Zabbix自定义监控8080端口的连接数 一 zabbix自定义监控实现思路 实际上我们要想使用zabbix来监控一些服务的原理很简单,步骤分别是:1.写一个脚本用于获取待监控服务的一些状态信息2. ...
- zabbix自定义key
zabbix自定义key 1.修改客户端配置文件 #vi /opt/zabbix/etc/zabbix_agentd.conf Include=/opt/zabbix/etc/zabbix_agent ...
- zabbix自定义监控
有的时候zabbix提供的监控项目,不能满足我们生产环境下的监控需求,此时我们就要按照zabbix的规范自定义监控项目,达到监控的目的 zabbix_get:模拟zabbix_server和agent ...
随机推荐
- .NET 文件上传服务设计
.NET文件上传服务设计 前言 在b站学习了一个后端小项目,然后发现这个文件上传设计还挺不错,来实现讲解一下. 项目结构如下: 基于策略+工厂模式实现文件上传服务 枚举 在Model层创建即可 pub ...
- 高通Android平台 电池 相关配置
背景 在新基线上移植有关的代码时,在log中发现有关的东西,请教了有关的同事以后,解决了这个问题. [ 12.775863] pmi632_charger: smblib_eval_chg_termi ...
- 【Autoware】Autoware安装教程
此篇主要是从自己的csdn copy 在博客园上备份一下哈~ 前提:大家需要换源[软件源和pip源]:git clone的时候走博主给的Gitee的链接吧 不然得等个十万年... 如果想看最终是啥样的 ...
- 手把手带你使用JWT实现单点登录
JWT(英文全名:JSON Web Token)是目前最流行的跨域身份验证解决方案之一,今天我们一起来揭开它神秘的面纱! 一.故事起源 说起 JWT,我们先来谈一谈基于传统session认证的方案以及 ...
- 【算法】在vue3的ts代码中分组group聚合源数据列表
有一个IList<any>()对象列表, 示例数据为[{id:'1',fieldName:'field1',value:'1'},{id:'1',fieldName:'field2',va ...
- [oeasy]python0072_修改字体前景颜色_foreground_color_font
修改颜色 回忆上次内容 m 可以改变字体样式 0-9 之间设置的都是字体效果 0 重置为默认 1 变亮 2 变暗 3 斜体 4 下划线 5 慢闪 6 快闪 7 前景背景互换 8 隐藏 9 中划线 叠加 ...
- 【jQuery学习日记】从入门到再入门
1,jQuery介绍 jQuery 是一个 JavaScript 库. jQuery 极大地简化了 JavaScript 编程. 2,入门jQuery jQuery有两大核心:jQuery核心函数和j ...
- VUE系列之性能优化--懒加载
一.懒加载的基本概念 懒加载是一种按需加载技术,即在用户需要时才加载相应的资源,而不是在页面初始加载时一次性加载所有资源.这样可以减少页面初始加载的资源量,提高页面加载速度和用户体验. 二.Vue 中 ...
- LOTO示波器功率分析功能
LOTO示波器软件在非标功能中增加了功率分析功能,对当前屏幕的电压波形和电流波形进行了瞬时功率,视在功率以及有功功率/平均功率的分析计算. 有功功率是指电器所消耗的电能,用于产生热能.机械能或光能等, ...
- Git的存储原理
目录 Git 设计原理 Git vs SVN Git 存储模型 .git 目录结构 Git 基本数据对象 Git 包文件 Git 引用 Git 设计原理 概括的讲,Git 就是一个基于快照的内容寻址文 ...