zabbix在模板中预定义了一些key,但通常情况,并不能满足我们的需求。幸运的是zabbix提供了自定义key的方法,因此我们可以灵活的监控各种我们想要监控的数据。

定义key有两种修改方式:

第一种:

#找到 UnsafeUserParameters=0 改为  UnsafeUserParameters=1

#找到 UserParameter=  在下面直接添加用户参数

UserParameter=<key>,<shell command>

key:服务器添加监控时需用到的key值

shell command:监控脚本的绝对路径

例:UserParameter=tomcat,/etc/zabbix/alertscripts/tomcat.sh         (注意用逗号隔开)

如果要添加多个监控项,就依次写多个UserParameter

第二种:

# 找到  Include=/usr/local/etc/zabbix_agentd.conf.d/    在下面添加读取用户参数的文件路径

Include=/etc/zabbix/zabbix_agentd/*.conf

# 然后在/etc/zabbix/zabbix_agentd/下创建userparameter.conf 文件,编辑此文件

vi /etcl/zabbix/zabbix_agentd/userparameter.conf

添加想要监控的项,比如UserParameter=tomcat,/etc/zabbix/alertscripts/java.sh

多个自定义监控项都可写在这个文件里

配置完成后重启zabbix agent服务

定义配置文件

在/etc/zabbix/zabbix_agentd.d目录下创建一个自定义key和userparameters的配置文件,我定义的文件名字是userparameter_switch.conf

内容为

# 这个文件监控自定义脚本输出值
# 格式为UserParameter=<key>,<command>
UserParameter=bw_switch2[*],echo $1 $2
UserParameter=key,脚本路径

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 apache2

测试获取自定义key的值

在zabbix-server上使用zabbix_get工具获取自定义值。

 zabbix_get -s 127.0.0.1 -k script.bw_switch2[001,30]

获取到了上面例子中执行date的结果,说明配置是成功的,通过后台是可以获取数据的。

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

现在开始再做一些配置,使得其能在前台显示出来

创建一个脚本(此处可以不写)

zabbix脚本默认的脚本文件在/etc/zabbix/alertscripts目录下,在这个目录下创建一个脚本switch_script.sh,内容为

bw_switch_user=admin1234
echo "${bw_switch_user}"
echo "bw_switch_pwd=bw123456@"
echo $1
echo $2

在相关主机上添加一个监控项,页面如下

zabbix 自定义用户key与参数userparameters监控监本输出

 在最新数据里显示界面如下,配置完成

zabbix 自定义用户key与参数userparameters监控监本输出

上面用到方法的一些解释

UserParameter=key[*],command
key为唯一值,[*]表示参数。
command为要执行的命令或脚本,key的[*]里面的参数一一对应$1到$9,一共9个参数。$0表示脚本命令。返回结果数据最大为512KB。
参数禁止使用下列字符:\ ‘ ” ` * ? [ ] { } ~ $ ! & ; ( ) <> | # @

脚本的命令行参数可以通过搜索引擎搜索相关文章。

转自 http://www.qiansw.com/zabbix-user-parameters-key-script.html

相关文章:

  • 2021-05-06
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-25
猜你喜欢
  • 2021-05-18
  • 2022-12-23
  • 2022-01-03
  • 2022-12-23
  • 2021-12-19
  • 2021-05-21
相关资源
相似解决方案