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 应该使用的传输方式(rabbitmqredis)。
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

关于项目

Install and configure sensu core (OSS version).

安装
ansible-galaxy install joshbenner.sensu
许可证
bsd-3-clause
下载
79
拥有者