小编ewr*_*ner的帖子

Azure SQL数据库中的SQL Server Telegraf插件需要哪些授权

我正在使用SQL Server的Telegraf输入插件(https://github.com/influxdata/telegraf/tree/master/plugins/inputs/sqlserver)来收集指标并向InfluxDB报告.它适用于SQL Server,但虽然它支持Azure SQL数据库,但文档有点稀疏.

应该像这样创建数据库用户:

CREATE LOGIN [telegraf] WITH PASSWORD = N'password';
GRANT VIEW SERVER STATE TO [telegraf];
GRANT VIEW ANY DEFINITION TO [telegraf];
Run Code Online (Sandbox Code Playgroud)

这适用于SQL Server,但在Azure中它失败:

此版本的SQL Server不支持安全类"服务器".

我想知道我需要批准什么才能以最好的方式解决这个问题.我们在弹性池中的同一台服务器上运行了大量数据库,所以如果可能的话,我想使用登录主服务器的单个用户,同时收集所有数据库的指标(工作方式)与SQL Server).如果这是不可能的,我可以配置多个登录并一次处理一个数据库.

也许我可以VIEW DEFINITION在数据库级别授予,但VIEW SERVER STATE似乎根本不受支持.

那么,我应该如何使用SQL Server插件为Telegraf配置SQL数据库登录以使其正常工作?

编辑:

  • 作为服务器的超级用户运行时没有错误,但只生成master和tempdb的度量标准.我需要许多应用程序数据库的指标,但它们都缺失了.另外,作为超级用户运行并不理想.
  • 作为服务器的超级用户运行但连接到特定的应用程序数据库(在连接字符串中添加数据库)使用nil指针解除引用崩溃,并且日志抱怨数据库主机中的VIEW DATABASE STATE权限被拒绝(超级用户有权访问,但显然连接到特定数据库时没有.
  • 授予VIEW数据库和查看定义到应用程序数据库中的telegraf并直接连接到该数据库,因为telegraf崩溃时使用nil指针取消引用,并且日志显示连接已关闭.

编辑2:

创建错误报告https://github.com/influxdata/telegraf/issues/4222.

sql-server azure-sql-database telegraf

16
推荐指数
1
解决办法
403
查看次数

如何安全地防止 SSLSocket 优雅关闭发送“用户已取消”警报

我们有一个 Java 17 Quarkus 应用程序编译为本机可执行文件 (ubi-quarkus-native-image:22.2-java17),在 Kubernetes 中运行。它使用 SSL 连接到旧的集成服务器,发出 HTTP 请求。我们的应用程序使用套接字工厂创建 SSLSocket 并连接它;请求成功。完成后,我们调用 SSLSocket#close。这也有效,但在另一边他们记录了这个:

12:51:16 : ssl_debug(58): Shutting down SSL layer...
12:51:16 : ssl_debug(58): Sending alert: Alert Warning: close notify
12:51:16 : ssl_debug(58): Read 15328 bytes in 3 records, 15214 bytes net, 5071 average.
12:51:16 : ssl_debug(58): Wrote 175 bytes in 1 records, 152 bytes net, 152 average.
12:51:16 : ssl_debug(58): Closing transport...
12:51:16 : ssl_debug(58): Waiting on peer close notify...
12:51:16 : ssl_debug(58): Received alert message: Alert Warning: …
Run Code Online (Sandbox Code Playgroud)

java ssl graalvm

5
推荐指数
0
解决办法
283
查看次数

标签 统计

azure-sql-database ×1

graalvm ×1

java ×1

sql-server ×1

ssl ×1

telegraf ×1