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)