1
0
Fork 0
formula-grafana/README.rst

375 lines
8.3 KiB
ReStructuredText
Raw Normal View History

2014-02-24 15:48:29 -05:00
2015-12-04 10:43:48 -05:00
=======
Grafana
=======
2014-02-24 15:48:29 -05:00
A beautiful, easy to use and feature rich Graphite dashboard replacement and graph editor.
2016-10-22 11:32:35 -04:00
2015-12-08 05:20:02 -05:00
Sample pillars
==============
2014-02-24 15:48:29 -05:00
2016-10-22 11:32:35 -04:00
2016-10-21 18:36:50 -04:00
Server deployments
------------------
Server installed from system package and listening on 1.2.3.4:3000 (the default
is 0.0.0.0:3000)
2016-10-21 18:36:50 -04:00
.. code-block:: yaml
grafana:
server:
enabled: true
bind:
address: 1.2.3.4
port: 3000
2016-10-21 18:36:50 -04:00
admin:
user: admin
password: passwd
database:
2018-05-07 08:27:13 -04:00
engine: sqlite3
2016-10-21 18:36:50 -04:00
Server installed with PostgreSQL database
.. code-block:: yaml
2014-03-03 14:46:34 -05:00
grafana:
server:
enabled: true
2016-10-21 18:36:50 -04:00
admin:
user: admin
password: passwd
2015-12-08 04:43:59 -05:00
database:
engine: postgresql
2014-03-03 14:46:34 -05:00
host: localhost
2015-12-08 04:43:59 -05:00
port: 5432
2016-10-21 18:36:50 -04:00
name: grafana
user: grafana
password: passwd
Server installed with LDAP authentication and all authenticated users are
administrators
.. code-block:: yaml
grafana:
server:
enabled: true
admin:
user: admin
password: passwd
auth:
ldap:
enabled: true
host: '127.0.0.1'
port: 389
use_ssl: false
bind_dn: "cn=admin,dc=grafana,dc=org"
bind_password: "grafana"
user_search_filter: "(cn=%s)"
user_search_base_dns:
- "dc=grafana,dc=org"
Server installed with LDAP and basic authentication
.. code-block:: yaml
grafana:
server:
enabled: true
admin:
user: admin
password: passwd
auth:
basic:
enabled: true
ldap:
enabled: true
host: '127.0.0.1'
port: 389
use_ssl: false
bind_dn: "cn=admin,dc=grafana,dc=org"
bind_password: "grafana"
user_search_filter: "(cn=%s)"
user_search_base_dns:
- "dc=grafana,dc=org"
Server installed with LDAP for authentication and authorization
.. code-block:: yaml
grafana:
server:
enabled: true
admin:
user: admin
password: passwd
auth:
ldap:
enabled: true
host: '127.0.0.1'
port: 389
use_ssl: false
bind_dn: "cn=admin,dc=grafana,dc=org"
bind_password: "grafana"
user_search_filter: "(cn=%s)"
user_search_base_dns:
- "dc=grafana,dc=org"
group_search_filter: "(&(objectClass=posixGroup)(memberUid=%s))"
group_search_base_dns:
- "ou=groups,dc=grafana,dc=org"
authorization:
enabled: true
admin_group: "admins"
editor_group: "editors"
viewer_group: "viewers"
Server installed with default StackLight JSON dashboards. This will
be replaced by the possibility for a service to provide its own dashboard
using salt-mine.
.. code-block:: yaml
grafana:
server:
enabled: true
dashboards:
enabled: true
path: /var/lib/grafana/dashboards
Server with theme overrides
.. code-block:: yaml
grafana:
server:
enabled: true
theme:
light:
css_override:
source: http://path.to.theme
source_hash: sha256=xyz
build: xyz
dark:
css_override:
source: salt://path.to.theme
Server with two additionals plugins. It requires to have access to the Internet.
.. code-block:: yaml
grafana:
server:
enabled: true
plugins:
grafana-piechart-panel:
enabled: true
grafana-example-app:
enabled: true
2016-10-22 11:32:35 -04:00
2016-10-22 06:30:30 -04:00
Collector setup
---------------
2016-10-22 11:32:35 -04:00
Used to aggregate dashboards from monitoring node.
2016-10-22 06:30:30 -04:00
.. code-block:: yaml
grafana:
collector:
enabled: true
2016-10-21 18:36:50 -04:00
Client setups
-------------
Client with token based auth
2016-10-21 18:36:50 -04:00
.. code-block:: yaml
grafana:
client:
enabled: true
server:
protocol: https
host: grafana.host
port: 3000
token: token
Client with base auth
.. code-block:: yaml
grafana:
client:
enabled: true
server:
protocol: https
host: grafana.host
port: 3000
user: admin
password: password
Client enforcing graphite data source
.. code-block:: yaml
grafana:
client:
enabled: true
2016-10-21 18:36:50 -04:00
datasource:
graphite:
type: graphite
host: mtr01.domain.com
protocol: https
2015-12-08 04:43:59 -05:00
port: 443
Client enforcing elasticsearch data source
.. code-block:: yaml
grafana:
client:
enabled: true
datasource:
2016-10-21 18:36:50 -04:00
elasticsearch:
type: elasticsearch
host: log01.domain.com
2015-12-08 05:20:02 -05:00
port: 80
index: grafana-dash
2016-10-21 18:36:50 -04:00
2016-10-22 11:32:35 -04:00
Client defined and enforced dashboard
2016-10-21 18:36:50 -04:00
.. code-block:: yaml
grafana:
client:
enabled: true
server:
host: grafana.host
port: 3000
token: token
dashboard:
system_metrics:
title: "Generic system metrics"
style: dark
editable: false
row:
top:
title: "First row"
Client enforced dashboards defined in salt-mine
.. code-block:: yaml
grafana:
client:
enabled: true
2016-10-22 06:30:30 -04:00
remote_data:
engine: salt_mine
2016-10-21 18:36:50 -04:00
server:
host: grafana.host
port: 3000
token: token
2016-10-22 11:32:35 -04:00
2016-10-22 06:30:30 -04:00
Usage
=====
2016-10-24 05:00:40 -04:00
There's a difference between JSON dashboard representation and models we us.
The lists used in JSON format [for rows, panels and target] were replaced by
dictionaries. This form of serialization allows better merging and overrides
of hierarchical data structures that dashboard models are.
2016-10-22 06:30:30 -04:00
2016-10-22 11:32:35 -04:00
The default format of Grafana dashboards with lists for rows, panels and targets.
2016-10-22 06:30:30 -04:00
.. code-block:: yaml
system_metrics:
title: graph
editable: true
hideControls: false
rows:
- title: Usage
height: 250px
panels:
- title: Panel Title
span: 6
editable: false
type: graph
targets:
2016-10-22 06:30:30 -04:00
- refId: A
target: "support_prd.cfg01_iot_tcpcloud_eu.cpu.0.idle"
datasource: graphite01
renderer: flot
showTitle: true
2016-10-24 05:00:40 -04:00
The modified version of Grafana dashboard format with dictionary declarations.
Please note that dictionary keys are only for logical separation and are not
displayed in generated dashboards.
2016-10-22 11:32:35 -04:00
2016-10-22 06:30:30 -04:00
.. code-block:: yaml
system_metrics:
2016-10-22 11:32:35 -04:00
system_metrics2:
title: graph
editable: true
hideControls: false
row:
usage:
title: Usage
height: 250px
panel:
usage-panel:
title: Panel Title
span: 6
editable: false
type: graph
target:
A:
refId: A
target: "support_prd.cfg01_iot_tcpcloud_eu.cpu.0.idle"
datasource: graphite01
renderer: flot
showTitle: true
2016-10-22 06:30:30 -04:00
2016-10-21 18:36:50 -04:00
2015-12-04 10:43:48 -05:00
Read more
=========
2014-02-24 15:48:29 -05:00
* http://grafana.org/
2015-12-08 05:20:02 -05:00
* http://docs.grafana.org/reference/export_import/
Documentation and Bugs
======================
To learn how to install and update salt-formulas, consult the documentation
available online at:
http://salt-formulas.readthedocs.io/
In the unfortunate event that bugs are discovered, they should be reported to
the appropriate issue tracker. Use Github issue tracker for specific salt
formula:
https://github.com/salt-formulas/salt-formula-grafana/issues
For feature requests, bug reports or blueprints affecting entire ecosystem,
use Launchpad salt-formulas project:
https://launchpad.net/salt-formulas
You can also join salt-formulas-users team and subscribe to mailing list:
https://launchpad.net/~salt-formulas-users
Developers wishing to work on the salt-formulas projects should always base
their work on master branch and submit pull request against specific formula.
https://github.com/salt-formulas/salt-formula-grafana
Any questions or feedback is always welcome so feel free to join our IRC
channel:
#salt-formulas @ irc.freenode.net