Ansible 发送 notification 到 HipChat
HipChat 是相当老牌线上通讯服务,官方也提供了不少整合方案。冻仁曾通过它整合 Ansible, Git, Jenkins, Redmine, Skype 和 Zabbix 1 等服务,当资讯集中在一处后,维运起来也会轻松许多。这里冻仁将介绍 Ansible 整合 HipChat 的部份。2
▲ 上图为 Ansible 发送 notification 到 HipChat 的范例。
hipchat module 是什么?
hipchat module 是用来发送信息到 HipChat 上的通知模组 (notification modules),我们只需取得 Room notification Token 即可使用。
Ansible 怎么整合 HipChat?
撰写发送 notification 到 HipChat 的 Playbook:请依步骤 2 取得的参数设定
hipchat_token
和hipchat_room
等变数。$ vi send_notification_to_hipchat.yml --- - name: Send notification to HipChat hosts: localhost vars: hipchat_token: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' hipchat_room: "automate-with-ansible" post_tasks: - name: send notification to hipchat hipchat: api: "https://api.hipchat.com/v2/" token: "" room: "" color: gray msg: "Send a notification with Ansible !" # vim: ft=ansible :
由于 HipChat 在设计是绑定房间 (Room) 使用的,不像 Slack 可用一组设定发送讯息到不同的频道,若有这类需求则可通过多个 Tasks 和 Tokens 进行实作。
取得 HipChat 的 Room Notification Token。
登入 HipChat 后,开启 web app。
建立一间新的 Room。
帮这个 Room 取个名字并简单介绍一下用途。
回到 HipChat 的管理界面,并找到 Group Admin (群组管理) 。
在 Rooms 底下找到要整合 Ansible 的 Room。
点选左侧的 Tokens。
在 Create New Token 输入
Ansible
和选择Send Notification
的 Scopes,之后接下 Create。Token 建立完毕后,即可在红框里取得刚建立的 Token。
执行 Playbook。
$ ansible-playbook send_notification_to_hipchat.yml PLAY [Send notification to HipChat] ******************************** TASK [setup] ******************************************************* ok: [localhost] TASK [send notification to hipchat] ******************************** changed: [localhost] PLAY RECAP ********************************************************* localhost : ok=2 changed=1 unreachable=0 failed=0
在 HipChat 接收从 Ansible 送出的 notification。
现在我们可以在 HipChat 里接收来自 Ansible 的 notification 了!
后话
Ansible 与 HipChat 的组合在使用上会比 Slack 简单许多,虽然 HipChat 不比 Slack 的高度客制化,但冻仁认为它的门槛比较低,适合需求较单纯的团队。
至于要选哪一家作为 ChatOps 的平台?这就是另一门学问了。(笑)
相关连结
- hipchat - Send a message to hipchat. | Ansible Documentation
- Ansible 如何发送 notification 到 Slack? | 现代 IT 人一定要知道的 Ansible 自动化组态技巧
- 通过 Zabbix 监控 VPN (PPPoE) 状态 | 冻仁的笔记
1. Zabbix 是企业级的 open source 监控系统,搭配 HipChat 使用后可以让我们在极短的时间内掌握服务器 (Server) 和网络设备等状况。 ↩
2. 冻仁先前于高雄任职的公司有使用 HipChat,但后期只剩 IT 维运部门在用就是。 ↩