mkayontour.influxdb

构建状态 Ansible 质量分数

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

安装
ansible-galaxy install mkayontour.influxdb
许可证
apache-2.0
下载
23.3k
拥有者
Twitter: @mkayontour