Grafanaダッシュボードサービス

GitLab 11.9 で導入されました

Grafanaは組み込まれたPrometheusモニタリングシステムからパフォーマンスメトリクスを可視化するために使用できる強力なダッシュボード構築システムです。

GitLab 12.0 からは、Grafana がデフォルトで有効になり、GitLab との SSO が自動的に設定されます。 Grafana はhttps://gitlab.example.com/-/grafanaで利用可能になります。

ユーザー名とパスワードを使用したログインを有効にします。

Grafanaへのユーザー名/パスワードによるログインは無効化されており、デフォルトではGitLab SSOのみが利用可能です。 しかし、管理者アカウントにアクセスするには、ユーザー名/パスワードによるログインを有効にする必要があります。そのためには、/etc/gitlab/gitlab.rb ファイルに以下の行を追加し、再設定します:

grafana['disable_login_form'] = false

管理者パスワードの指定

注意:管理者パスワードは、インストール後の最初の再設定前に指定する必要があります。これ以降、admin_password の設定は何の効果もなく、手動でパスワードをリセットする必要があります。また、管理者アカウントにアクセスするには、ユーザー名とパスワードを使用したログインを有効にする必要があります。

管理者パスワードを指定するには、/etc/gitlab/gitlab.rbファイルに以下の行を追加して再設定します:

grafana['admin_password'] = 'foobar'

管理者パスワードが提供されない場合、GitLabはセキュリティ対策として管理者ユーザー用のランダムなパスワードを自動生成します。 しかし、その場合、管理者ユーザーにアクセスするには手動でパスワードをリセットする必要があります。

Grafanaの無効化

  1. /etc/gitlab/gitlab.rb を編集し、以下の行を追加/編集します:

    ## Set to true/false to enable/disable respectively
    grafana['enable'] = false
    
  2. ファイルを保存し、変更を有効にするために GitLab を再設定します。

認証

ユーザーにGrafanaへのアクセス権を与えたい場合、2つの選択肢があります。

Grafanaの認証システムの使用

Grafanaでユーザーが自分のアカウントを作成できるようにするため:

  1. /etc/gitlab/gitlab.rb を編集し、以下の行を追加します:

    grafana['allow_user_sign_up'] = true
    
  2. ファイルを保存し、変更を有効にするために GitLab を再設定します。

GitLabをOAuthプロバイダとして使う場合

Note:GitLab 12.0以降を使用している場合、この設定は自動的に行われます。 このセクションは飛ばしても構いません。

GitLabをOAuthプロバイダとして使用し、GitLabインスタンスのユーザがGrafanaにアクセスできるようにします:

  1. まず、アプリケーションIDとシークレットを作成します。

  2. external_urlに基づいてコールバックURLを設定します。例えばhttps://gitlab.example.com/-/grafana/login/gitlab

  3. そして、/etc/gitlab/gitlab.rb を編集し、以下の行を追加します:

    grafana['gitlab_application_id'] = 'GITLAB_APPLICATION_ID'
    grafana['gitlab_secret'] = 'GITLAB_SECRET'
    

    ここでGITLAB_APPLICATION_IDGITLAB_SECRET は前のステップで作成したアプリケーション ID とそのシークレットです。

  4. オプションで、ログインを許可するGitLabグループのリストを選択できます:

    grafana['allowed_groups'] = [my_group, group_one/group_two]
    
  5. ファイルを保存し、変更を有効にするために GitLab を再設定します。

注意:GitLabユーザーはデフォルトでは読み取り専用のViewer権限で作成されます。 追加のアクセスを許可するにはadminアカウントを使用する必要があります。

管理者パスワードのリセット

初回起動後、管理者パスワードは Grafana データストアに保存され、gitlab.rbから変更することはできません。

更新するには、以下のコマンドを使用します:

gitlab-ctl set-grafana-password

詳細はGrafana CLIのドキュメントを参照してください。

ダッシュボード

GitLab 11.10から、Omnibus GitLabを監視するためのダッシュボードがプリロードされ、初回ログイン時に利用できるようになります。

GitLabの以前のバージョンでは、Omnibusインストール用に調整されたビルド済みのダッシュボードを手動でインポートすることができます。

Grafanaメトリクス

GrafanaはPrometheusがスクレイピングするメトリクスを提供することができます。

デフォルトでは、バンドルされているGrafanaインスタンスではメトリクスAPIは無効になっています。

GrafanaのメトリクスAPIの有効化

GrafanaのメトリクスAPIをベーシック認証で有効にします:

  1. /etc/gitlab/gitlab.rb を編集し、以下の行を追加/編集します:

    grafana['metrics_enabled'] = true
    grafana['metrics_basic_auth_username'] = 'grafana_metrics'
    grafana['metrics_basic_auth_password'] = 'please_set_a_unique_password'
    
  2. ファイルを保存し、変更を有効にするために GitLab を再設定します。

  3. メトリクスは、https://gitlab.example.com/-/grafana/metricsでベーシック認証で利用できるようになります。ベーシック認証のユーザー名とパスワードは、/etc/gitlab/gitlab.rbで設定したmetrics_basic_auth_usernamemetrics_basic_auth_passwordになります。