grafana_datasource - Manage Grafana datasources¶
New in version 2.5.
Parameters¶
Parameter | Choices/Defaults | Comments |
---|---|---|
access |
|
The access mode for this datasource.
|
basic_auth_password |
The datasource basic auth password, when
basic auth is yes . |
|
basic_auth_user |
The datasource basic auth user.
Setting this option with basic_auth_password will enable basic auth.
|
|
database |
Name of the database for the datasource.
This options is required when the
ds_type is influxdb , elasticsearch (index name), mysql or postgres . |
|
ds_type
required |
|
The type of the datasource.
|
es_version |
|
Elasticsearch version (for
ds_type = elasticsearch only)Version 56 is for elasticsearch 5.6+ where tou can specify the
max_concurrent_shard_requests option. |
grafana_api_key |
The Grafana API key.
If set,
grafana_user and grafana_password will be ignored. |
|
grafana_password |
Default: admin
|
The Grafana API password.
|
grafana_url
required |
The Grafana URL.
|
|
grafana_user |
Default: admin
|
The Grafana API user.
|
interval |
|
For elasticsearch
ds_type , this is the index pattern used. |
is_default
bool |
|
Make this datasource the default one.
|
max_concurrent_shard_requests |
Default: 256
|
Starting with elasticsearch 5.6, you can specify the max concurrent shard per requests.
|
name
required |
The name of the datasource.
|
|
org_id |
Default: 1
|
Grafana Organisation ID in which the datasource should be created.
Not used when
grafana_api_key is set, because the grafana_api_key only belong to one organisation. |
password |
The datasource password
|
|
sslmode |
|
SSL mode for
postgres datasoure type. |
state |
|
Status of the datasource
|
time_field |
Default: timestamp
|
Name of the time field in elasticsearch ds.
For example
@timestamp |
time_interval |
Minimum group by interval for
influxdb or elasticsearch datasources.for example
>10s |
|
tls_ca_cert |
The TLS CA certificate for self signed certificates.
Only used when
tls_client_cert and tls_client_key are set. |
|
tls_client_cert |
The client TLS certificate.
If
tls_client_cert and tls_client_key are set, this will enable TLS authentication.Starts with ----- BEGIN CERTIFICATE -----
|
|
tls_client_key |
The client TLS private key
Starts with ----- BEGIN RSA PRIVATE KEY -----
|
|
tls_skip_verify
bool (added in 2.6) |
|
Skip the TLS datasource certificate verification.
|
trends
bool (added in 2.6) |
|
Use trends or not for zabbix datasource type
|
tsdb_resolution |
|
The opentsdb time resolution.
|
tsdb_version |
|
The opentsdb version.
Use
1 for <=2.1, 2 for ==2.2, 3 for ==2.3. |
url
required |
The URL of the datasource.
|
|
user |
The datasource login user for influxdb datasources.
|
|
validate_certs
bool |
|
Whether to validate the Grafana certificate.
|
with_credentials
bool |
|
Whether credentials such as cookies or auth headers should be sent with cross-site requests.
|
Examples¶
---
- name: Create elasticsearch datasource
grafana_datasource:
name: "datasource-elastic"
grafana_url: "https://grafana.company.com"
grafana_user: "admin"
grafana_password: "xxxxxx"
org_id: "1"
ds_type: "elasticisearch"
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
grafana_datasource:
name: "datasource-influxdb"
grafana_url: "https://grafana.company.com"
grafana_user: "admin"
grafana_password: "xxxxxx"
org_id: "1"
ds_type: "influxdb"
url: "https://influx.company.com:8086"
database: "telegraf"
time_interval: ">10s"
tls_ca_cert: "/etc/ssl/certs/ca.pem"
Return Values¶
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
after
dict
|
changed |
datasource updated by module
Sample:
{'name': 'grafana_datasource_test', 'database': 'test_*', 'url': 'http://elastic.company.com:9200', 'basicAuth': False, 'jsonData': {'timeField': '@timestamp', 'esVersion': 5, 'timeInterval': '10s'}, 'access': 'proxy', 'orgId': 1, 'user': '', 'password': '', 'type': 'elasticsearch', 'id': 1035, 'isDefault': False, 'withCredentials': False}
|
before
dict
|
changed |
datasource returned by grafana api
Sample:
{'name': 'grafana_datasource_test', 'database': 'test_*', 'url': 'http://elastic.company.com:9200', 'basicAuth': False, 'jsonData': {'timeField': '@timestamp', 'esVersion': 5, 'timeInterval': '1m'}, 'access': 'proxy', 'orgId': 1, 'user': '', 'password': '', 'type': 'elasticsearch', 'id': 1035, 'isDefault': False, 'withCredentials': False}
|
id
int
|
success |
Id of the datasource
Sample:
42
|
name
string
|
success |
name of the datasource created.
Sample:
test-ds
|
Status¶
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
Maintenance¶
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
Author¶
- Thierry Sallé (@seuf)
Hint
If you notice any issues in this documentation you can edit this document to improve it.