TL;DR InfluxDB 技术技巧 - 使用 Kapacitor 和 Chronograf 在 Telegram 中设置
作者:Regan Kuchan / 产品,开发者
2017年3月2日
导航至
在本篇文章中,我们介绍了如何设置 Kapacitor 和 Chronograf 来将警报消息发送到 Telegram。下周将为您带来最有趣的 InfluxDB 和 TICK-stack 相关问题、解决方案、教程和问答,包括来自 GitHub、IRC 和 InfluxDB Google Group 的内容,您可能错过了。
使用 Kapacitor 在 Telegram 中设置
Telegram 是一个即时通讯应用程序。 Kapacitor 是 InfluxData 的开源数据处理框架,允许您配置和发送警报消息到 事件处理器 (例如 Telegram!)。
要求
要将 Kapacitor 的 警报消息 发送到 Telegram 机器人,您需要一个 Telegram 机器人、API 访问令牌以及您的 Telegram 聊天 ID。
Telegram 机器人
以下步骤描述了如何创建一个新的 Telegram 机器人。
1. 在您的 Telegram 应用程序中搜索 @BotFather
用户名
2. 点击 Start
与 @BotFather
开始对话
3. 向 @BotFather
发送 /newbot
@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. 向@BotFather
发送/token
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的安装指南,了解如何安装并将Kapacitor连接到Chronograf。
Telegram信息
- Telegram 机器人
- Telegram API 访问令牌
- Telegram聊天ID
在“使用Kapacitor配置Telegram”部分中查看要求列表,了解如何从Telegram获取该信息。
Chronograf/Kapacitor配置
1. 访问您的Chronograf应用程序中的Kapacitor配置页面。
2. 在Configure Alert Endpoints
部分,从下拉菜单中选择Telegram
。
3. 在Token
输入中输入您的Telegram API访问令牌。
4. 在Chat ID
输入中输入您的聊天ID。
5. 点击Save
按钮。
注意,Telegram URL
输入不需要额外配置。Parse Mode
、Disable Web Page Preview
和Disable Notification
复选框是可选的;有关这些设置的更多信息,请参阅Kapacitor文档。
规则配置
在Chronograf的Kapacitor规则页面上创建或编辑规则时,在屏幕底部的下拉菜单中选择telegram
。Kapacitor会将与该规则关联的所有警报消息发送到您配置的Telegram机器人。
接下来是什么
- 下载 TICK-stack的下载可在我们的“下载”页面找到。
- 云上部署:免费试用InfluxDB Cloud,包括完全管理的集群、Kapacitor和Grafana。
- 在您的服务器上部署:想在您的服务器上运行InfluxDB集群吗?尝试免费14天的InfluxDB Enterprise试用期,InfluxDB Enterprise,具有直观的界面,用于部署、监控和重新平衡集群,以及管理备份和恢复。
- 讲述您的故事: 300多家公司 分享了他们如何通过InfluxDB取得成功的故事。提交您的评价,并作为感谢获得限量版卫衣。