蓝鲸监控

  • 随着国产化和信创的深入,开始普遍使用国产化数据库–如达梦数据库,蓝鲸平台默认没有对其进行监控,但是平台了提供监控告警的能力。
  • 比如脚本采集,脚本的是一种灵活和快速的监控采集方式,不同层的监控对象都可以用脚本来完成。当默认的开箱即用的功能不能满足个性化需求时,脚本是一个非常高效的办法。
  • 又比如监控平台兼容 Prometheus Exporter 的导入能力,从 Github 获取源码编译二进制或直接获取 release,按照监控平台的插件规范,可以让监控采集变得非常的简单。

插件实现

基于https://github.com/easy-monitor/dmdb_exporter改写实现

上报地址

promhttp为exporter提供一个http://ip:port/metrics暴露指标,方便Prometheus获取数据;测试代码发现并没有实现metrics暴露指标,遂改写代码实现:

请在此添加图片描述

采集指标

  • 目前很多exporter都是将指标文件和采集代码分开,–default-metrics/–custom-metrics的方式使用某一路径的指标toml文件;
  • 如果在监控平台使用该方式的话,在部署具体实例的时候,就会显得有些割裂感,要手动在某一实例主机上传相关toml文件后,才能在监控平台下发采集插件,这样插件就不会报错,正常上报数据;
  • 之前测试社区官网制作蓝鲸采集插件的方式,如打包的时候按照标准编辑config.json、meta.yaml等文件,并将default-metrics.toml/custom-metrics.toml至于插件包内,代码直接引用,在稍后的插件包上传监控平台,重新打包测试的流程中,蓝鲸会重新打包,过滤掉default-metrics.toml/custom-metrics.toml文件,就会在后面测试的时候报错找不到toml文件了;
  • 所以想到了一个笨办法,在采集代码中添加toml文件内容,在main函数中首先创建toml文件后,再解析参数,在每次执行的时候创建该文件用以保证不会缺漏,尽量总结好需要监控的信息,编辑代码编译后,就可以作为通用插件来使用了。

请在此添加图片描述

请在此添加图片描述

蓝鲸插件制作

  • 制作插件,上传编译好的二进制文件并配置参数,除了expoter启动的监听地址端口外,多加一个数据库连接信息

请在此添加图片描述

  • 可以编辑下描述说明信息,已经测试过在环境信息

请在此添加图片描述

  • 配置需要的指标维度信息,监控平台会根据该处在influxdb中创建表结构

请在此添加图片描述

  • 之后添加实例,下发进行采集监控

请在此添加图片描述

附件

已经编译好的dmdb-exporter,可以在插件制作的编辑页面上传使用;

指标维度的json文件,可以在插件制作的过程在插件测试后,直接导入使用。

文章来源于腾讯云开发者社区,点击查看原文