buluma.grafana
Rola Ansible grafana
Grafana - platforma do analizy i monitorowania
GitHub | Wersja | Problemy | Prośby o włączenie | Pobrania |
---|---|---|---|---|
Przykładowy Playbook
Ten przykład pochodzi z molecule/default/converge.yml
i jest testowany przy każdym przesyłaniu, prośbie o włączenie i wydaniu.
---
- name: Zbieżność
hosts: all
become: yes
gather_facts: yes
roles:
- role: buluma.grafana
vars:
grafana_security:
admin_user: admin
admin_password: password
Maszyna musi być przygotowana. W CI robi się to za pomocą molecule/default/prepare.yml
:
---
- name: Przygotowanie
hosts: all
gather_facts: no
become: yes
roles:
- role: buluma.bootstrap
Zobacz także pełne wyjaśnienie i przykład jak używać tych ról.
Zmienne Roli
Domyślne wartości dla zmiennych są ustawione w defaults/main.yml
:
---
grafana_version: latest
grafana_yum_repo_template: etc/yum.repos.d/grafana.repo.j2
grafana_manage_repo: true
# Czy powinniśmy używać możliwości provisioning, jeśli to możliwe (provisioning wymaga grafana >= 5.0)
grafana_use_provisioning: true
# Czy provisioning powinien być synchronizowany. Jeśli prawda, wcześniej provisioned obiekty będą usuwane, jeśli już nie są używane.
grafana_provisioning_synced: false
grafana_instance: "{{ ansible_fqdn | default(ansible_host) | default(inventory_hostname) }}"
grafana_logs_dir: "/var/log/grafana"
grafana_data_dir: "/var/lib/grafana"
grafana_address: "0.0.0.0"
grafana_port: 3000
# Aby umożliwić użycie portów poniżej 1024 dla nieuprzywilejowanych procesów, Linux musi ustawić CAP_NET_BIND_SERVICE.
# Ma to pewne implikacje bezpieczeństwa i powinno być świadomym wyborem.
# Zasięgnij informacji czytając: http://man7.org/linux/man-pages/man7/capabilities.7.html
grafana_cap_net_bind_service: false
# Zewnętrzny adres Grafana. Zmienna mapuje do "root_url" w sekcji serwera grafana
grafana_url: "http://{{ grafana_address }}:{{ grafana_port }}"
grafana_api_url: "{{ grafana_url }}"
grafana_domain: "{{ ansible_fqdn | default(ansible_host) | default('localhost') }}"
# Dodatkowe opcje dla sekcji "server" grafana
# Ta sekcja ZANIECHA opcji dla: http_addr, http_port, domain, i root_url, ponieważ te ustawienia są określone przez zmienne wymienione wcześniej
grafana_server:
protocol: http
enforce_domain: false
socket: ""
cert_key: ""
cert_file: ""
enable_gzip: false
static_root_path: public
router_logging: false
serve_from_sub_path: false
# Zmienne odpowiadające zmiennym w pliku konfiguracyjnym grafana.ini
# Bezpieczeństwo
grafana_security:
admin_user: admin
admin_password: "password"
# secret_key: ""
# login_remember_days: 7
# cookie_username: grafana_user
# cookie_remember_name: grafana_remember
# disable_gravatar: true
# data_source_proxy_whitelist:
# Konfiguracja bazy danych
grafana_database:
type: sqlite3
# host: 127.0.0.1:3306
# name: grafana
# user: root
# password: ""
# url: ""
# ssl_mode: disable
# path: grafana.db
# max_idle_conn: 2
# max_open_conn: ""
# log_queries: ""
# Zdalna pamięć podręczna
grafana_remote_cache: {}
# Zarządzanie użytkownikami i rejestracja
grafana_welcome_email_on_sign_up: false
grafana_users:
allow_sign_up: false
# allow_org_create: true
# auto_assign_org: true
auto_assign_org_role: Viewer
# login_hint: "email or username"
default_theme: dark
# external_manage_link_url: ""
# external_manage_link_name: ""
# external_manage_info: ""
# mechanizmy uwierzytelniania grafana
grafana_auth: {}
# disable_login_form: false
# oauth_auto_login: false
# disable_signout_menu: false
# signout_redirect_url: ""
# anonymous:
# org_name: "Główna Organizacja"
# org_role: Viewer
# ldap:
# config_file: "/etc/grafana/ldap.toml"
# allow_sign_up: false
# basic:
# enabled: true
grafana_ldap: {}
# verbose_logging: false
# servers:
# host: 127.0.0.1
# port: 389 # 636 dla SSL
# use_ssl: false
# start_tls: false
# ssl_skip_verify: false
# root_ca_cert: /path/to/certificate.crt
# bind_dn: "cn=admin,dc=grafana,dc=org"
# bind_password: grafana
# search_filter: "(cn=%s)" # "(sAMAccountName=%s)" na AD
# search_base_dns:
# - "dc=grafana,dc=org"
# group_search_filter: "(&(objectClass=posixGroup)(memberUid=%s))"
# group_search_base_dns:
# - "ou=groups,dc=grafana,dc=org"
# attributes:
# name: givenName
# surname: sn
# username: sAMAccountName
# member_of: memberOf
# email: mail
# group_mappings:
# - name: Główna Org.
# id: 1
# groups:
# - group_dn: "cn=admins,ou=groups,dc=grafana,dc=org"
# org_role: Admin
# - group_dn: "cn=editors,ou=groups,dc=grafana,dc=org"
# org_role: Editor
# - group_dn: "*"
# org_role: Viewer
# - name: Alternatywna Org
# id: 2
# groups:
# - group_dn: "cn=alternative_admins,ou=groups,dc=grafana,dc=org"
# org_role: Admin
grafana_session: {}
# provider: file
# provider_config: "sessions"
grafana_analytics: {}
# reporting_enabled: true
# google_analytics_ua_id: ""
# Ustaw to dla powiadomień mailowych
grafana_smtp: {}
# host:
# user:
# password:
# from_address:
# Włącz mechanizm powiadomień grafana
grafana_alerting:
execute_alerts: true
# error_or_timeout: 'alerting'
# nodata_or_nullvalues: 'no_data'
# concurrent_render_limit: 5
# Konfiguracja logowania grafana
grafana_log:
# mode: 'console file'
# level: info
# Wewnętrzny system metryczny grafana
grafana_metrics: {}
# interval_seconds: 10
# graphite:
# address: "localhost:2003"
# prefix: "prod.grafana.%(instance_name)s"
# Opcje rozproszonego śledzenia
grafana_tracing: {}
# address: "localhost:6831"
# always_included_tag: "tag1:value1,tag2:value2"
# sampler_type: const
# sampler_param: 1
grafana_snapshots: {}
# external_enabled: true
# external_snapshot_url: "https://snapshots-origin.raintank.io"
# external_snapshot_name: "Opublikuj w snapshot.raintank.io"
# snapshot_remove_expired: true
# snapshot_TTL_days: 90
# Zewnętrzny magazyn obrazów
grafana_image_storage: {}
# provider: gcs
# key_file:
# bucket:
# path:
#######
# Wtyczki z https://grafana.com/plugins
grafana_plugins: []
# - raintank-worldping-app
# Pulpity z https://grafana.com/dashboards
grafana_dashboards: []
# - dashboard_id: '4271'
# revision_id: '3'
# datasource: 'Prometheus'
# - dashboard_id: '1860'
# revision_id: '4'
# datasource: 'Prometheus'
# - dashboard_id: '358'
# revision_id: '1'
# datasource: 'Prometheus'
grafana_dashboards_dir: "dashboards"
# Kanały powiadomień o alertach do skonfigurowania
grafana_alert_notifications: []
# - name: "Powiadomienie e-mail"
# type: "email"
# uid: channel1
# is_default: true
# settings:
# addresses: "[email protected]"
# Źródła danych do skonfigurowania
grafana_datasources: []
# - name: "Prometheus"
# type: "prometheus"
# access: "proxy"
# url: "http://prometheus.mydomain"
# basicAuth: true
# basicAuthUser: "admin"
# basicAuthPassword: "password"
# isDefault: true
# jsonData:
# tlsAuth: false
# tlsAuthWithCACert: false
# tlsSkipVerify: true
# Klucze API do skonfigurowania
grafana_api_keys: []
# - name: "admin"
# role: "Admin"
# - name: "viewer"
# role: "Viewer"
# - name: "editor"
# role: "Editor"
# Miejsce, w którym klucze powinny być przechowywane.
grafana_api_keys_dir: "{{ lookup('env', 'HOME') }}/grafana/keys"
grafana_environment: {}
# Konfiguracje paneli
grafana_panels: {}
# disable_sanitize_html: false
# enable_alpha: false
Wymagania
- Pakiety pip wymienione w requirements.txt.
Stan używanych ról
Poniższe role są używane do przygotowania systemu. Możesz przygotować swój system w inny sposób.
Wymaganie | GitHub | Wersja |
---|---|---|
buluma.bootstrap |
Kontekst
Ta rola jest częścią wielu kompatybilnych ról. Zapoznaj się z dokumentacją tych ról aby uzyskać więcej informacji.
Oto przegląd powiązanych ról:
Kompatybilność
Ta rola była testowana na tych obrazach kontenerów:
kontener | tagi |
---|---|
Ubuntu | wszystkie |
Debian | wszystkie |
EL | wszystkie |
Fedora | wszystkie |
Minimalna wymagana wersja Ansible to 2.12, testy zostały przeprowadzone na:
- Poprzedniej wersji.
- Bieżącej wersji.
- Wersji deweloperskiej.
Jeśli znajdziesz problemy, zarejestruj je na GitHub
Dziennik zmian
Licencja
Informacje o autorze
Grafana - platform for analytics and monitoring
ansible-galaxy install buluma.grafana