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"
此外,还有两个可选变量来控制创建的警报:
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
禁用特权提升。
示例剧本
将以下内容放入剧本文件中,并用适合您 OpenStack 部署的 keystone_
变量替换。考虑使用 ansible-vault 或等效工具来存储 keystone_password
。
- 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 通知,另一个用于警报定义。例如:
- name: 设置根邮箱通知方法
monasca_notification_method:
name: "Email Root"
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
在 freenode.net
,电子邮件: monasca@lists.launchpad.net。
ansible-galaxy install stackhpc.monasca_default_alarms