sql server prometheus 监控

网上已经有了关于sql server prometheus 的exporter(同时也是官方推荐的)但是时间很长了,同时好多依赖没有更新了
同时测试发现了一个bug,所以fork了一个版本的

代码地址

https://github.com/rongfengliang/prometheus-mssql-exporter

几个修改说明

  • 升级依赖
    prom-client&&tedious 基本应该算是当前最新的版本了,同时修改了以为升级prom-client造成的bug
    因为新版本的对于输入的值严格进行了类型判断,但是默认使用tedious 返回的为字符串,进行了类型转换
    基本都为,如下的
 
const mssql_deadlocks = Number.parseFloat(rows[0][0].value);
  • sql 查询问题
    原有一个sql 查询,不兼容(删除有问题的)
    bug 描述
 
 RequestError {message: "Invalid column name 'io_stall_queued_write_ms'.", code: "EREQUEST", number: 207, state: 1, class: 16, …}
  • docker file 修改
    升级版本,使用yarn 构建
 
FROM node:12.16.1-alpine
LABEL EMAIL="dalongrong"
RUN yarn config set registry https://registry.npm.taobao.org
# Create a directory where our app will be placed
RUN mkdir -p /usr/src/app
# Change directory so that our commands run inside this new directory
WORKDIR /usr/src/app
# Copy dependency definitions
COPY package.json *.js /usr/src/app/
# Install dependecies
RUN yarn  --production
# Expose the port the app runs in
EXPOSE 4000
# Serve the app
CMD ["node", "index.js"]
  • 添加ENCRYPT环境变量
    因为很多时候因为数据库版本问题,造成无法支持高版本的tls,所以添加了ENCRYPT环境变量,方便链接
    使用参考:
 
docker run -e SERVER=192.168.56.101 -e ENCRYPT=false -e USERNAME=SA -e PASSWORD=qkD4x3yy -e DEBUG=app -p 4000:4000 --name prometheus-mssql-exporter dalongrong/prometheus-mssql-exporter

后续的规划

sql server 与myql ,pg, redis,相比暂时还没有比较完备的metrics 说明,所以后期计划参考行业的一些最佳实践,添加其他的一些metrics
同时也会参考who_is_active的提供的一些监控方案,将类似的metrics 暴露处理,同时pmm也是一个值得参考的业界成熟方案

参考资料

https://github.com/awaragi/prometheus-mssql-exporter
https://github.com/zhengwen09/database-profiler
https://github.com/tediousjs/tedious
https://github.com/siimon/prom-client
https://github.com/rongfengliang/prometheus-mssql-exporter

posted on   荣锋亮  阅读(2310)  评论(2编辑  收藏  举报

编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· spring官宣接入deepseek,真的太香了~
历史上的今天:
2019-04-24 opendistro 试用
2019-04-24 Open Distro for Elasticsearch – How Different Is It?
2019-04-24 edgedb 内部pg 数据存储的探索 (五) 运行进程列表信息
2019-04-24 How To Add Custom Build Steps and Commands To setup.py
2014-04-24 oracel SQL多表查询优化
2014-04-24 sql 语句执行顺序

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示