Spec-Zone.ru › Ansible

Модуль community.grafana.grafana_datasource – Управление источниками данных Grafana

Примечание

Этот модуль является частью коллекции community.grafana (версия 1.9.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.grafana.

Для использования в playbook укажите: community.grafana.grafana_datasource.

  • Обзор
  • Параметры
  • Примечания
  • Примеры
  • Значения возврата

Обзор

  • Создание/обновление/удаление источников данных Grafana через API.

Параметры

Параметр

Комментарии

доступ

строка

Режим доступа к этому источнику данных.

Варианты:

  • "direct"
  • "proxy" ← (по умолчанию)

дополнительные_данные_json

словарь

Определённые данные используются для jsonData источника данных.

Данные могут быть перезаписаны с помощью специально определённых параметров (например, zabbix_user).

По умолчанию: {}

дополнительные_защищённые_данные_json

словарь

Определённые данные используются для secureJsonData источника данных.

Данные могут быть перезаписаны с помощью специально определённых параметров (например, tls_client_cert).

Хранится как защищённые данные, см. enforce_secure_data и примечания!

По умолчанию: {}

ключ_доступа_aws

строка

Ключ доступа AWS для типа источника данных CloudWatch, когда aws_auth_type равен keys.

Хранится как защищённые данные, см. enforce_secure_data и примечания!

По умолчанию: ""

aws_arn_принятия_роли

строка

AWS IAM роль arn для принятия для типа источника данных CloudWatch, когда aws_auth_type равно arn.

По умолчанию: ""

тип_аутентификации_aws

строка

Тип для аутентификации AWS для типа источника данных CloudWatch (authType API Grafana).

Варианты:

  • "keys" ← (по умолчанию)
  • "credentials"
  • "arn"
  • "default"

профиль_кредитов_aws

строка

Профиль AWS кредитов для типа источника данных CloudWatch, когда aws_auth_type равно credentials.

По умолчанию: ""

пространства_имен_пользовательских_метрик_aws

строка

Пространства имён пользовательских метрик для типа источника данных CloudWatch.

регион_по_умолчанию_aws

строка

AWS регион по умолчанию для типа источника данных CloudWatch.

Варианты:

  • "ap-northeast-1"
  • "ap-northeast-2"
  • "ap-southeast-1"
  • "ap-southeast-2"
  • "ap-south-1"
  • "ca-central-1"
  • "cn-north-1"
  • "cn-northwest-1"
  • "eu-central-1"
  • "eu-west-1"
  • "eu-west-2"
  • "eu-west-3"
  • "sa-east-1"
  • "us-east-1" ← (по умолчанию)
  • "us-east-2"
  • "us-gov-west-1"
  • "us-west-1"
  • "us-west-2"

секретный_ключ_aws

строка

Секретный ключ AWS для типа источника данных CloudWatch, когда aws_auth_type равно keys.

Хранится как защищённые данные, см. enforce_secure_data и примечания!

По умолчанию: ""

клиент_azure

строка

Идентификатор приложения/клиента для регистрации приложения Azure AD для аутентификации.

облако_azure

строка

Национальное облако для вашей учётной записи Azure.

Варианты:

  • "azuremonitor" ← (по умолчанию)
  • "chinaazuremonitor"
  • "govazuremonitor"
  • "germanyazuremonitor"

секрет_azure

строка

Секретный ключ приложения для регистрации приложения Azure AD для аутентификации.

аренда_azure

строка

Идентификатор каталога/аренды для регистрации приложения Azure AD для аутентификации.

пароль_basic_auth

строка

Пароль basic auth источника данных, когда basic auth равно true.

Хранится как защищённые данные, см. enforce_secure_data и примечания!

пользователь_basic_auth

строка

Пользователь basic auth источника данных.

Установка этого параметра вместе с basic_auth_password включит basic auth.

сертификат_клиента

путь

Файл цепочки сертификатов в формате PEM для аутентификации SSL клиента.

Этот файл также может содержать ключ, и если ключ включён, ключ_клиента не требуется.

ключ_клиента

путь

Файл в формате PEM, содержащий ваш закрытый ключ для аутентификации SSL клиента.

Если сертификат_клиента содержит как сертификат, так и ключ, этот параметр не требуется.

database

string

Имя базы данных для источника данных.

Эта опция обязательна, когда ds_type есть influxdb, elasticsearch (имя индекса), mysql или postgres.

Default: ""

ds_type

string

Тип источника данных.

Обязательно, когда state=present.

Choices:

  • "graphite"
  • "prometheus"
  • "elasticsearch"
  • "influxdb"
  • "opentsdb"
  • "mysql"
  • "postgres"
  • "cloudwatch"
  • "alexanderzobnin-zabbix-datasource"
  • "grafana-azure-monitor-datasource"
  • "sni-thruk-datasource"
  • "camptocamp-prometheus-alertmanager-datasource"
  • "loki"
  • "redis-datasource"
  • "tempo"
  • "quickwit-quickwit-datasource"

ds_url

string

URL источника данных.

Обязательно, когда state=present.

enforce_secure_data

boolean

Защищенные данные по умолчанию не обновляются (см. примечания!).

Для обновления защищенных данных необходимо включить эту опцию!

При включении этой опции задача всегда будет сообщать changed=True

Choices:

  • false ← (default)
  • true

es_version

string

Версия Elasticsearch (только для ds_type = elasticsearch).

Версия 56 предназначена для Elasticsearch 5.6+, где можно указать опцию max_concurrent_shard_requests.

Choices:

  • "2"
  • "5"
  • "56"
  • "60"
  • "70"
  • "7.7+"
  • "7.10+" ← (default)
  • "8.0+"

grafana_api_key

string

Ключ API Grafana.

Если установлен, url_username и url_password будут игнорироваться.

interval

string

Для Elasticsearch ds_type, это используемый шаблон индекса.

Choices:

  • "" ← (default)
  • "Hourly"
  • "Daily"
  • "Weekly"
  • "Monthly"
  • "Yearly"

is_default

boolean

Сделать этот источник данных источником по умолчанию.

Choices:

  • false ← (default)
  • true

max_concurrent_shard_requests

integer

Начиная с Elasticsearch 5.6, можно указать максимальное количество одновременных запросов на шард.

Default: 256

name

string / required

Имя источника данных.

org_id

integer

Идентификатор организации Grafana, в которой должен быть создан источник данных.

Не используется, когда установлен grafana_api_key, поскольку grafana_api_key принадлежит только одной организации.

Взаимоисключающая опция с org_name.

Default: 1

org_name

string

Имя организации Grafana, в которой должен быть создан источник данных.

Не используется, когда установлен grafana_api_key, поскольку grafana_api_key принадлежит только одной организации.

Взаимоисключающая опция с org_id.

password

string

Пароль источника данных.

Сохраняется как защищенные данные, см. enforce_secure_data и примечания!

Default: ""

sslmode

string

Режим SSL для типа источника данных postgres.

Choices:

  • "disable" ← (default)
  • "require"
  • "verify-ca"
  • "verify-full"

state

string

Статус источника данных

Choices:

  • "absent"
  • "present" ← (default)

time_field

string

Имя поля времени в источнике данных Elasticsearch.

Например @timestamp.

Default: "@timestamp"

time_interval

string

Минимальный интервал группировки для источников данных influxdb, elasticsearch или prometheus.

Например >10s.

tls_ca_cert

string

Сертификат TLS CA для самозаверяющих сертификатов.

Используется только тогда, когда tls_client_cert и tls_client_key установлены.

Хранится как защищённые данные, см. enforce_secure_data и примечания!

tls_client_cert

string

Клиентский сертификат TLS.

Если tls_client_cert и tls_client_key установлены, это включит аутентификацию TLS.

Начинается с —– BEGIN CERTIFICATE —–

Хранится как защищённые данные, см. enforce_secure_data и примечания!

tls_client_key

string

Закрытый ключ TLS клиента

Начинается с —– BEGIN RSA PRIVATE KEY —–

Хранится как защищённые данные, см. enforce_secure_data и примечания!

tls_skip_verify

boolean

Пропускать проверку сертификата источника данных TLS.

Варианты:

  • false ← (по умолчанию)
  • true

trends

boolean

Использовать тренды или нет для типа источника данных zabbix.

Варианты:

  • false ← (по умолчанию)
  • true

tsdb_resolution

string

Разрешение времени opentsdb.

Варианты:

  • "millisecond"
  • "second" ← (по умолчанию)

tsdb_version

integer

Версия opentsdb.

Используйте 1 для <=2.1, 2 для ==2.2, 3 для ==2.3.

Варианты:

  • 1 ← (по умолчанию)
  • 2
  • 3

uid

string

UID источника данных.

url

псевдонимы: grafana_url

string / обязательно

URL Grafana.

url_password

псевдонимы: grafana_password

string

Пароль Grafana для аутентификации API.

По умолчанию: "admin"

url_username

псевдонимы: grafana_user

string

Пользователь Grafana для аутентификации API.

По умолчанию: "admin"

use_proxy

boolean

Если false, прокси использоваться не будет, даже если он определён в переменной окружения на целевых хостах.

Варианты:

  • false
  • true ← (по умолчанию)

user

string

Пользователь для входа в источник данных для источников данных influxdb.

По умолчанию: ""

validate_certs

boolean

Если false, SSL-сертификаты проверяться не будут.

Это должно быть установлено в false только на лично контролируемых сайтах, использующих самозаверяющие сертификаты.

Варианты:

  • false
  • true ← (по умолчанию)

with_credentials

boolean

Следует ли отправлять учетные данные, такие как cookie или заголовки авторизации, с межсайтовыми запросами.

Варианты:

  • false ← (по умолчанию)
  • true

zabbix_password

string

Пароль для Zabbix API

zabbix_user

string

Пользователь для Zabbix API

Примечания

Примечание

  • Защищённые данные будут зашифрованы API Grafana, поэтому их нельзя сравнивать на последующих запусках. Чтобы обойти это, защищённые данные не будут обновляться после первоначального создания! Чтобы принудительно обновить защищённые данные, необходимо установить enforce_secure_data=True.
  • Подсказка: с enforce_secure_data всегда сообщающим changed=True, вы можете просто выполнить одну задачу обновления источника данных без каких-либо защищённых данных и создать отдельный playbook/задачу, также изменяющую защищённые данные. Таким образом, это не нарушит ни один рабочий процесс.

Примеры

---
- name: Create elasticsearch datasource
  community.grafana.grafana_datasource:
    name: "datasource-elastic"
    grafana_url: "https://grafana.company.com"
    grafana_user: "admin"
    grafana_password: "xxxxxx"
    org_id: "1"
    ds_type: "elasticsearch"
    ds_url: "https://elastic.company.com:9200"
    database: "[logstash_]YYYY.MM.DD"
    basic_auth_user: "grafana"
    basic_auth_password: "******"
    time_field: "@timestamp"
    time_interval: "1m"
    interval: "Daily"
    es_version: 56
    max_concurrent_shard_requests: 42
    tls_ca_cert: "/etc/ssl/certs/ca.pem"

- name: Create influxdb datasource
  community.grafana.grafana_datasource:
    name: "datasource-influxdb"
    grafana_url: "https://grafana.company.com"
    grafana_user: "admin"
    grafana_password: "xxxxxx"
    org_id: "1"
    ds_type: "influxdb"
    ds_url: "https://influx.company.com:8086"
    database: "telegraf"
    time_interval: ">10s"
    tls_ca_cert: "/etc/ssl/certs/ca.pem"

- name: Create influxdbv2 datasource using fluxql
  community.grafana.grafana_datasource:
    name: "datasource-influxdb-flux"
    grafana_url: "https://grafana.company.com"
    grafana_user: "admin"
    grafana_password: "xxxxxx"
    org_id: "1"
    ds_type: "influxdb"
    ds_url: "https://influx.company.com:8086"
    additional_json_data:
      version: "Flux"
      organization: "organization"
      defaultBucket: "bucket"
      tlsSkipVerify: false
    additional_secure_json_data:
      token: "token"

- name: Create postgres datasource
  community.grafana.grafana_datasource:
    name: "datasource-postgres"
    grafana_url: "https://grafana.company.com"
    grafana_user: "admin"
    grafana_password: "xxxxxx"
    org_id: "1"
    ds_type: "postgres"
    ds_url: "postgres.company.com:5432"
    database: "db"
    user: "postgres"
    sslmode: "verify-full"
    additional_json_data:
      postgresVersion: 12
      timescaledb: false
    additional_secure_json_data:
      password: "iampgroot"

- name: Create cloudwatch datasource
  community.grafana.grafana_datasource:
    name: "datasource-cloudwatch"
    grafana_url: "https://grafana.company.com"
    grafana_user: "admin"
    grafana_password: "xxxxxx"
    org_id: "1"
    ds_type: "cloudwatch"
    ds_url: "http://monitoring.us-west-1.amazonaws.com"
    aws_auth_type: "keys"
    aws_default_region: "us-west-1"
    aws_access_key: "speakFriendAndEnter"
    aws_secret_key: "mel10n"
    aws_custom_metrics_namespaces: "n1,n2"

- name: grafana - add thruk datasource
  community.grafana.grafana_datasource:
    name: "datasource-thruk"
    grafana_url: "https://grafana.company.com"
    grafana_user: "admin"
    grafana_password: "xxxxxx"
    org_id: "1"
    ds_type: "sni-thruk-datasource"
    ds_url: "https://thruk.company.com/sitename/thruk"
    basic_auth_user: "thruk-user"
    basic_auth_password: "******"

# handle secure data - workflow example
# this will create/update the datasource but dont update the secure data on updates
# so you can assert if all tasks are changed=False
- name: create prometheus datasource
  community.grafana.grafana_datasource:
    name: openshift_prometheus
    ds_type: prometheus
    ds_url: https://openshift-monitoring.company.com
    access: proxy
    tls_skip_verify: true
    additional_json_data:
      httpHeaderName1: "Authorization"
    additional_secure_json_data:
      httpHeaderValue1: "Bearer ihavenogroot"

# in a separate task or even play you then can force to update
# and assert if each datasource is reporting changed=True
- name: update prometheus datasource
  community.grafana.grafana_datasource:
    name: openshift_prometheus
    ds_type: prometheus
    ds_url: https://openshift-monitoring.company.com
    access: proxy
    tls_skip_verify: true
    additional_json_data:
      httpHeaderName1: "Authorization"
    additional_secure_json_data:
      httpHeaderValue1: "Bearer ihavenogroot"
    enforce_secure_data: true

Значения возврата

Общие значения возврата документированы здесь, следующие — поля, уникальные для этого модуля:

Ключ

Описание

datasource

словарь

источник данных, созданный/обновленный модулем

Возвращено: изменилось

Пример: {"access": "proxy", "basicAuth": false, "database": "test_*", "id": 1035, "isDefault": false, "jsonData": {"esVersion": 5, "timeField": "@timestamp", "timeInterval": "10s"}, "name": "grafana_datasource_test", "orgId": 1, "password": "", "secureJsonFields": {"JustASecureTest": true}, "type": "elasticsearch", "url": "http://elastic.company.com:9200", "user": "", "withCredentials": false}

Авторы

  • Thierry Sallé (@seuf)
  • Martin Wang (@martinwangjian)
  • Rémi REY (@rrey)

Ссылки на сборку

  • Отслеживание проблем
  • Главная страница
  • Репозиторий (источники)

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/grafana/grafana_datasource_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API