jebovic.supervisor

监控工具

构建状态 Ansible Galaxy

安装和配置监控工具,您可以使用 YAML 变量添加自己的程序。

这个角色是我的 OPS 项目 的一部分,您可以通过这个链接查看它的实际应用。OPS 提供了很多功能,比如开发虚拟机的 Vagrant 文件、角色编排的剧本、库存文件、角色配置示例、Ansible 配置文件等。

兼容性

在以下版本上经过测试和验证:

  • Debian jessie (8+)
  • Ubuntu Trusty (14.04 LTS)
  • Ubuntu Xenial (16.04 LTS)

角色变量

# 监控工具安装配置
supervisor_packages:
  - supervisor
supervisor_pip_packages:
  - superlance

# 监控工具基本配置
supervisor_user: root
supervisor_socket: /tmp/supervisor.sock
supervisor_pidfile: /var/run/supervisord.pid
supervisor_log_path: /var/log/supervisord
supervisor_log_file: "{{ supervisor_log_path }}/supervisord.log"
supervisor_http_host: "{{ ansible_host }}"
supervisor_http_port: 9988
supervisor_http_username: supervisor_user
supervisor_http_password: supervisor

# 监控工具程序
supervisor_programs: []

# 监控工具事件
supervisor_events: []

示例剧本

- hosts: servers
  roles:
     - { role: jebovic.supervisor }

示例:配置

# 监控工具 UI IP & 端口绑定
supervisor_user: supervisor
supervisor_http_host: 127.0.0.1
supervisor_http_port: 9988
# 监控工具程序配置
supervisor_programs:
  traefik:
    command: "{{ traefik_bin_path }} -c {{ traefik_config_dir }}/traefik.toml"
    autostart: "true"
    autorestart: "true"
    stderr_logfile: "{{ supervisor_log_path }}/traefik-stderr.log"
    stderr_logfile_maxbytes: 1MB
    stderr_logfile_backups: 10
    stdout_logfile: "{{ supervisor_log_path }}/traefik-stdout.log"
    stdout_logfile_maxbytes: 1MB
    stdout_logfile_backups: 10
    user: root
  consul:
    command: "{{ consul_bin_path }} agent -ui -bind={{ ansible_host }} -client=0.0.0.0 -node={{ ansible_fqdn }} -bootstrap -server -http-port {{ consul_http_port }} -data-dir={{ consul_data_dir }} -config-dir={{ consul_config_dir }} -domain={{ ansible_fqdn }}."
    autostart: "true"
    autorestart: "true"
    stderr_logfile: "{{ supervisor_log_path }}/consul-stderr.log"
    stderr_logfile_maxbytes: 1MB
    stderr_logfile_backups: 10
    stdout_logfile: "{{ supervisor_log_path }}/consul-stdout.log"
    stdout_logfile_maxbytes: 1MB
    stdout_logfile_backups: 10
    user: root
  mailhog:
    command: /usr/local/bin/mailhog -api-bind-addr :8025 -ui-bind-addr :8025
    autostart: "true"
    autorestart: "true"
    stderr_logfile: "{{ supervisor_log_path }}/mailhog-stderr.log"
    user: www-data

# 监控工具事件配置(取决于 superlance 插件的安装)
supervisor_events:
  httpok:
    command: httpok -p mailhog http://localhost:8025
    events: TICK_60

标签

  • supervisor_config : 仅更新配置并重启服务

许可证

MIT

作者信息

Jérémy Baumgarth https://github.com/jebovic

关于项目

Install and configure supervisor, you can add your own programs with yaml variables

安装
ansible-galaxy install jebovic.supervisor
许可证
mit
下载
2.8k