joshbenner.sensu
Sensu
安装并配置 Sensu Core(社区版)。
角色变量
下面列出了可用的变量。有关默认值,请参见 defaults/main.yml
。
变量 | 描述 |
---|---|
sensu_install_repo |
是否安装自定义 Debian 仓库。 |
sensu_debian_repo_key_url |
Debian 仓库 GPG 密钥的 URL。 |
sensu_debian_repo_url |
要使用的 Debian 仓库的 URL。 |
sensu_redhat_repo_url |
要使用的 RedHat 仓库的 URL。 |
sensu_state |
Sensu 的安装状态(例如:存在/不存在)。 |
sensu_version |
要安装的 Sensu 特定版本。 |
sensu_user |
Sensu 用户。 |
sensu_group |
Sensu 组。 |
sensu_config_file |
主 Sensu 配置文件的路径。 |
sensu_config_dir |
包含附加 Sensu 配置的目录路径。 |
sensu_enable_server |
是否运行服务器。 |
sensu_enable_api |
是否运行 API。 |
sensu_enable_client |
是否运行客户端。 |
sensu_config |
主配置文件的配置树。覆盖特定设置。 |
sensu_transport_name |
Sensu 应该使用的传输方式(rabbitmq 或 redis )。 |
sensu_rabbitmq_config |
RabbitMQ 配置范围。 |
sensu_redis_config |
Redis 配置范围。 |
sensu_api_config |
API 配置范围。 |
sensu_client_config |
客户端配置范围。 |
sensu_pin_version |
是否固定特定版本(取决于 sensu_version )。 |
sensu_install_yum_versionlock |
是否安装 YUM 版本锁插件。需要进行固定时。 |
合并配置
该角色将合并带有特定后缀的变量,以从多个来源组装配置,例如用于检查,而无需启用 Ansible 合并。
例如,如果你在 group_vars/all
中有以下变量:
base_sensu_checks:
check_memory:
command: check-memory-percent.rb -w 70 -c 80
interval: 60
standalone: true
check_swap:
command: check-swap-percent.rb -w 50 -c 80
interval: 60
standalone: true
并且在 group_vars/rabbit-servers
中有:
rabbitmq_sensu_checks:
check_rabbitmq_alive:
command: check-rabbitmq-amqp-alive.rb
interval: 60
standalone: true
那么在 rabbit-servers
组中的服务器上,检查将合并为如下配置:
sensu_checks:
check_memory:
command: check-memory-percent.rb -w 70 -c 80
interval: 60
standalone: true
check_swap:
command: check-swap-percent.rb -w 50 -c 80
interval: 60
standalone: true
check_rabbitmq_alive:
command: check-rabbitmq-amqp-alive.rb
interval: 60
standalone: true
以下后缀将用于 Sensu 配置合并:
_sensu_checks
- Sensu 检查定义_sensu_handlers
- Sensu 处理程序定义_sensu_filters
- Sensu 过滤器定义_sensu_mutators
- Sensu 变换器定义_sensu_plugins
- 要安装的 Sensu 插件,可以是字符串名称,也可以是包含更多详细信息的对象:some_prefix__sensu_plugins: - name: pagerduty version: 3.0.1
_sensu_plugin_dependencies
_sensu_extensions
- 要安装的扩展和版本:some_prefix__sensu_extensions: some-extension: 1.2.3 other-extension: absent
示例剧本
- hosts: all
become: yes
roles:
- role: joshbenner.rabbitmq
- role: DavidWittman.redis
- role: joshbenner.sensu
sensu_enable_server: yes
sensu_enable_api: yes
my_sensu_plugins:
- cpu-checks
- memory-checks
- network-checks
- rabbitmq
- redis
my_sensu_checks:
check_cpu:
command: check-cpu.rb -w 80 -c 95
interval: 60
standalone: true
check_memory:
command: check-memory-percent.rb -w 70 -c 80
interval: 60
standalone: true
check_swap:
command: check-swap-percent.rb -w 50 -c 80
interval: 60
standalone: true
check_route:
command: check-ping.rb -h {{ ansible_default_ipv4.gateway }} -W 90 -C 50
interval: 60
standalone: true
check_rabbitmq_alive:
command: check-rabbitmq-amqp-alive.rb
interval: 60
standalone: true
check_redis_alive:
command: check-redis-ping.rb
interval: 60
standalone: true
许可证
BSD
安装
ansible-galaxy install joshbenner.sensu
许可证
bsd-3-clause
下载
79
拥有者