- 前言
- Ansible 是什么?
- 怎么部署 Ansible 环境?
- 怎么用 Vagrant 练习 Ansible?
- 怎么用 Docker 练习 Ansible?
- 怎么操作 Ansible?
- 怎么用 Jupyter 操控 Ansible?(localhost)
- 怎么用 Jupyter 操控 Ansible?(Managed node)
- 怎么用 Docker Compose 练习 Ansible?
- Ansible 的开发工具有哪些?
- 怎么看 Ansible Modules 文件?
- 常用的 Ansible Module 有哪些?
- 怎么使用 setup 取得 Managed node 的 facts?
- 怎么使用 Ansible 的 Template 系统?
- 怎么在 Playbooks 里使用 Handlers?
- Ansible 如何发送 notification 到 Slack?
- Ansible 如何发送 notification 到 HipChat?
- 如何在 Playbooks 使用 loops?
- 如何维护大型的 Playbooks?
- Roles 是什么?
- 怎么使用 Roles?
- 怎么用 Roles 部署 LNMP 网页应用程式?(上)
- 怎么用 Roles 部署 LNMP 网页应用程式?(下)
- 怎么用 Roles 部署 TestLink?
- 怎么在 Ansible Galaxy 分享 Roles?(上)
- 怎么在 Ansible Galaxy 分享 Roles?(下)
- 怎么用 Travis CI 测试 Roles?
- 怎么混用 Ansible 建置 Docker image?
- 怎么在 Docker Hub 混用 Ansible 自动建置 Docker image?
- 怎么用 Vault 管理敏感资料?
- 总结
Ansible 如何发送 notification 到 HipChat?
現代 IT 人一定要知道的 Ansible 自動化組態技巧
17. 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
等變數。3$ 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: "{{ hipchat_token }}" room: "{{ hipchat_room }}" color: gray msg: "Send a notification with Ansible !" # vim: ft=yaml.ansible :
註:
raw
和endraw
是為了相容 GitBook 所增加的語法,您可能會在某平台上看到它,請忽略之。取得 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
- 16. Ansible 如何發送 notification 到 Slack? | 現代 IT 人一定要知道的 Ansible 自動化組態技巧
- 透過 Zabbix 監控 VPN (PPPoE) 狀態 | 凍仁的筆記
1. Zabbix 是企業級的 open source 監控系統,搭配 HipChat 使用後可以讓我們在極短的時間內掌握伺服器 (Server) 和網路設備等狀況。 ↩
2. 凍仁先前於高雄任職的公司有使用 HipChat,但後期只剩 IT 維運部門在用就是。 ↩
3. 由於 HipChat 在設計是綁定房間 (Room) 使用的,不像 Slack 可用一組設定發送訊息到不同的頻道,若有這類需求則可透過多個 Tasks 和 Tokens 進行實作。 ↩
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论