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_typeWEBHOOKまたは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].

プロジェクトについて

Sets up default alarm definitions for Monasca

インストール
ansible-galaxy install stackhpc.monasca_default_alarms
ライセンス
apache-2.0
ダウンロード
324
所有者
StackHPC develops OpenStack capabilities for research computing use cases. Through extensive experience, we understand HPC and cloud.