buluma.grafana

Ansible 角色 grafana

Grafana - 分析和监控平台

GitHub 版本 问题 拉取请求 下载
github 版本 问题 拉取请求 Ansible 角色

示例剧本

这个示例取自 molecule/default/converge.yml,在每次推送、拉取请求和发布时进行测试。

---
- name: Converge
  hosts: all
  become: yes
  gather_facts: yes

  roles:
    - role: buluma.grafana
      vars:
        grafana_security:
          admin_user: admin
          admin_password: password

机器需要进行准备。在 CI 中,这通过 molecule/default/prepare.yml 来完成:

---
- name: Prepare
  hosts: all
  gather_facts: no
  become: yes

  roles:
    - role: buluma.bootstrap

还可以查看 完整说明和示例 来了解如何使用这些角色。

角色变量

变量的默认值在 defaults/main.yml 中设置:

---
grafana_version: latest
grafana_yum_repo_template: etc/yum.repos.d/grafana.repo.j2
grafana_manage_repo: true

# 是否在可能时使用配置能力(配置需要 grafana >= 5.0)
grafana_use_provisioning: true

# 是否保持配置同步。如果为真,之前的配置对象将被删除。
grafana_provisioning_synced: false

grafana_instance: "{{ ansible_fqdn | default(ansible_host) | default(inventory_hostname) }}"

grafana_logs_dir: "/var/log/grafana"
grafana_data_dir: "/var/lib/grafana"

grafana_address: "0.0.0.0"
grafana_port: 3000
# 为了启用低于 1024 的端口供非特权进程使用,Linux 需要设置 CAP_NET_BIND_SERVICE。
# 这有一些安全隐患,应当谨慎选择。
# 通过阅读:首页:http://man7.org/linux/man-pages/man7/capabilities.7.html
grafana_cap_net_bind_service: false

# 外部 Grafana 地址。变量映射到 grafana 服务器部分的 "root_url"
grafana_url: "http://{{ grafana_address }}:{{ grafana_port }}"
grafana_api_url: "{{ grafana_url }}"
grafana_domain: "{{ ansible_fqdn | default(ansible_host) | default('localhost') }}"

# Grafana "server" 部分的额外选项
grafana_server:
  protocol: http
  enforce_domain: false
  socket: ""
  cert_key: ""
  cert_file: ""
  enable_gzip: false
  static_root_path: public
  router_logging: false
  serve_from_sub_path: false

# 与 grafana.ini 配置文件中的变量相对应
# 安全
grafana_security:
  admin_user: admin
  admin_password: "password"
#  secret_key: ""
#  login_remember_days: 7
#  cookie_username: grafana_user
#  cookie_remember_name: grafana_remember
#  disable_gravatar: true
#  data_source_proxy_whitelist:

# 数据库设置
grafana_database:
  type: sqlite3
#  host: 127.0.0.1:3306
#  name: grafana
#  user: root
#  password: ""
#  url: ""
#  ssl_mode: disable
#  path: grafana.db
#  max_idle_conn: 2
#  max_open_conn: ""
#  log_queries: ""

# 远程缓存
grafana_remote_cache: {}

# 用户管理和注册
grafana_welcome_email_on_sign_up: false
grafana_users:
  allow_sign_up: false
  auto_assign_org_role: Viewer
  default_theme: dark

# Grafana 认证机制
grafana_auth: {}
#  disable_login_form: false
#  oauth_auto_login: false
#  disable_signout_menu: false
#  anonymous:
#    org_name: "Main Organization"
#    org_role: Viewer

grafana_ldap: {}
#  verbose_logging: false
#  servers:
#    host: 127.0.0.1
#    port: 389 # 636 for SSL

grafana_session: {}
#  provider: file
#  provider_config: "sessions"

grafana_analytics: {}
#  reporting_enabled: true

# 设置邮件通知
grafana_smtp: {}

# 启用 Grafana 警报机制
grafana_alerting:
  execute_alerts: true

# Grafana 日志配置
grafana_log:

# 内部 grafana 指标系统
grafana_metrics: {}

# 分布式追踪选项
grafana_tracing: {}

grafana_snapshots: {}

# 外部图像存储
grafana_image_storage: {}

#######
# 来自 https://grafana.com/plugins 的插件
grafana_plugins: []

# 来自 https://grafana.com/dashboards 的仪表板
grafana_dashboards: []

grafana_dashboards_dir: "dashboards"

# 配置的警报通知通道
grafana_alert_notifications: []

# 配置的数据源
grafana_datasources: []

# 配置的 API 密钥
grafana_api_keys: []

# 密钥存储的位置。
grafana_api_keys_dir: "{{ lookup('env', 'HOME') }}/grafana/keys"

grafana_environment: {}

# 面板配置
grafana_panels: {}

要求

已使用角色的状态

以下角色用于准备系统。您可以通过其他方式准备系统。

需求 GitHub 版本
buluma.bootstrap Ansible Molecule 版本

上下文

这个角色是许多兼容角色的一部分。请查看 这些角色的文档 以获取更多信息。

相关角色概览:

依赖

兼容性

此角色在这些 容器镜像 中进行了测试:

容器 标签
Ubuntu 所有
Debian 所有
EL 所有
Fedora 所有

Ansible 的最低要求版本为 2.12,测试已完成于:

  • 之前的版本。
  • 当前版本。
  • 开发版本。

如果您发现问题,请在 GitHub 上注册。

更新日志

角色历史

许可证

Apache-2.0

作者信息

Shadow Walker

关于项目

Grafana - platform for analytics and monitoring

安装
ansible-galaxy install buluma.grafana
许可证
apache-2.0
下载
374
拥有者
DevOps Engineer