TL;DR InfluxDB 技术提示 - 使用 Kapacitor 和 Chronograf 进行 Telegram 设置
作者:Regan Kuchan / 产品, 开发者
2017 年 3 月 2 日
导航至
在这篇文章中,我们将介绍如何设置 Kapacitor 和 Chronograf 以将警报消息发送到 Telegram。下周请查看来自 GitHub、IRC 和 InfluxDB Google Group 中您可能错过的最有趣的 InfluxDB 和 TICK-stack 相关问题、解决方法、操作指南和问答。
使用 Kapacitor 进行 Telegram 设置
Telegram 是一款消息应用程序。Kapacitor 是 InfluxData 的开源数据处理框架,允许您配置警报消息并将其发送到 事件处理程序(例如 Telegram!)。
要求
要将 Kapacitor 警报消息 发送到 Telegram 机器人,您需要一个 Telegram 机器人、一个 API 访问令牌和您的 Telegram 聊天 ID。
Telegram 机器人
以下步骤介绍如何创建一个新的 Telegram 机器人。
1. 在您的 Telegram 应用程序中搜索用户名 @BotFather
2. 点击 Start
以开始与 @BotFather
对话
3. 发送 /newbot
给 @BotFather
@BotFather
回复
Alright, a new bot. How are we going to call it? Please choose a name for your bot.
@BotFather
将提示您完成机器人创建过程的其余步骤;您可以随意按照他的指示进行操作,或者继续执行我们版本的以下步骤。两种设置都能成功!
4. 将您的机器人名称发送给 @BotFather
您的机器人名称可以是任何内容。请注意,这不是您机器人的 Telegram @username
;您将在步骤 5 中创建用户名。
@BotFather
回复
Good. Now let's choose a username for your bot. It must end in `bot`.
Like this, for example: TetrisBot or tetris_bot.
5. 将您的机器人用户名发送给 @BotFather
您的机器人用户名必须以 bot
结尾。例如:mushroomKap_bot
。
BotFather
回复
Done! Congratulations on your new bot. You will find it at t.me/<bot-username>.
You can now add a description, about section and profile picture for your bot, see
/help for a list of commands. By the way, when you've finished creating your cool bot,
ping our Bot Support if you want a better username for it. Just make sure the bot is
fully operational before you do this.
Use this token to access the HTTP API:
<API-access-token>
For a description of the Bot API, see this page: https://core.telegram.org/bots/api
6. 开始与您的机器人对话
点击 @BotFather
回复中的 t.me/<bot-username>
链接,然后在您的 Telegram 应用程序底部点击 Start
。
您新创建的机器人将出现在应用程序左侧的聊天列表中。
Telegram API 访问令牌
当您创建机器人时,Telegram 的 @BotFather
机器人向您发送了一个 API 访问令牌。请参阅上一节步骤 5 中的 @BotFather
回复,以查找您的令牌。
如果您找不到 API 访问令牌,请按照以下步骤创建新令牌。
1. 发送 /token
给 @BotFather
2. 在您的 Telegram 应用程序底部选择相关的机器人
@BotFather
回复,提供新的 API 访问令牌
You can use this token to access HTTP API:
<API-access-token>
For a description of the Bot API, see this page: https://core.telegram.org/bots/api
Telegram 聊天 ID
以下步骤介绍如何识别您的聊天 ID。
1. 将以下链接粘贴到您的浏览器中
将 <API-access-token>
替换为您在上节中识别或创建的 API 访问令牌
https://api.telegram.org/bot<API-access-token>/getUpdates?offset=0
2. 向您的机器人发送消息
在 Telegram 应用程序中向您的机器人发送消息。消息文本可以是任何内容;您的聊天记录必须至少包含一条消息才能获取您的聊天 ID。
3. 刷新您的浏览器
4. 识别聊天 ID
在浏览器中识别数字聊天 ID。在下面的示例中,聊天 ID 为 123456789
。
{"ok":true,"result":[{"update_id":XXXXXXXXX,
"message":{"message_id":2,"from":{"id":123456789,"first_name":"Mushroom","last_name":"Kap"},
"chat":{"id":123456789,"first_name":"Mushroom","last_name":"Kap","type":"private"},
"date":1487183963,"text":"hi"}}]}
Telegram 配置
在 Kapacitor 配置文件 (/etc/kapacitor/kapacitor.conf
) 的 [telegram]
部分中,将 enabled
设置为 true
,并将 token
设置为您的 API 访问令牌。还有其他配置设置,但它们是可选的。
示例配置文件
[telegram]
enabled = true
url = "https://api.telegram.org/bot" # url requires no additional configuration.
token = "abcdefghi:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
chat-id = "123456789"
Kapacitor TICKscript
在您的 Kapacitor TICKscript 的 |alert()
部分中,包含 .telegram()
属性,并将 .chatId('<your-chat-id>')
属性设置为您的 Telegram 聊天 ID。
示例 TICKscript
stream
|from()
.measurement('cpu')
|alert()
.crit(lambda: "usage_idle" < 10)
.message('')
.telegram() ?
.chatId('<your-chat-id>') ?
接下来,定义并启用您的 Kapacitor 任务,并关注您的 Telegram 机器人。就这么简单!
使用 Chronograf 进行 Telegram 设置
Chronograf 为使用 Kapacitor 提供了一个用户界面,可以轻松创建警报规则并将警报消息发送到 事件处理程序。
要求
Kapacitor 实例
查看 Chronograf 的安装指南,了解如何安装 Chronograf 并将 Kapacitor 连接到 Chronograf。
Telegram 信息
- Telegram 机器人
- Telegram API 访问令牌
- Telegram 聊天 ID
请参阅“使用 Kapacitor 进行 Telegram 设置”部分中的要求列表,了解如何从 Telegram 获取该信息。
Chronograf/Kapacitor 配置
1. 访问您的 Chronograf 应用程序中的 Kapacitor 配置页面。
2. 在 配置警报端点
部分中,从下拉菜单中选择 Telegram
。
3. 在 令牌
输入框中输入您的 Telegram API 访问令牌。
4. 在 聊天 ID
输入框中输入您的聊天 ID。
5. 点击 保存
按钮。
请注意,Telegram URL
输入框不需要其他配置。解析模式
、禁用网页预览
和 禁用通知
复选框是可选的;有关这些设置的更多信息,请参阅 Kapacitor 文档。
规则配置
在 Chronograf 的 Kapacitor 规则页面上创建或编辑规则时,在屏幕底部的下拉菜单中选择 telegram
。Kapacitor 会将与该规则关联的所有警报消息发送到您配置的 Telegram 机器人。
下一步是什么
- 下载:TICK-stack 的下载页面已上线。
- 云端部署:开始免费试用 InfluxDB Cloud,其中包含完全托管的集群、Kapacitor 和 Grafana。
- 在您的服务器上部署:想在您的服务器上运行 InfluxDB 集群?免费试用 14 天的 InfluxDB Enterprise,它具有直观的 UI,可用于部署、监控和重新平衡集群,以及管理备份和恢复。
- 讲述您的故事:超过 300 家公司 分享了他们关于 InfluxDB 如何帮助他们取得成功的故事。提交您的客户评价,即可获得限量版帽衫作为感谢。