- Zabbix User parameters
- Zabbix Trigger
1.Zabbix User parameters
1.1即自定义KEY
注意:mysql安装在被监测主机
[root@localhost ~]# yum -y install mariadb-server mariadb
[root@localhost ~]# systemctl start mariadb[root@localhost ~]# mysqladmin -uroot status | cut -f4 -d":" | cut -f1 -d"S"
mysqladmin -u root -proot -h localhost status这条命令返回MYSQL当前状态的几个值:
Uptime: 18869 Threads: 1 Questions: 1 Slow queries: 0 Opens: 33 Flush tables: 1 c: 0 Queries per second avg: 0.000
Uptime:是mysql正常运行的时间。
Threads:指开启的会话数吧。
Questions: 服务器启动以来客户的问题(查询)数目 (应该是只要跟mysql作交互:不管你查询表,还是查询服务器状态都问记一次)。
Slow queries:按字面意思是慢查询的意思,不知道musql认为多久才足够算为长查询,这个先放着。
Opens:服务器已经打开的数据库表的数量
Flush tables: 服务器已经执行的flush ...、refresh和reload命令的数量。
open tables:通过命令是用的数据库的表的数量,以服务器启动开始。
Queries per second avg:select语句平均查询时间?
创建key:
[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
UserParameter=mysql.questions,mysqladmin -uroot status | cut -f4 -d":" | cut -f1 -d"S"
或者:UserParameter=mysql.questions,mysqladmin -uroot status | awk '{print $6}'
[root@localhost ~]# zabbix_agentd -t mysql.questions
[root@localhost ~]# systemctl restart zabbix-agent.service
在zabbix前端中调用自建的key:
-----新增监控项--被监控主机的mysql的查询次数
在 “配置”->“模板”中点击模板的名字(template_cloud_2023_test);之后点击“监控项”->“创建监控项”
填入:
名称:“item_cloud_2023_test_mysql_questions”
键值: 填入我们自己创建的键值“mysql.questions”
信息类型:选择“数字无正负” 【 根据抓取的键值来选择 】
单位: 无
更新间隔: 5s 【实验环境下】
新的应用集: 可不填
最后点击添加
可以在所创建的模板(template_cloud_2023_test)之中的监控项观察到所创的监控项
---------新增图形
在 “配置”->“模板”中点击模板的名字(template_cloud_2023_test);之后点击“图形”->“创建图形”
填入:
名称:“tuxing_item_cloud_2023_test_mysql_questions”
其他数据可保持不动
在“监控项”点击”添加“;然后选择监控的服务名称“item_cloud_2023_test_mysql_questions”;最后在点击添加
可以在“监测”->"主机"中,选择主机(web1_test)的图形:
或者在“监测”->"最新数据"中:
1.2总结
1.通过shell命令调取相应的值。
2.将shell命令,定义到/etc/zabbix/zabbix_agentd.d/*.conf
2.Zabbix Trigger [触发器用于定义item的报警阈值]
2.1触发器对象
可以应用给主机,也可应用给模板
2.2触发器表达式
模板:KSY:函数=VALUE
{<server>:<key>.<function>(<parameter>)}<operation><constant>
server: 可是host,也可是模板template
key: item(包括自定义的key)
函数:
last()
max()
min()
avg()
count()
delta()
diff()
常用模板
Template App HTTP Service
Template OS Linux
观察其中触发器的报警级别,描述,表达式。
示例
{Template App HTTP Service:net.tcp.service[http].max(#3)}=0
Template App MySQL
2.3触发器示例
(一)CPU负载超过1
新建触发器之前最好提前创建好监控项和图形
----新建触发器
在 “配置”->“模板”中点击模板的名字(template_cloud_2023_test);之后点击“触发器”->“创建触发器”
填入:
名称:”triger_cloud_2023_test_cpu_load_avg_1min“
自行选择严重性;
点击表达式中的”添加“;在监控项的选择中选择cpu负载率的监控”item_cloud_2023_test_cpu_load_avg_1min“;功能中选择”last“;结果中选择大于1;
触发报警测试:
在被监控的主机上输入:
dd if=/dev/zero of=/1.txt bs=1M count=2000
观察监测图形报警:
(二)网络流量超50K
新建触发器之前最好提前创建好监控项和图形
----新建触发器
在 “配置”->“模板”中点击模板的名字(template_cloud_2023_test);之后点击“触发器”->“创建触发器”
填入:
名称:”triger_cloud_2023_test_network_interface_total“
自行选择严重性;
点击表达式中的”添加“;在监控项的选择中选择网络总流量的监控
”item_cloud_2023_test_network_interface_total“;功能中选择”last“;结果中选择大于50;
触发报警测试:
在被监控的主机上输入:
ping -s 60000 被监控的主机
观察监测图形报警:
(三)登录用户超出3名
新建触发器之前最好提前创建好监控项和图形
----新建触发器
在 “配置”->“模板”中点击模板的名字(template_cloud_2023_test);之后点击“触发器”->“创建触发器”
填入:
名称:”triger_cloud_2023_test_systm_users_mun“
自行选择严重性;
点击表达式中的”添加“;在监控项的选择中选择网络总流量的监控
”item_cloud_2023_test_systm_users_mun“;功能中选择”last“;结果中选择大于3;
触发报警测试:
在被监控的主机远程登录超过三名
观察监测图形报警:
2.4关于zabbix的残留
新建项时,无法创建。在后台数据库中删除即可。
cat .mysql_history
desc items;select name,key_ from items where key_ like "%system.users.num%";
delete from items where name='Number of logged in users';
delete from items where name='Login user number';
select name,key_ from items where key_ like "%system.users.num%";