📘
現代 IT 人一定要知道的 Ansible 自動化組態技巧
  • README
  • 前言
  • 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 管理敏感資料?
  • 總結
Powered by GitBook
On this page
  • 17. Ansible 如何發送 notification 到 HipChat?
  • hipchat module 是什麼?
  • Ansible 怎麼整合 HipChat?
  • 後語
  • 相關連結

Was this helpful?

Edit on GitHub

Ansible 如何發送 notification 到 HipChat?

PreviousAnsible 如何發送 notification 到 Slack?Next如何在 Playbooks 使用 loops?

Last updated 4 years ago

Was this helpful?

17. Ansible 如何發送 notification 到 HipChat?

是相當老牌線上通訊服務,官方也提供了不少整合方案。凍仁曾透過它整合 Ansible, , , , 和 等服務,當資訊集中在一處後,維運起來也會輕鬆許多。這裡凍仁將介紹 Ansible 整合 HipChat 的部份。

▲ 上圖為 Ansible 發送 notification 到 HipChat 的範例。

hipchat module 是什麼?

module 是用來發送訊息到 HipChat 上的通知模組 (notification modules),我們只需取得 Room notification Token 即可使用。

Ansible 怎麼整合 HipChat?

  1. 撰寫發送 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: "{{ hipchat_token }}"
            room: "{{ hipchat_room }}"
            color: gray
            msg: "Send a notification with Ansible !"
    
    # vim: ft=yaml.ansible :
    

    註:raw 和 endraw 是為了相容 GitBook 所增加的語法,您可能會在某平台上看到它,請忽略之。

  2. 取得 HipChat 的 Room Notification Token。

  3. 登入 HipChat 後,開啟 web app。

  4. 建立一間新的 Room。

  5. 幫這個 Room 取個名字並簡單介紹一下用途。

  6. 回到 HipChat 的管理介面,並找到 Group Admin (群組管理) 。

  7. 在 Rooms 底下找到要整合 Ansible 的 Room。

  8. 點選左側的 Tokens。

  9. 在 Create New Token 輸入 Ansible 和選擇 Send Notification 的 Scopes,之後接下 Create。

  10. Token 建立完畢後,即可在紅框裡取得剛建立的 Token。

  11. 執行 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
  12. 在 HipChat 接收從 Ansible 送出的 notification。

  13. 現在我們可以在 HipChat 裡接收來自 Ansible 的 notification 了!

後語

Ansible 與 HipChat 的組合在使用上會比 Slack 簡單許多,雖然 HipChat 不比 Slack 的高度客製化,但凍仁認為它的門壏比較低,適合需求較單純的團隊。

至於要選哪一家作為 ChatOps 的平台?這就是另一門學問了。(笑)

相關連結

  1. 凍仁先前於高雄任職的公司有使用 HipChat,但後期只剩 IT 維運部門在用就是。

hipchat - Send a message to hipchat. | Ansible Documentation
16. Ansible 如何發送 notification 到 Slack? | 現代 IT 人一定要知道的 Ansible 自動化組態技巧
透過 Zabbix 監控 VPN (PPPoE) 狀態 | 凍仁的筆記
HipChat
Git
Jenkins
Redmine
Skype
Zabbix
hipchat
2016-12-17-ansible-hipchat-1.png
2016-12-17-ansible-hipchat-2.png
2016-12-17-ansible-hipchat-3.png
2016-12-17-ansible-hipchat-4.png
2016-12-17-ansible-hipchat-5.png
2016-12-17-ansible-hipchat-6.png
2016-12-17-ansible-hipchat-7.png
2016-12-17-ansible-hipchat-8.png
2016-12-17-ansible-hipchat-9.png
automate_with_ansible_practice-22.jpg