Ansible Test - Auto Error Handling - slack&zabbix


Anable+Zabbix+Slackによるサーバ障害の自動処理


1. Scenario



1台の
  • APIサーバ上でrunプロセスの保留状態が発生します.
  • Zabbix(モニタシステム)は
  • エラーを検出した.ユーザーはZabbixダッシュボードで
  • を表示できます.
  • ZabbixはSlackにエラーメッセージ
  • を送信する.
  • ZabbixコマンドAnable hostこのエラーを処理するPlaybookを実行します.
  • Ansilbeエンジンでこのシナリオ
  • を実行
  • エラーが発生したAPIサーバで「run.sh」を実行します.
  • ZabbixはSlackでエラー処理メッセージを送信/更新する.
  • Zabbixのダッシュボードで発生した障害指数が消失していることを確認します.
  • 2.Scenarioの実施


  • 1.1台のAPIサーバ上で実行されるプロセスがハングアップ状態にある


  • 2.Zabbixダッシュボードでエラーを確認する


  • 3.ZabbixがSlackにエラーメッセージを送信


  • 4.ZabbixコマンドAnable hostプレイブックの実行


  • 5.Ansilbeエンジンで実行するコマンド
  • cd /home/ansible/ansible-test-ssh;
    ansible-playbook api-core-run-playbook.yml -i inventory;
    api-core-run-playbook.yml
    - hosts: core-servers
      gather_facts: no
      become: yes
      become_method: su
      become_user: ec2-user
      tasks:
      - name: execute run.sh
        shell: ./run.sh
        args:
          chdir: /usr/local/wheet-core-back

  • 6.APIサーバ上で「run.sh」を実行する


  • 7.ZabbixがSlackにエラー処理完了メッセージを送信


  • 8.Zabbixでのダッシュボード検査