使用Telegraf+Grafana监控Microsoft SQLServer数据库

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 使用Telegraf+Grafana监控Microsoft SQLServer数据库

使用Telegraf+Grafana监控Microsoft SQLServer数据库

(图片点击放大查看)

本文参考如下链接完成

https://tsql.tech/how-to-use-grafana-on-docker-to-monitor-your-sql-server-eventually-on-docker-too-feat-influxdb-and-telegraf/
https://bbs.huaweicloud.com/blogs/358876?utm_source=zhihu&utm_medium=bbs-ex&utm_campaign=other&utm_content=content
https://www.likecs.com/show-308132817.html
https://my.oschina.net/u/3772973/blog/4383713
https://36chambers.wordpress.com/2019/02/05/metrics-for-free-sql-server-monitoring-with-telegraf/

一、安装Influxdb

1、安装Influxdb

rpm -ivh influxdb-1.8.10.x86_64.rpm 
systemctl start influxdb
systemctl enable influxdb
firewall-cmd --zone=public --add-port=8086/tcp --permanent
firewall-cmd --reload

(图片点击放大查看)

2、创建telegraf数据库,并设置数据库账号密码

influx
show databases
CREATE USER admin WITH PASSWORD 'influxDB@2023' WITH ALL PRIVILEGES
CREATE USER telegraf WITH PASSWORD 'TeleGraf@2023' WITH ALL PRIVILEGES
show users
create database telegraf
CREATE RETENTION POLICY telegraf_12m ON telegraf DURATION 360d REPLICATION 1 DEFAULT
show databases

(图片点击放大查看)

3、Influxdb配置文件修改

  • 方法1、手工修改vim /etc/influxdb/influxdb.conf

启用http用户验证,修改influxdb.conf中http section中auth-enabled = true

  • 方法2、sed命令替换
sed -i 's/# bind-address = ":8086"/ bind-address = ":8086"/g' /etc/influxdb/influxdb.conf 
sed -i "s/# auth-enabled = false/auth-enabled = true/g" /etc/influxdb/influxdb.conf 
systemctl restart influxdb
systemctl status influxdb

(图片点击放大查看)

4、使用账号密码方式登录验证

influx -username "telegraf" -password ''

(图片点击放大查看)

二、安装telegraf

rpm -ihv telegraf-1.25.1-1.x86_64.rpm 
vim /etc/telegraf/telegraf.conf

找到[[outputs.influxdb]]配置的位置,取消注释并修改相关配置

urls = ["http://192.168.31.170:8086"]
database = "telegraf"
skip_database_creation = true
username = "telegraf"
password = "TeleGraf@2023"

(图片点击放大查看)

systemctl restart telegraf.service 
systemctl status telegraf.service -l

(图片点击放大查看)

三、 安装grafana

yum localinstall grafana-9.3.6-1.x86_64.rpm 
firewall-cmd --permanent --zone=public --add-port=3000/tcp
firewall-cmd --reload
systemctl enable grafana-server
systemctl start grafana-server

(图片点击放大查看)

添加influxDB数据源

(图片点击放大查看)

(图片点击放大查看)

import Dashboard ID  5955

可以看到telegraf所在服务器的基础监控信息

(图片点击放大查看)

(图片点击放大查看)

四、SQLServer数据库的监控需要修改

telegraf上配置inputs.sqlserver

接下来进入正题 vim /etc/telegraf/telegraf.conf

修改如下配置,填写SQLServer数据库 sa账号密码信息

vim /etc/telegraf/telegraf.conf
[[inputs.sqlserver]]中的配置
servers = [
     "Server=192.168.1.10;Port=1433;User Id=<user>;Password=<pw>;app name=telegraf;log=1;",
   ]  
query_version = 2

(图片点击放大查看)

(图片点击放大查看)

systemctl restart telegraf.service 
systemctl status telegraf.service -l

(图片点击放大查看)

确认是否可以正常连接到数据库

这时导入import Dashboard ID  9386

(图片点击放大查看)

(图片点击放大查看)

grafana-piechart-panel已过时问题

1、方法1

grafana-cli plugins install grafana-piechart-panel
systemctl restart grafana-server

2、方法2 :更新为新的piechart

(图片点击放大查看)

最终的效果如下:

(图片点击放大查看)


(图片点击放大查看)

五、总结

1、SQLServer数据库的grafana Dashboard

1、ID 409

https://grafana.com/grafana/dashboards/409-sql-server-telegraf/

导入后不可行,无数据

2、另外一个不错的Dashboards

https://github.com/tboggiano/grafana/tree/master/Dashboards

手动导入Instance Overview.json 并调整Datasource,可行

3、当然SQLServer也可以用prometheus-mssql-exporter+Prometheus的方式进行监控

配置也很简单,这里就不演示了

  • 1、启动prometheus-mssql-exporter的容器
docker run -e SERVER=XXXXXX -e USERNAME=sa -e PASSWORD=XXXX -e DEBUG=app -p 4000:4000 --name prometheus-mssql-exporter awaragi/prometheus-mssql-exporter
  • 2、Prometheus添加一下targets
  • 3、Grafana上面导入如下ID即可
https://github.com/awaragi/prometheus-mssql-exporter
https://grafana.com/grafana/dashboards/13919-microsoft-sql-server/
https://grafana.com/grafana/dashboards/9336-prometheus-mssql-exporter/

4、注意事项

由于telegraf配置文件中填写的账号密码为sa明文密码,请注意密码保密!

当然你可以单独在SQLServer数据库中创建账号用于监控

相关实践学习
通过可观测可视化Grafana版进行数据可视化展示与分析
使用可观测可视化Grafana版进行数据可视化展示与分析。
相关文章
|
3月前
|
监控 Java 应用服务中间件
达梦数据库DEM监控部署教程分享
达梦数据库DEM监控部署教程分享
118 2
|
5月前
|
监控 Java 时序数据库
性能监控之Telegraf+InfluxDB+Grafana实现JMX实时监控
【6月更文挑战15天】性能监控之Telegraf+InfluxDB+Grafana实现JMX实时监控
197 6
性能监控之Telegraf+InfluxDB+Grafana实现JMX实时监控
|
14天前
|
缓存 监控 关系型数据库
如何根据监控结果调整 MySQL 数据库的参数以提高性能?
【10月更文挑战第28天】根据MySQL数据库的监控结果来调整参数以提高性能,需要综合考虑多个方面的因素
54 1
|
14天前
|
监控 关系型数据库 MySQL
如何监控和诊断 MySQL 数据库的性能问题?
【10月更文挑战第28天】监控和诊断MySQL数据库的性能问题是确保数据库高效稳定运行的关键
31 1
|
18天前
|
SQL 数据采集 监控
局域网监控电脑屏幕软件:PL/SQL 实现的数据库关联监控
在当今网络环境中,基于PL/SQL的局域网监控系统对于企业和机构的信息安全至关重要。该系统包括屏幕数据采集、数据处理与分析、数据库关联与存储三个核心模块,能够提供全面而准确的监控信息,帮助管理者有效监督局域网内的电脑使用情况。
15 2
|
3月前
|
SQL NoSQL 关系型数据库
Grafana 与数据库连接:最佳实践
【8月更文第29天】Grafana 是一个开源的度量分析和可视化套件,被广泛应用于展示来自各种数据源的时间序列数据。它可以与多种数据库类型连接,从传统的 SQL 数据库到现代的 NoSQL 解决方案。本文将介绍如何通过 Grafana 连接到不同的数据源,并提供一些最佳实践。
296 2
|
3月前
|
SQL 数据库
Microsoft SQL Server 2014如何来备份数据库
Microsoft SQL Server 2014如何来备份数据库
353 3
|
4月前
|
SQL 监控 关系型数据库
实时计算 Flink版操作报错合集之在设置监控PostgreSQL数据库时,将wal_level设置为logical,出现一些表更新和删除操作报错,怎么办
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
3月前
|
SQL 监控 分布式数据库
【解锁数据库监控的神秘力量!】OceanBase社区版与Zabbix的完美邂逅 —— 揭秘分布式数据库监控的终极奥秘!
【8月更文挑战第7天】随着OceanBase社区版的普及,企业广泛采用这一高性能、高可用的分布式数据库。为保障系统稳定,使用成熟的Zabbix监控工具对其进行全方位监控至关重要。本文通过实例介绍如何在Zabbix中配置监控OceanBase的方法,包括创建监控模板、添加监控项(如TPS)、设置触发器及图形展示,并提供示例脚本帮助快速上手。通过这些步骤,可以有效监控OceanBase状态,确保业务连续性。
102 0
|
3月前
|
数据采集 监控 Unix
性能监控之Telegraf+InfluxDB+Grafana实现结构化日志实时监控
【8月更文挑战第1天】性能监控之Telegraf+InfluxDB+Grafana实现结构化日志实时监控
328 0