moira-alert.moira-trigger-role

moira-trigger-role

如果你是新来的,最好查看一下我们的主要 README

这是一个用于创建、更新和删除 Moira 触发器的 Ansible 角色,基于 python-moira-client

角色使用

安装

配置

角色任务

安装

Ansible Galaxy

ansible-galaxy install moira-alert.moira-trigger-role

带 Makefile 的 Ansible 角色

示例 中的内容放入你的 Makefile 中,以从 Ansible Galaxy 下载角色
并创建一个用于管理触发器、包含预定义参数的 playbook:

- name: 管理 moira 触发器
  hosts: serviceName
  roles:
    - role: moira-alert.moira-trigger-role
      moira_api: http://localhost:8081/api
      moira_triggers: '{{ ServiceNameTriggers }}'
      delegate_to: 127.0.0.1
      run_once: True
      dry_run: False

注意: 所有任务必须在你的 ansible 控制机器上完成。

配置

在你的 vars 文件中预定义以下参数。可以在 这里 找到工作示例。

认证

参数 描述 类型 必需 默认 示例
moira_api Moira API 的 URL 字符串 不适用 http://localhost/api/
moira_auth_custom 自定义授权头 字典 Authorization: apiKey
moira_auth_user 认证用户(基本认证) 字符串 admin
moira_auth_pass 认证密码(基本认证) 字符串 pass
moira_auth_login 认证登录(基本认证) 字符串 admin

注意: 如果使用额外的认证机制,请使用 moira_auth_custom,
否则使用 moira_auth_user、moira_auth_pass 和 moira_auth_login。
moira_auth_login 必须包含 X-Webauth-User 头的值。

触发器状态

参数 描述 类型 必需 选择 默认 示例
state 触发器的期望状态 字符串 present
absent
不适用 present
id 触发器ID 字符串 不适用 不适用 trigger_1
name 触发器名称 字符串 不适用 不适用 Trigger 1
tags 触发器标签列表 列表 不适用 不适用 - 项目
- 服务
targets 触发器目标列表
查看可用的 graphite 函数
列表 不适用 不适用 - prefix.*.postfix
warn_value 设置 WARN 状态的值 浮点 不适用 300
error_value 设置 ERROR 状态的值 浮点 不适用 600
trigger_type 触发器类型 字符串 rising
falling
expression
不适用 rising
expression 类似 C 的表达式 字符串 不适用 空字符串 t1 >= 10 ? ERROR : (t1 >= 1 ? WARN : OK)
ttl 当触发器没有度量时,Moira 会在 TTL 秒后将度量切换为 TTLState 状态 整数 不适用 600 600
ttl_state 'ttl' 过期时的触发器状态 字符串 NODATA
DEL
ERROR
WARN
OK
NODATA WARN
is_remote 使用远程存储。不推荐,使用 trigger_source 代替 布尔 True
False
False False
trigger_source 指定触发器来源,覆盖 is_remote 字符串 graphite_local
graphite_remote
prometheus_remote
None graphite_local
cluster_id 指定集群 ID 字符串 不适用 None default
desc 触发器描述 字符串 不适用 空字符串 触发器测试描述
mute_new_metrics 如果为真,首次事件 NODATA → OK 将被忽略 布尔 True
False
False False
disabled_days 触发器静默模式的天数 列表 不适用 空列表 - 周一
- 周三
timezone_offset 时区偏移(分钟) 整数 不适用 0 -180
start_hour 发送警报的起始小时 整数 不适用 0 9
start_minute 发送警报的起始分钟 整数 不适用 0 0
end_hour 发送警报的结束小时 整数 不适用 23 17
end_minute 发送警报的结束分钟 整数 不适用 59 0
alone_metrics 将某些目标设置为单指标 对象,例如: 不适用 {'t1': False, 't2': True, ... 'tN': True} {'t1': False, 't2': False}

角色任务

管理依赖

检查 python-moira-client 是否已安装(通过 pip)。

管理触发器

使用状态 'present' 创建并编辑现有触发器:

 - name: 创建触发器
   moira_trigger:
      ...
      state: present
      ...  

要删除现有触发器,请使用状态 'absent':

 - name: 删除触发器
   moira_trigger:
      ...
      state: absent
      ...  
关于项目

Ansible role to create, update and delete Moira triggers

安装
ansible-galaxy install moira-alert.moira-trigger-role
许可证
mit
下载
19.1k
拥有者
Realtime alerting system based on Graphite data