mcpField
G
grafana-oss

grafana-oss

github.com/grafanaクラウド・DevOps2955.7k 回インストール1 日前に更新
リポジトリ

grafana-oss について

grafana-ossは、ダッシュボード、データソース、アカウント、権限、プラグインを管理する運用担当者向けのGrafana OSS設定・運用ガイドです。ファイル設定例、API操作、状態確認手順を紹介します。

主な機能

  1. 01ファイルからのダッシュボード・データソース設定
  2. 02サービスアカウント作成とトークン管理
  3. 03組み込みRBACロールの設定
  4. 04設定ファイルによるプラグイン管理
  5. 05APIによる設定状態の確認

活用シーン

  1. 01ディスク上のダッシュボードを配置して確認
  2. 02データソースを設定して稼働状態を確認
  3. 03自動化用の読み取り専用サービスアカウント作成
  4. 04プラグインや権限設定の問題の調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/grafana/skills --skill grafana-oss

インストール後、Claude Code で/grafana-ossを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
alerting.md
api.md
config.md
dashboard-json.md
dashboards.md
datasources.md
panel-types.md
panels.md

詳細

Grafana OSS

ドキュメント: https://grafana.com/docs/grafana/latest.md

一般的なワークフロー

ディスクからダッシュボードをプロビジョニングする
  1. ダッシュボードの JSON ファイルを /var/lib/grafana/dashboards/ に配置します
  2. provisioning/dashboards/default.yaml にプロバイダーを追加します(以下の§ ダッシュボードのプロビジョニングを参照)
  3. Grafana を再起動して、プロバイダー設定を読み込みます
  4. ダッシュボードが配置されたことを確認します:
    curl https://grafana.example.com/api/dashboards/uid/<uid> \
      -H "Authorization: Bearer <token>" | jq '.dashboard.title'
    
    タイトルが返されれば成功です。404 の場合、プロビジョニングで検出されていません。Grafana サーバーのログ(journalctl -u grafana-server | grep -i provisioning)で解析エラーを確認してください。
データソースのプロビジョニング
  1. provisioning/datasources/datasources.yaml を記述します(以下の§ データソースのプロビジョニングを参照)
  2. Grafana を再起動します
  3. API 経由でデータソースのヘルスチェックを行います:
    curl https://grafana.example.com/api/datasources/uid/<uid>/health \
      -H "Authorization: Bearer <token>"
    # { "status": "OK", "message": "..." } → working
    # { "status": "ERROR", ... } → URL unreachable or auth misconfigured
    
サービスアカウントとトークンの作成
  1. YAML または POST /api/serviceaccounts でプロビジョニングします(API 全体についてはreferences/api.md § ユーザーとサービスアカウントを参照)
  2. POST /api/serviceaccounts/{id}/tokens でトークンを発行します
  3. トークンが機能することを確認します:
    curl https://grafana.example.com/api/org \
      -H "Authorization: Bearer <new-token>"
    # 200 + org JSON → token + role assignment work
    # 401 → token wrong; 403 → role wrong
    

ダッシュボードのプロビジョニング

# provisioning/dashboards/default.yaml
apiVersion: 1
providers:
  - name: default
    folder: MyFolder
    type: file
    disableDeletion: false
    updateIntervalSeconds: 30
    options:
      path: /var/lib/grafana/dashboards
      foldersFromFilesStructure: true

ダッシュボード JSON の構造(パネル、クエリ、テンプレート変数)については、references/dashboard-json.mdを参照してください。

データソースのプロビジョニング

# provisioning/datasources/datasources.yaml
apiVersion: 1
datasources:
  - name: Prometheus
    type: prometheus
    access: proxy
    url: http://prometheus:9090
    isDefault: true
    jsonData:
      timeInterval: 15s
      httpMethod: POST

  - name: Loki
    type: loki
    access: proxy
    url: http://loki:3100

  - name: Tempo
    type: tempo
    access: proxy
    url: http://tempo:3200
    jsonData:
      tracesToLogsV2:
        datasourceUid: loki_uid
        tags: [{ key: "service.name", value: "app" }]
      serviceMap:
        datasourceUid: prometheus_uid
      nodeGraph:
        enabled: true

  - name: Pyroscope
    type: grafana-pyroscope-datasource
    url: http://pyroscope:4040

RBAC(組み込みロール)

ロール権限
Viewerダッシュボードとアラートの読み取り
Editorダッシュボードとアラートの作成・編集
Adminデータソース、ユーザー、プラグインの管理
GrafanaAdminサーバー全体の管理者(スーパーユーザー)

サービスアカウントのプロビジョニング:

# provisioning/access-control/service_accounts.yaml
apiVersion: 1
serviceAccounts:
  - name: ci-reader
    orgId: 1
    role: Viewer
    tokens:
      - name: ci-token
        # expires: optional ISO 8601 timestamp; omit for no-expiry tokens

(細かな権限を設定できるカスタム RBAC ロールは Enterprise / Cloud 専用です。必要な場合は grafana-cloud/admin スキルを参照してください。)

プラグインのプロビジョニング

# provisioning/plugins/plugins.yaml
apiVersion: 1
apps:
  - type: grafana-pyroscope-app
    disabled: false
    jsonData:
      backendUrl: http://pyroscope:4040

再起動後、GET /api/plugins/<plugin-id>/health で確認してください。

参考資料

  • references/dashboard-json.md — ダッシュボード JSON モデル全体 + テンプレート変数 + よくある問題(uid の一意性、gridPos の計算、データソースの uid の照合)
  • references/dashboards.md — ダッシュボードのワークフロー、設定、変数、アノテーション、共有、バージョン、プレイリスト、コードによるプロビジョニング
  • references/datasources.md — Prometheus、Loki、Tempo、SQL、CloudWatch、プラグインのデータソース設定とクエリ例
  • references/panel-types.md — パネルタイプの表 + 適切なタイプを選ぶための判断ガイド
  • references/panels.md — パネルエディター、可視化オプション、フィールド設定、変換、クエリオプション、検査、パフォーマンスのヒント
  • references/alerting.md — アラートの概念、コンタクトポイント、通知ポリシー、テンプレート、サイレンス、よくあるルールの例
  • references/api.md — Grafana OSS API リファレンス全体(ダッシュボード、データソース、ユーザー、サービスアカウント、アノテーション)、確認用 curl とよくある失敗例
  • references/config.md — grafana.ini のサーバー / データベース / SMTP / 認証 / セキュリティ / 機能切り替えの設定 + 再起動が必要な問題

コメント