1.前言
在数据库管理系统中,监控告警是必不可少的功能。其中指标是监控告警的基础,监控是对指标的分析和展示,告警是对指标的分析和响应。根据指标的创建时机,指标可以分为预定义指标和自定义指标。预定义指标顾名思义是系统中预先定义的监控指标,系统启动时指标即存在且可以使用。自定义指标与之相反,需要用户根据自身需求创建。本文旨在介绍"梧桐数据库"自定义指标功能,仅供参考和交流。
2.竞品
2.1 Zabbix
zabbix为cs架构,包括zabbix服务端、zabbix web端、zabbix agent。其中zabbix agent负责采集数据,zabbix服务端收集数据在zabbix web端展示。zabbix自定义指标配置流程为:
- 修改agent配置文件
vim /etc/zabbix/zabbix_agentd.conf
# 用户参数定义,名称为metric,值为echo 123命令执行结果123 UserParameter=metric,echo 123 # 案例如下: # 案例1 UserParameter=key1,who | wc -l # 案例2 UserParameter=key2,sh /usr/aaa/abc.sh # UserParameter=定义key名,命令或脚本
- 重启agent服务
systemctl restart zabbix-agent.service
- web端配置自定义指标
创建iteam:key为自定义指标名称
创建iteam图表
zabbix创建自定义指标可能存在如下问题:
- agent需要停服,停服期间所有指标均无法采集。
- 自定义指标创建结果没有提示,使用不方便
- shell脚本存在安全问题
2.1 Prometheus
Prometheus的Pushgateway是一种辅助组件,允许短期任务以推送方式向Prometheus推送自己的指标数据。基于push_gateway创建自定义指标流程为:
- 部署push_gateway服务
- 修改Prometheus配置,采集push_gateway中的metrics
- 通过push_gateway接口创建metrics
- 查看指标
push_gateway创建自定义指标可能存在如下问题:
- push_gateway中存储的数据和Prometheus中存储的数据步调不一致,Prometheus中采集到的数据滞后。
- 若往push_gateway上报数据的服务宕机,将会导致Prometheus中数据不再更新,导致用户查看到的数据不再变化,和实际情况不符
- push_gateway服务需要维护,增加维护成本
- 系统架构复杂化
3. "梧桐数据库"自定义指标
3.1 指标创建
- 从"梧桐数据库"管理系统监控告警/自定义指标界面,点击新建
- 填写自定义指标信息,点击提交开始创建
- 自定义指标列表中可查看自定义指标信息,并可查看创建失败原因
3.2 指标使用
- 新建面板组件即可查看刚创建的自定义指标曲线
4. 总结
相对于zabbix和prometheus,"梧桐数据库"可以可视化地创建和使用自定义指标,且可以查看自定义指标创建结果及目前的状态,较为简便快捷。