cloudalchemy.grafana

廃止

この役割は、grafana-ansible-collection コレクションに代わって廃止されました。

grafanaロゴ

Ansibleロール: grafana

ビルドステータス ライセンス Ansibleロール GitHubタグ

Grafana のプロビジョニングと管理 - 分析と監視のためのプラットフォーム

要件

  • Ansible >= 2.7(以前のバージョンで動作する可能性がありますが、保証はできません)
  • デプロイホストに libselinux-python(デプロイマシンにSELinuxがある場合のみ)
  • grafana >= 5.1(古いgrafanaバージョンを使用する場合は、このロールのバージョン0.10.1またはそれ以前を使用してください)
  • デプロイマシンに jmespath が必要です。Pythonの仮想環境からAnsibleを使用している場合は、同じ仮想環境にpipで jmespath をインストールしてください。

ロール変数

オーバーライド可能なすべての変数は、defaults/main.yml ファイルと以下の表に格納されています。

名前 デフォルト値 説明
grafana_use_provisioning true 可能な場合、Grafanaのプロビジョニング機能を使用する(grafana_version=latestは>= 5.0を想定します)。
grafana_provisioning_synced false 参照されていない以前にプロビジョニングされたダッシュボードを保持しないことを確認します。
grafana_version latest Grafanaパッケージのバージョン
grafana_yum_repo_template etc/yum.repos.d/grafana.repo.j2 使用するYumテンプレート
grafana_manage_repo true パッケージリポジトリを管理する(またはしない)
grafana_instance {{ ansible_fqdn | default(ansible_host) | default(inventory_hostname) }} Grafanaインスタンス名
grafana_logs_dir /var/log/grafana ログディレクトリへのパス
grafana_data_dir /var/lib/grafana データベースディレクトリへのパス
grafana_address 0.0.0.0 Grafanaがリッスンするアドレス
grafana_port 3000 Grafanaがリッスンするポート
grafana_cap_net_bind_service false root特権なしで1024未満のポートを使用できるようにするため、Linuxカーネルの「能力」を活用します。詳しくは http://man7.org/linux/man-pages/man7/capabilities.7.html を参照してください。
grafana_url "http://{{ grafana_address }}:{{ grafana_port }}" WebブラウザからGrafanaにアクセスするために使用する完全なURL
grafana_api_url "{{ grafana_url }}" 公開URLと異なる場合、プロビジョニングでのAPI呼び出しに使用されるURLです。詳細は この問題 を参照してください。
grafana_domain "{{ ansible_fqdn | default(ansible_host) | default('localhost') }}" 設定はroot_urlオプションの一部としてのみ使用されます。GitHubまたはGoogle OAuthを使用する際に便利です。
grafana_server { protocol: http, enforce_domain: false, socket: "", cert_key: "", cert_file: "", enable_gzip: false, static_root_path: public, router_logging: false } サーバーの設定セクション
grafana_security { admin_user: admin, admin_password: "" } セキュリティの設定セクション
他の多数の変数 ... ... ...

データソースの例:

grafana_datasources:
  - name: prometheus
    type: prometheus
    access: proxy
    url: 'http://{{ prometheus_web_listen_address }}'
    basicAuth: false

ダッシュボードの例:

grafana_dashboards:
  - dashboard_id: 111
    revision_id: 1
    datasource: prometheus

アラート通知チャネルの例:

注意: grafana_alert_notifications 変数を設定しても、grafana_use_provisioningtrue の場合にのみ効果があります。つまり、Grafana v5.0から利用可能な新しいプロビジョニングシステムが使用されている必要があります。

grafana_alert_notifications:
  notifiers:
    - name: Channel 1
      type: email
      uid: channel1
      is_default: false
      send_reminder: false
      settings:
        addresses: "example@example.com"
        autoResolve: true
  delete_notifiers:
    - name: Channel 2
      uid: channel2

カスタムGrafana Yumリポジトリテンプレートの例:

  • テンプレートを templates フォルダ内のプレイブックの隣に置きます
  • Ansibleは、相対パスを使用する際に最初に見つかったテンプレートを参照するため、デフォルトのパスとは異なるパスを使用します。
  • テンプレートの展開は /etc/yum.repos.d/ に行われ、テンプレートパスの basename が .j2 を取り除いた名前になります。

例:

grafana_yum_repo_template: my_yum_repos/grafana.repo.j2

# [playbook_dir]/templates/my_yum_repos/grafana.repo.j2
# は次の場所に配置されます
# /etc/yum.repos.d/grafana.repo
# リモートホスト

サポートするCPUアーキテクチャ

過去には、CPUアーキテクチャに応じて異なるチャネルからパッケージが取得されていました。具体的には、armv6/armv7およびaarch64/arm64パッケージはfg2itによって配布される非公式パッケージを介して提供されていました。現在、Grafanaが公式のARMビルドを公開しているため、すべてのパッケージは公式のDebian/UbuntuまたはRPMパッケージから取得されます。

プレイブック

管理者パスワードフィールドに任意の値を入力してください。GrafanaのWebページは最初のログイン時にパスワードの変更を要求しません。

- hosts: all
  roles:
    - role: cloudalchemy.grafana
      vars:
        grafana_security:
          admin_user: admin
          admin_password: enter_your_secure_password

デモサイト

PrometheusとGrafanaに基づく完全な監視ソリューションのデモサイトを提供しています。コードのリポジトリと実行しているインスタンスへのリンクはGitHubで入手可能です。サイトはDigitalOceanにホストされています。

ローカルテスト

ローカルでロールをテストするための推奨方法は、Dockerとmolecule (v2.x)を使用することです。まず、システムにDockerをインストールする必要があります。「Get started」を参照し、システムに適したDockerパッケージを取得してください。 複数のansibleバージョンでのテストプロセスを簡素化するためにtoxを使用しています。toxをインストールするには、以下を実行します:

pip3 install tox

すべてのansibleバージョンでテストを実行するには(警告: 時間がかかる場合があります):

tox

カスタム環境でカスタムモレキュールコマンドを実行するには、デフォルトのテストシナリオのみを使用します:

tox -e py35-ansible28 -- molecule test -s default

moleculeに関する詳細は、ドキュメントを参照してください。

リモートDockerホストでテストを実行したい場合は、toxテストを実行する前にDOCKER_HOST 変数を指定してください。

Travis CI

MoleculeとTravis CIを組み合わせることで、新しいPRが複数のansibleバージョンおよび複数のオペレーティングシステムでどのように動作するかをテストできます。また、さまざまなロール構成のテストシナリオを作成することも可能です。その結果、かなり大きなテストマトリックスが得られ、それはローカルテストよりも長い時間がかかるため、辛抱してください。

貢献

貢献ガイドラインを参照してください。

トラブルシューティング

トラブルシューティングを参照してください。

ライセンス

このプロジェクトはMITライセンスの下でライセンスされています。詳細についてはLICENSEを参照してください。

プロジェクトについて

Grafana - platform for analytics and monitoring

インストール
ansible-galaxy install cloudalchemy.grafana
ライセンス
mit
ダウンロード
1.9M
所有者
Setup your monitoring stack with ansible