我正在使用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数据库登录以使其正常工作?
编辑:
编辑2:
我是Telegraf的初学者,我想安装一个"输入插件".我有配置和.go文件但我不知道如何处理它,即使在Google上搜索后也是如此.
先感谢您 !
我正在尝试让 Telegraf 与 InfluxDB 一起使用,但我遇到了困难。我已将以下块添加到 Telegraf 配置文件中:
[[inputs.win_perf_counters.object]]
  # Process metrics, in this case for IIS only
  ObjectName = "Process"
  Instances = ["W3SVC"]
  Counters = ["% Processor Time","Handle Count","Private Bytes","Thread Count","Virtual Bytes","Working Set"]
  Measurement = "win_proc"
Run Code Online (Sandbox Code Playgroud)
然而,当我搜索数据库时,我从未看到该测量结果。我知道该进程正在运行,所以它应该输出一些东西。问题是,即使我打开了日志记录,也没有日志文件。事件查看器中也没有任何内容。由于没有下载源代码并在本地调试器中运行程序,我不知道如何继续。有人有什么想法吗?
我在 telegram bot api 中搜索了telegraf的“场景”和“阶段” 。这是一个例子。看起来它们是 telegraf 的实现,而不是 API。如果是这种情况,telegraf 如何实现这些?
我看到组合statsd + telegraf + Influxdb一直使用.
为什么不使用statsd(没有telegraf)来聚合和转发指标?包含电报的额外好处是什么?
我尝试将付款集成到我的 telegram 机器人中。\n我使用 telegraf 库进行工作。\n因此我创建了一张发票
\n\nconst invoice = {\r\n    provider_token: payment_tocken,\r\n    start_parameter: \'online_conslutation\',\r\n    title: \'\xd0\x9e\xd0\xbd\xd0\xbb\xd0\xb0\xd0\xb9\xd0\xbd \xd0\xba\xd0\xbe\xd0\xbd\xd1\x81\xd1\x83\xd0\xbb\xd1\x8c\xd1\x82\xd0\xb0\xd1\x86\xd0\xb8\xd1\x8f \xd0\x90\xd0\xb9\xd0\xb1\xd0\xbe\xd0\xbb\xd0\xb8\xd1\x82\',\r\n    description: \'\xd0\x9f\xd1\x80\xd0\xbe\xd0\xb2\xd0\xb5\xd0\xb4\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\x9e\xd0\xbd\xd0\xbb\xd0\xb0\xd0\xb9\xd0\xbd \xd0\xba\xd0\xbe\xd0\xbd\xd1\x81\xd1\x83\xd0\xbb\xd1\x8c\xd1\x82\xd0\xb0\xd1\x86\xd0\xb8\xd0\xb8 \xd1\x81 \xd0\xb2\xd1\x80\xd0\xb0\xd1\x87\xd0\xb5\xd0\xbc. \xd0\xa1\xd1\x82\xd0\xbe\xd0\xb8\xd0\xbc\xd0\xbe\xd1\x81\xd1\x82\xd1\x8c 1000 \xd1\x80\xd1\x83\xd0\xb1\xd0\xbb\xd0\xb5\xd0\xb9. \xd0\x94\xd0\xbb\xd0\xb8\xd1\x82\xd0\xb5\xd0\xbb\xd1\x8c\xd0\xbd\xd0\xbe\xd1\x81\xd1\x82\xd1\x8c 1\xd1\x87\xd0\xb0\xd1\x81\',\r\n    currency: \'RUB\',\r\n    photo_url: \'https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcThWVMksAXRtRQJn3oHFWyz9FMusRty4pQX5Iobe8OfMEJmRzpD&usqp=CAU\',\r\n    need_shipping_address: false,\r\n    is_flexible: true,\r\n    prices: [\r\n        { label: \'\xd0\x9e\xd0\xbd\xd0\xbb\xd0\xb0\xd0\xb9\xd0\xbd \xd0\xba\xd0\xbe\xd0\xbd\xd1\x81\xd1\x83\xd0\xbb\xd1\x8c\xd1\x82\xd0\xb0\xd1\x86\xd0\xb8\xd1\x8f\', amount: 100 }\r\n    ],\r\n    payload: {}\r\n\r\n};Run Code Online (Sandbox Code Playgroud)\r\n我在这里发送它
\n\n    const stepHandlerBuy = new Composer()\r\n    stepHandlerBuy.action(\'buy\', (ctx) => {\r\n        ctx.replyWithInvoice(invoice);\r\n        return ctx.wizard.next();\r\n    })Run Code Online (Sandbox Code Playgroud)\r\n但它总是返回一个错误
\n\n(node:24476) UnhandledPromiseRejectionWarning: …Run Code Online (Sandbox Code Playgroud) 我想用Node.js创建一个Telegram Bot,并且正在使用Telegraf。我知道我可以回答这样的消息:
app.hears('hi', (ctx) => ctx.reply('Hey there!'))
Run Code Online (Sandbox Code Playgroud)
但是,如何在没有收到消息的情况下发送消息?我想读取文件,并且总是在文件更改后才想发送消息。
const Telegraf = require('telegraf');
var fs = require('fs');
const app = new Telegraf(process.env.BOT_TOKEN);
var filePath = "C:\\path\\to\\my\\file.txt";
fs.watchFile(filePath, function() {
    file = fs.readFileSync(filePath);
    // Send message to chat or group with the file content here
    console.log("File content at: " + new Date() + " is: \n" + file);
})
Run Code Online (Sandbox Code Playgroud)
如果有人可以帮助我会很好。
我使用的是telegraf用influxdb,并且在telegraf我使用statsd_input插件.
的statsd_input.conf:
[[inputs.statsd]]
  ## Address and port to host UDP listener on
  service_address = ":8126"
  ## The following configuration options control when telegraf clears it's cache
  ## of previous values. If set to false, then telegraf will only clear it's
  ## cache when the daemon is restarted.
  ## Reset gauges every interval (default=true)
  delete_gauges = true
  ## Reset counters every interval (default=true)
  delete_counters = true
  ## Reset sets every interval (default=true)
  delete_sets …Run Code Online (Sandbox Code Playgroud) 如何获取用户发送给我的机器人的 MIME 类型的照片?
我通过Telegraf使用 Telegram Bot API 。
我的机器人正在保存用户发送的照片和视频中的文件 ID,我希望稍后能够下载这些文件。getFile下载它们的方法的电报 API指出:
注意:此函数可能不会保留原始文件名和 MIME 类型。当收到 File 对象时,您应该保存文件的 MIME 类型和名称(如果可用)。
我不完全确定这是什么意思。到目前为止我还没有收到一个File对象,它甚至不包含 MIME 类型。我认为他们想说的是,下载实际文件时,MIME 类型(和文件名)可能会混淆,因此您应该自己存储它。
当查看不同文件类型的更新类型时,它们通常包含 MIME 类型,如下所示:Video。不幸的是,照片的更新对象不包含以下信息:PhotoSize。还有其他方法可以获取 MIME 类型的照片吗?
感谢您的帮助。
telegraf ×10
telegram-bot ×5
node.js ×4
telegram ×3
influxdb ×2
javascript ×2
statsd ×2
bots ×1
install ×1
monitoring ×1
performance ×1
plugins ×1
sql-server ×1