认识键值
在zabbix_agent配置文件内会有如下消息
### Option: UserParameter
# User-defined parameter to monitor. There can be several user-defined parameters.
# Format: UserParameter=<key>,<shell command>
# See 'zabbix_agentd' directory for examples.
# 用户自定义参数来监控
# 语法 UserParameter=<key>,<shell command>
我们在配置文件内可以找到zabbix的子配置文件
Include=/etc/zabbix/zabbix_agentd.d/*.conf
# 默认的子配置文件,可以在这里查看或者配置我们自己的键值
# 下面有三种格式公我们参考
# Include=/usr/local/etc/zabbix_agentd.userparams.conf
# Include=/usr/local/etc/zabbix_agentd.conf.d/
# Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf
进入子配置文件下
cd /etc/zabbix/zabbix_agentd.d/
下面默认会有一个userparameter_mysql.conf,打开该文件查看
cat userparameter_mysql.conf | grep -v '^#'
输出
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql -N | awk '{print $$2}'
UserParameter=mysql.size[*],bash -c 'echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema=\"$1\"")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name=\"$2\"");" | HOME=/var/lib/zabbix mysql -N'
UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
UserParameter=mysql.version,mysql -V
我们可以以一个键值为例
UserParameter=mysql.version,mysql -V
# mysql.version 这是键值对应的名字
# mysql -v 对应的shell命令
# 也就是说 使用mysql.version 这个键值 会执行对应的shell命令
我们可以在zabbix_server端用zabbix_get 来进行测试
zabbix_get -s zabbix-mysql -p 10050 -k mysql.version
输出: mysql Ver 14.14 Distrib 5.7.28, for Linux (x86_64) using EditLine wrapper
使用这个命令之前先在客户端数据库的配置文件内配置对应的用户名,密码,主机
my.cnf
[client]
host=localhost
user=user
password="password"
配置完之后重启服务使配置文件生效
自定义键值
刚才我们对mysql的键值做了一个初步的了解,现在我们可以自己来定义一个键值,
在userparameter_mysql.conf文件内添加如下信息
userParameter=redis.ping,redis-cli ping 2>/dev/null | grep -c PONG
# 用来判断redis服务是否处于活跃状态
配置文之后重启agent服务,使其生效
现在我们使用web界面,在主机上添加刚才的监控项
新建监控项
更新监控项即可
注意 这里我们使用的键值是我们自己自定义的,在选择内找不到,我们自己输入对应的键值就可以了
监测 -- > 最新数据 --> 查找新建的监控项
监控结果
可以看到 redis的状态一直处于活跃状态
刚才我们定义了一个不需要传参的键值,现在我们可以来创建一个可以带参数的键值
UserParameter=echo[*],echo $1
这样就创建一个简单的键值
服务器端使用
zabbix_get -s zabbix-mysql -p 10050 -k echo["自定义键值"]
会输出如下信息
自定义键值
在web界面新建监控项的时候只需要在键值项里添加对应的参数就可以了
这里给大家介绍的是简单的自定义键值
欢迎大家积极评论 指点