Spec-Zone.ru › Ansible

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

Примечание

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

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

Чтобы установить её, используйте: ansible-galaxy collection install community.grafana.

Чтобы использовать её в плейбуке, укажите: community.grafana.grafana_datasource.

  • Краткое описание
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

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

Параметры

Параметр

Комментарии

access

string

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

Варианты:

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

additional_json_data

dictionary

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

Данные могут быть переопределены параметрами, заданными явно (например, zabbix_user)

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

additional_secure_json_data

dictionary

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

Данные могут быть переопределены параметрами, заданными явно (например, tls_client_cert)

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

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

alertmanager_handle_grafana_alerts

boolean

Следует ли Grafana отправлять оповещения в этот alertmanager.

Варианты:

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

alertmanager_implementation

string

Реализация, которую следует задать для типа источника данных alertmanager.

Варианты:

  • "mimir"
  • "cortex"
  • "prometheus"

aws_access_key

string

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

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

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

aws_assume_role_arn

string

ARN роли AWS IAM, которую следует принять для типа источника данных CloudWatch, когда aws_auth_type — arn

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

aws_auth_type

string

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

Варианты:

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

aws_credentials_profile

string

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

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

aws_custom_metrics_namespaces

string

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

aws_default_region

string

Регион 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_secret_key

string

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

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

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

azure_client

string

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

azure_cloud

string

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

Варианты:

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

azure_secret

string

Секрет клиента приложения для регистрации приложения Azure AD, используемый для аутентификации

azure_tenant

string

Идентификатор каталога/тенанта для регистрации приложения Azure AD, используемый для аутентификации

basic_auth_password

string

Пароль для базовой аутентификации источника данных, когда basic auth — true.

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

basic_auth_user

string

Имя пользователя для базовой аутентификации источника данных.

Задание этого параметра вместе с basic_auth_password включает базовую аутентификацию.

client_cert

path

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

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

client_key

path

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

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

database

string

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

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

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

ds_type

string

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

Обязателен, если state=present.

Варианты:

  • "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"
  • "alertmanager"

ds_url

string

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

Обязателен, если state=present.

enforce_secure_data

boolean

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

Чтобы обновить защищённые данные, необходимо включить этот параметр!

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

Варианты:

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

es_version

string

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

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

Варианты:

  • "2"
  • "5"
  • "56"
  • "60"
  • "70"
  • "7.7+"
  • "7.10+" ← (по умолчанию)
  • "8.0+"

grafana_api_key

string

Ключ API Grafana.

Если задан, url_username и url_password будут проигнорированы.

interval

string

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

Варианты:

  • "" ← (по умолчанию)
  • "Hourly"
  • "Daily"
  • "Weekly"
  • "Monthly"
  • "Yearly"

is_default

boolean

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

Варианты:

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

max_concurrent_shard_requests

integer

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

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

name

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

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

org_id

integer

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

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

Не может использоваться одновременно с org_name.

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

org_name

string

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

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

Не может использоваться одновременно с org_id.

password

string

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

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

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

sslmode

string

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

Варианты:

  • "disable" ← (по умолчанию)
  • "require"
  • "verify-ca"
  • "verify-full"

state

string

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

Варианты:

  • "absent"
  • "present" ← (по умолчанию)

time_field

string

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

Например, @timestamp.

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

time_interval

string

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

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

tls_ca_cert

string

Сертификат центра сертификации TLS для самоподписанных сертификатов.

Используется, только если заданы 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_servername

string

Имя сервера используется для проверки имени хоста в полученном сертификате

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

Пароль для API Zabbix

zabbix_user

string

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

Примечания

Примечание

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

Примеры

---
- 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

dictionary

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

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

Пример: {"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–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/grafana/grafana_datasource_module.html

Spec-Zone.ru

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