community.general.influxdb_retention_policy 模块 – 管理 InfluxDB 保留策略

注意

此模块是 community.general 集合(版本 10.1.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.general。您需要进一步的要求才能使用此模块,有关详细信息,请参阅要求

要在 playbook 中使用它,请指定:community.general.influxdb_retention_policy

概要

  • 管理 InfluxDB 保留策略。

要求

执行此模块的主机需要以下要求。

  • influxdb >= 0.9

  • requests

参数

参数

注释

database_name

字符串 / 必需

数据库的名称。

default

布尔值

将保留策略设置为默认保留策略。

选项

  • false ←(默认)

  • true

duration

字符串

确定 InfluxDB 应保留数据的时间长度。 如果指定,它应该是 INF 或至少一小时。 如果未指定,则假定为 INF。 支持具有多个单位的复杂持续时间表达式。

仅当 state 设置为 present 时才需要。

hostname

字符串

InfluxDB 服务器正在侦听的主机名或 IP 地址。

默认值: "localhost"

password

别名: login_password

字符串

将用于对 InfluxDB 服务器进行身份验证的密码。

默认值: "root"

path

字符串

在 community.general 0.2.0 中添加

InfluxDB 服务器可访问的路径。

仅在使用 python-influxdb >= 5.1.0 时可用。

默认值: ""

policy_name

字符串 / 必需

保留策略的名称。

port

整数

InfluxDB 服务器正在侦听的端口。

默认值: 8086

proxies

字典

用于请求连接到 InfluxDB 服务器的 HTTP(S) 代理。

默认值: {}

replication

整数

确定在群集中存储的每个点的独立副本数量。

仅当 state 设置为 present 时才需要。

retries

整数

客户端在中止之前将尝试的重试次数。

0 表示尝试直到成功。

仅在使用 python-influxdb >= 4.1.0 时可用。

默认值: 3

shard_group_duration

字符串

在 community.general 2.0.0 中添加

确定分片组覆盖的时间范围。 如果指定,则必须至少一小时。 如果没有,则由 InfluxDB 根据保留策略的持续时间确定。 支持具有多个单位的复杂持续时间表达式。

ssl

布尔值

使用 https 而不是 http 连接到 InfluxDB 服务器。

选项

  • false ←(默认)

  • true

state

字符串

在 community.general 3.1.0 中添加

保留策略的状态。

选项

  • "absent"

  • "present" ←(默认)

timeout

整数

请求将等待客户端建立连接的秒数。

udp_port

整数

用于连接到 InfluxDB 服务器的 UDP 端口。

默认值: 4444

use_udp

布尔值

使用 UDP 连接到 InfluxDB 服务器。

选项

  • false ←(默认)

  • true

username

别名: login_username

字符串

将用于对 InfluxDB 服务器进行身份验证的用户名。

默认值: "root"

validate_certs

布尔值

如果设置为 false,则不会验证 SSL 证书。

此项应仅在个人控制的使用自签名证书的站点上设置为 false

选项

  • false

  • true ← (默认)

属性

属性

支持

描述

check_mode

支持: 完全

可以在 check_mode 下运行并返回更改状态预测,而无需修改目标。

diff_mode

支持:

在 diff 模式下,将返回已更改(或可能需要在 check_mode 中更改)的详细信息。

示例

# Example influxdb_retention_policy command from Ansible Playbooks
- name: Create 1 hour retention policy
  community.general.influxdb_retention_policy:
      hostname: "{{ influxdb_ip_address }}"
      database_name: "{{ influxdb_database_name }}"
      policy_name: test
      duration: 1h
      replication: 1
      ssl: true
      validate_certs: true
      state: present

- name: Create 1 day retention policy with 1 hour shard group duration
  community.general.influxdb_retention_policy:
      hostname: "{{ influxdb_ip_address }}"
      database_name: "{{ influxdb_database_name }}"
      policy_name: test
      duration: 1d
      replication: 1
      shard_group_duration: 1h
      state: present

- name: Create 1 week retention policy with 1 day shard group duration
  community.general.influxdb_retention_policy:
      hostname: "{{ influxdb_ip_address }}"
      database_name: "{{ influxdb_database_name }}"
      policy_name: test
      duration: 1w
      replication: 1
      shard_group_duration: 1d
      state: present

- name: Create infinite retention policy with 1 week of shard group duration
  community.general.influxdb_retention_policy:
      hostname: "{{ influxdb_ip_address }}"
      database_name: "{{ influxdb_database_name }}"
      policy_name: test
      duration: INF
      replication: 1
      ssl: false
      shard_group_duration: 1w
      state: present

- name: Create retention policy with complex durations
  community.general.influxdb_retention_policy:
      hostname: "{{ influxdb_ip_address }}"
      database_name: "{{ influxdb_database_name }}"
      policy_name: test
      duration: 5d1h30m
      replication: 1
      ssl: false
      shard_group_duration: 1d10h30m
      state: present

- name: Drop retention policy
  community.general.influxdb_retention_policy:
      hostname: "{{ influxdb_ip_address }}"
      database_name: "{{ influxdb_database_name }}"
      policy_name: test
      state: absent

作者

  • Kamil Szczygiel (@kamsz)