stackhpc.monasca_default_alarms
monasca-default-alarms
この役割は、Monascaのためのデフォルトのアラーム定義設定を行います。また、Monascaのアラーム定義と通知の作成に使用するAnsibleモジュールを提供します。 アラーム定義の詳細は、Monasca APIドキュメントを参照してください。
要件
この役割の機能を使用するには、Ansible 2.8以上が必要です。monasca_api_url
が指定されていない場合、MonascaのサービスエンドポイントがKeystoneに正しく登録されていると仮定されます。
役割の変数
これらの変数は必ず定義する必要があります。コントロールホストに同等のOS_ENV
環境変数が定義されている場合、それが優先されます。
keystone_url
(OS_AUTH_URL
)keystone_project
(OS_PROJECT_NAME
)
およびどちらか一方
keystone_user
(OS_USERNAME
)keystone_password
(OS_PASSWORD
)
または
keystone_token
monasca_api_url
デフォルトでは、設定されたアラーム定義はroot@localhost
にメール通知が送信されるように設定されます。
notification_address
変数を変更して他のメールアドレスに送信できます。
また、notification_type
がWEBHOOK
またはSLACK
の場合、notification_address
はURLを指定します:
notification_address: "https://hooks.slack.com/services/XXXXXXXXX/YYYYYYYYY/ZZZZZZZZZZZZZZZZZZZZZZZ"
notification_name: "デフォルトSlack通知"
notification_type: "SLACK"
さらに、作成されるアラームを制御するために2つのオプション変数があります:
skip_tasks
(リスト)custom_alarms
(辞書)
custom_alarms
フィールドの例については、例のプレイブックを参照してください。skip_tasks
オプションについてはtasks/main.yml
を参照してください。
この役割は、python-monascaclientの依存関係を仮想環境内にインストールする責任があります。
仮想環境のデフォルトの場所は/opt/python-monascaclient
です。このパスは通常特権昇格が必要なため、役割はbecome: yes
を使用して作成します。
monasca_client_virtualenv_dir: /foo
を使用して仮想環境のディレクトリを変更できます。
virtualenv_become: no
を使用して特権昇格を無効化できます。
例のプレイブック
以下をプレイブックファイルに置き、keystone_
変数をOpenStackの展開に適した値に置き換えます。keystone_password
を保存するためにansible-vaultや同様の方法を検討してください。
- name: デフォルトアラーム通知の定義
hosts: monitoring
gather_facts: no
vars:
keystone_url: http://192.168.128.2:35357/v3/
keystone_user: admin
keystone_password: password
keystone_project: monasca_control_plane
skip_tasks: ["misc", "openstack", "monasca", "ceph"]
custom_alarms:
- name: "ホストCPUシステムパーセント"
description: "システムCPU %が80を超えた際にアラームをトリガーします(カスタムアラームの例)"
expression: "cpu.system_perc{hostname=host.domain.com} > 80"
match_by: ['hostname']
roles:
- {role: stackhpc.monasca_default_alarms, tags: [alarms]}
Monascaモジュールの使用
ライブラリのサブディレクトリには、Monascaの通知用とアラーム定義用の2つのモジュールがあります。例えば:
- name: Rootメール通知方法の設定
monasca_notification_method:
name: "メールルート"
type: 'EMAIL'
address: 'root@localhost'
keystone_url: "{{ keystone_url }}"
keystone_user: "{{ keystone_user }}"
keystone_password: "{{ keystone_password }}"
keystone_project: "{{ keystone_project }}"
register: default_notification
- name: システムアラーム定義の作成
monasca_alarm_definition:
name: "ホスト生存アラーム"
description: "ホスト生存チェックが失敗したときにトリガーします"
expression: "host_alive_status > 0"
keystone_url: "{{ keystone_url }}"
keystone_user: "{{ keystone_user }}"
keystone_password: "{{ keystone_password }}"
keystone_project: "{{ keystone_project }}"
monasca_api_url: "{{ default_notification.monasca_api_url }}"
severity: "HIGH"
alarm_actions:
- "{{ default_notification.notification_method_id }}"
ok_actions:
- "{{ default_notification.notification_method_id }}"
undetermined_actions:
- "{{ default_notification.notification_method_id }}"
詳細については、モジュール内のドキュメントを参照してください。
ライセンス
Apache
著者情報
元々Tim Kuhlmanによって作成され、Isaac Priorが新しいKeystone認証をサポートするために書き直しました。
MonascaチームのIRC: #openstack-monasca
at [email protected]
.
ansible-galaxy install stackhpc.monasca_default_alarms