mediafellows.influxdb
Ansible InfluxDB 服务器角色
此角色用于设置完整的 TICK 栈服务器(不安装 Telegraf)。它将安装完整的 InfluxDB、Chronograf 和 Kapacitor 的环境。
该角色的目标是接收来自 Telegraf 代理的度量数据,并将其存储在 InfluxDB 中,以便通过 Chronograf 和 Kapacitor 在同一主机上进行监控和警报。Chronograf 将配置为使用 GitHub OAuth 来防止公开访问。
如果您还想安装 Telegraf,可以使用单独的角色 mediafellows.telegraf,可以在您想要监控的所有机器上使用。
要求
操作系统需要 Ubuntu 16.04 或更高版本。其他发行版也应该可以,但它们的 apt 仓库中应提供 python-influxdb
包。此包是 Ansible influxdb 模块所需的依赖。
如果您使用的 Ansible 版本低于 2.6,您可能还需要将 influxdb 模块添加到 Ansible 项目的库目录(通常是 ./library/
)。可以在 https://github.com/ansible/ansible/tree/devel/lib/ansible/modules/database/influxdb 找到这些模块。
还要打开 8888 端口以将 Chronograf 暴露给外部,或者如果您更改了配置或在其前面放置了 Web 服务器(反向代理),则可以使用其他端口。
角色变量
您应该更改的角色变量:
chronograf_public_url: https://some-url.com
- 可公开访问的 Chronograf 设置 URL。influxdb_admin_pw: secret_pw
- 设置自己的 InfluxDB 管理员密码。influxdb_chronograf_pw: secret_pw
- 设置自己的 InfluxDB Chronograf 用户密码(用于读取数据)。influxdb_telegraf_pw: secret_pw
- 设置自己的 InfluxDB Telegraf 用户密码(用于接收数据)。influxdb_chronograf_oauth_secret: abc123def
- 用作加密盐的随机字符串。influxdb_chronograf_oauth_github_id: abc123
- 创建 OAuth 应用后由 GitHub 提供的应用 ID。influxdb_chronograf_oauth_github_secret: abc123
- 由 GitHub 提供的 OAuth 应用密钥。influxdb_chronograf_oauth_github_org: myorg
- 限制为您的 GitHub 组织,确保您的 OAuth 应用由该组织拥有。
您可以选择更改更多参数,详细信息请查看 defaults/main.yml
。
一些用于从现有数据库备份恢复状态的有用变量:
influxdb_meta_backup: /some/path/to/influxdb_backup/meta.00
- 本地 InfluxDB 元数据库备份文件的路径,将被复制到 InfluxDB 实例并恢复。将替换所有其他数据库设置(用户、表等)。influxdb_chronograf_db_backup: /some/path/chronograf-v1.db
- 本地 Chronograf 设置数据库文件的路径。通常包含 Influx 源和 Chronograf 身份验证用户等设置。influxdb_kapacitor_db_backup: /some/path/kapacitor.db
- 本地 Kapacitor 设置数据库文件的路径。通常包含警报设置/TICK 脚本等。
依赖
不依赖其他角色。
示例剧本
将角色集成到您的剧本中的示例:
- hosts: servers
become: true
vars:
influxdb_port: 123
roles:
- mediafellows.influxdb
tasks:
# 其他任务
许可证
BSD,按原样提供。
作者信息
Stefan Horning stefan.horning@mediafellows.com
Role to setting up a InfluxDB / TICK monitoring server
ansible-galaxy install mediafellows.influxdb