mkayontour.influxdb
Ansible InfluxDB
此角色用于安装、管理和配置 InfluxDB,包括数据库和用户。大部分主要发行版应当得到支持。 欢迎提交拉取请求和问题 :)
需求
首先,需要满足两个要求,需要安装 influxdb python 客户端,此角色会处理这一点。
其次,需要安装 pip 来安装 influxdb python 客户端。
角色变量
默认值
默认变量如下所列,每个 influxdb.conf 的配置部分都有自己的变量。
请将管理员密码更改为比默认值更安全的密码:
influxdb_admin_username: admin
influxdb_admin_password: admin
---
influxdb_manage_repository: yes
influxdb_manage_package: yes
influxdb_config_dir: /etc/influxdb
influxdb_config_global:
reporting-disabled: false
bind-address: 127.0.0.1:8086
influxdb_config_graphite:
- enabled: false
tags:
- region=us
- zone=test
influxdb_config_collectd:
- enabled: false
influxdb_config_udp:
- enabled: false
influxdb_config_meta:
dir: /var/lib/influxdb/meta
retention-autocreate: true
logging-enabled: true
influxdb_config_http:
enabled: true
bind-address: :8086
auth-enabled: true
ping-auth-enabled: true
influxdb_config_data:
dir: /var/lib/influxdb/data
wal-dir: /var/lib/influxdb/wal
series-id-set-cache-size: 100
influxdb_admin_username: admin
influxdb_admin_password: admin
请咨询文档中每个配置部分的参数:
influxdb_config_global
全局
influxdb_config_meta
元数据
influxdb_config_data
数据
influxdb_config_http
HTTP
influxdb_config_subscriber
订阅者
influxdb_config_graphite
图形
influxdb_config_monitor
监控
influxdb_config_shard_precreation
分片预创建
influxdb_config_collectd
collectd
influxdb_config_continuous_queries
influxdb_config_tls
influxdb_config_retention
influxdb_config_udp
所有可以定义多次的部分都定义为数组。
以下示例:
influxdb_config_graphite:
- enabled: true
database: graphite
tags:
- region=us
- zone=test
- instance=01
- enabled: true
database: graphite2
tags:
- region=de
- zone=prod
- instance=02
定义数据库
要定义数据库,只需使用以下语法来创建多个:
influxdb_databases:
- name: telegraf-metrics
state: present
- name: graphite
state: present
- name: icinga
state: present
数据库的所有参数如下所列:
influxdb_databases:
- name:
login_password:
login_username:
hostname:
port:
proxies:
retries:
state:
ssl:
timeout:
udp_port:
use_udp:
validate_certs:
定义用户
要定义用户,只需使用以下语法来创建多个:
influxdb_users:
- name: influxadm
password: influxdbadmpass
admin: yes
- name: icinga
admin: no
password: icinga
grants:
- database: 'icinga'
privilege: 'WRITE'
用户的所有参数如下所列:
influxdb_users:
- name: foo
admin: true/false
state: present/absent
password: 'password'
port: 8086
hostname: localhost
login_username: admin
login_password: admin
ssl: true/false
示例剧本
提供一个示例,说明如何使用该角色(例如,将变量作为参数传入)对用户来说也是很有帮助的:
- hosts: influxdb-node1
vars:
influxdb_admin_username: admin
influxdb_admin_password: admin123
influxdb_databases:
- name: telegraf-metrics
state: present
influxdb_users:
- name: telegraf
password: telegraf
grants:
- database: telegraf-metrics
privilege: "WRITE"
roles:
- { role: mkayontour.influxdb }
许可证
Apache-2.0
作者信息
Twitter: @mkayontour