Spec-Zone.ru › Ansible 2.11

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

Примечание

Этот плагин входит в коллекцию community.grafana (версия 1.1.0).

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

Чтобы использовать его в книге задач, укажите: community.grafana.grafana_datasource.

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

Обзор

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
access
строка
    Варианты:
  • direct
  • proxy ←
Режим доступа для этого источника данных.
additional_json_data
словарь
Значение по умолчанию:
{}
Определённые данные используются для jsonData источника данных.
Данные могут быть перезаписаны специально определёнными параметрами (например, zabbix_user).
additional_secure_json_data
словарь
Значение по умолчанию:
{}
Определённые данные используются для secureJsonData источника данных.
Данные могут быть перезаписаны специально определёнными параметрами (например, tls_client_cert).
Хранится как защищённые данные, см. enforce_secure_data и примечания!
aws_access_key
строка
Значение по умолчанию:
""
Ключ доступа AWS для типа источника данных CloudWatch, когда aws_auth_type равен keys.
aws_assume_role_arn
строка
Значение по умолчанию:
""
ARN роли AWS IAM для принятия роли для типа источника данных CloudWatch, когда aws_auth_type равен arn.
aws_auth_type
строка
    Варианты:
  • keys ←
  • credentials
  • arn
Тип для аутентификации AWS для типа источника данных CloudWatch (authType API Grafana).
aws_credentials_profile
строка
Значение по умолчанию:
""
Профиль для AWS credentials для типа источника данных CloudWatch, когда aws_auth_type равен credentials.
aws_custom_metrics_namespaces
строка
Значение по умолчанию:
""
Имена пространств пользовательских метрик для типа источника данных CloudWatch.
aws_default_region
строка
    Варианты:
  • 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 по умолчанию для типа источника данных CloudWatch.
aws_secret_key
строка
Значение по умолчанию:
""
Секретный ключ AWS для типа источника данных CloudWatch, когда aws_auth_type равен keys.
basic_auth_password
строка
Пароль для аутентификации basic auth источника данных, когда basic auth равен yes.
basic_auth_user
строка
Пользователь для аутентификации basic auth источника данных.
Установка этого параметра вместе с basic_auth_password включит basic auth.
client_cert
путь
Файл цепочки сертификатов в формате PEM для аутентификации клиента SSL.
Этот файл также может содержать ключ, и если ключ включён, client_key не требуется.
client_key
путь
Файл в формате PEM, содержащий ваш закрытый ключ для аутентификации клиента SSL.
Если client_cert содержит как сертификат, так и ключ, этот параметр не требуется.
database
строка
Имя базы данных для источника данных.
Этот параметр обязателен, когда ds_type равен influxdb, elasticsearch (имя индекса), mysql или postgres.
ds_type
строка / обязательно
    Варианты:
  • graphite
  • prometheus
  • elasticsearch
  • influxdb
  • opentsdb
  • mysql
  • postgres
  • cloudwatch
  • alexanderzobnin-zabbix-datasource
  • sni-thruk-datasource
  • camptocamp-prometheus-alertmanager-datasource
  • loki
Тип источника данных.
ds_url
строка / обязательно
URL источника данных.
enforce_secure_data
булево
    Варианты:
  • no ←
  • yes
Защищённые данные не обновляются по умолчанию (см. примечания!).
Чтобы обновить защищённые данные, необходимо включить этот параметр!
Включив его, задача всегда будет сообщать changed=True
es_version
целое число
    Варианты:
  • 2
  • 5
  • 56
  • 60
  • 70
Значение по умолчанию:
5
Версия Elasticsearch (только для ds_type = elasticsearch).
Версия 56 предназначена для Elasticsearch 5.6+ где можно указать параметр max_concurrent_shard_requests.
grafana_api_key
строка
Ключ API Grafana.
Если задан, url_username и url_password будут проигнорированы.
interval
строка
    Варианты:
  • Час
  • День
  • Неделя
  • Месяц
  • Год
Для elasticsearch ds_type, это шаблон индекса, который используется.
is_default
булево
    Варианты:
  • no ←
  • yes
Сделать этот источник данных по умолчанию.
max_concurrent_shard_requests
целое число
Значение по умолчанию:
256
Начиная с Elasticsearch 5.6, вы можете указать максимальное количество одновременных запросов к фрагментам.
name
строка / обязательно
Название источника данных.
org_id
целое число
Значение по умолчанию:
1
Идентификатор организации Grafana, в которой должен быть создан источник данных.
Не используется, когда grafana_api_key задано, так как grafana_api_key принадлежит только одной организации.
password
строка
Пароль для входа в источник данных.
Для зашифрованного пароля используйте additional_secure_json_data.password.
sslmode
строка
    Варианты:
  • disable ←
  • require
  • verify-ca
  • verify-full
Режим SSL для postgres типа источника данных.
state
строка
    Варианты:
  • absent
  • present ←
Статус источника данных
time_field
строка
Значение по умолчанию:
"@timestamp"
Имя поля времени в источнике данных elasticsearch.
Например @timestamp.
time_interval
строка
Минимальный интервал группировки для influxdb или elasticsearch источников данных.
Например >10s.
tls_ca_cert
строка
Сертификат TLS CA для самозаверенных сертификатов.
Используется только когда tls_client_cert и tls_client_key установлены.
Хранится как защищённые данные, см. enforce_secure_data и примечания!
tls_client_cert
строка
Сертификат клиента TLS.
Если tls_client_cert и tls_client_key установлены, это включит TLS аутентификацию.
Начинается с ----- BEGIN CERTIFICATE -----
Хранится как защищённые данные, см. enforce_secure_data и примечания!
tls_client_key
строка
Закрытый ключ клиента TLS
Начинается с ----- BEGIN RSA PRIVATE KEY -----
Хранится как защищённые данные, см. enforce_secure_data и примечания!
tls_skip_verify
булево
    Варианты:
  • no ←
  • yes
Пропустить проверку сертификата TLS источника данных.
trends
булево
    Варианты:
  • no
  • yes
Использовать тренды или нет для типа источника данных zabbix.
tsdb_resolution
строка
    Варианты:
  • millisecond
  • second ←
Разрешение времени opentsdb.
tsdb_version
целое число
    Варианты:
  • 1
  • 2
  • 3
Значение по умолчанию:
1
Версия opentsdb.
Использовать 1 для <=2.1, 2 для ==2.2, 3 для ==2.3.
url
строка / обязательно
URL Grafana.

псевдонимы: grafana_url
url_password
строка
Значение по умолчанию:
"admin"
Пароль Grafana для аутентификации API.

псевдонимы: grafana_password
url_username
строка
Значение по умолчанию:
"admin"
Пользователь Grafana для аутентификации API.

псевдонимы: grafana_user
use_proxy
булево
    Варианты:
  • no
  • yes ←
Если no, прокси не будет использоваться, даже если он определён в переменной среды на целевых хостах.
user
строка
Логин пользователя для входа в источник данных influxdb.
END_OF_DOCUMENT_MARKER
validate_certs
boolean
    Выборы:
  • нет
  • да ←
Если no, сертификаты SSL не будут проверены.
Это следует устанавливать только для no, используемых на сайтах, контролируемых лично, с использованием самозаверенных сертификатов.
with_credentials
boolean
    Выборы:
  • нет ←
  • да
Следует ли отправлять учетные данные, такие как куки или заголовки аутентификации, вместе с межсайтовыми запросами.
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 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:
      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
changed
Источник данных, созданный/обновленный модулем

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

Spec-Zone.ru

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