grafana-wtf - git-wtf の精神ですべての Grafana エンティティを grep します。
注意!
このプログラムは、Grafana インスタンスと基盤となるデータベース機構に大きな負荷をかける可能性があります。取り扱いには注意してください。
Grafana (ダッシュボードとデータソース) で文字列「weatherbase」を検索します。
grafana-wtf ウェザーベースを検索
すべてのダッシュボードにわたって最新の 50 件の変更を表示します。
grafana-wtf ログ --number=50
ダッシュボードとデータソースをさらに詳しく調べます。
grafana-wtf ダッシュボードを探索する grafana-wtf データソースを探索する
プラグインを調べてみましょう。
grafana-wtf プラグインのリスト grafana-wtf プラグインのステータス
Docker で実行します。
# 認証なしでローカルホスト上の Grafana インスタンスにアクセスします。 docker run --rm -it --env GRAFANA_URL="http://host.docker.internal:3000" ghcr.io/grafana-toolbox/grafana-wtf グラファナ-wtf 情報 # 認証を使用して Grafana インスタンスにアクセスします。 docker run --rm -it --env GRAFANA_URL="https://grafana.example.org/grafana" --env GRAFANA_TOKEN="eyJrIjoiWHg...dGJpZCI6MX0=" ghcr.io/grafana-toolbox/grafana-wtf グラファナ-wtf 情報
grafana-wtf find
grafana-wtf log
grafana-wtf
をインストールするpip インストール grafana-wtf
Grafana インスタンスで API キーを作成するには、次の手順を実行してください。
https://daq.example.org/grafana/org/apikeys
に移動します。curl -H "Authorization: Bearer eyJrIjoiWHg...dGJpZCI6MX0=" ...
から、Bearerトークンに注目してください。これは Grafana API キーです。 どの Grafana インスタンスに接続するか、および認証方法を構成するには、 --grafana-url
および--grafana-token
コマンド ライン オプションを使用します。
あるいは、 grafana-wtf
を実行する前に、環境変数を使用して Grafana インスタンスの URL とアクセス トークンを定義できます。
エクスポート GRAFANA_URL=https://daq.example.org/grafana/ エクスポート GRAFANA_TOKEN=eyJrIjoiWHg...dGJpZCI6MX0=
信頼できない SSL 証明書を受け入れるには、 GRAFANA_URL
に?verify=no
クエリ文字列を追加します。
エクスポート GRAFANA_URL=https://daq.example.org/grafana/?verify=no
grafana-wtf
、各サーバーにアクセスせずにリソースを節約するために、デフォルトで HTTP 応答を 60 分間キャッシュします。この設定は、 --cache-ttl
オプションまたはCACHE_TTL
環境変数を使用して構成できます。
--drop-cache
オプションを指定してプログラムを呼び出すと、事前にキャッシュが削除されます。
# 大量のメタ情報と統計を表示します。 grafana-wtf 情報 --format=yaml # Grafana のバージョンを表示します。 grafana-wtf 情報 --format=json | jq -r '.grafana.version'
未使用のデータソースを見つけるにはどうすればよいですか?
# すべてのデータ ソースとそれを使用するダッシュボード、および未使用のデータ ソースを表示します。 grafana-wtf データソースを探索する --format=yaml # 未使用のデータソースの名前をフラット リストとして表示します。 grafana-wtf データソースを探索する --format=json | jq -r '.unused[].datasource.name'
存在しないデータ ソースを使用するダッシュボードを見つけるにはどうすればよいですか?
# 欠落しているデータ ソースの名前を含む、すべてのダッシュボードの詳細を表示します。 grafana-wtf ダッシュボードを探索する --format=yaml # データ ソースが欠落しているダッシュボードのみをその名前とともに表示します。 grafana-wtf ダッシュボードを探索する --format=json | jq '.[] | select(.datasources_missing) | .dashboard + {ds_missing: .datasources_missing[] | [。名前]}'
特定のデータ ソースを使用しているダッシュボードを見つけるにはどうすればよいですか?
# 特定のデータ ソースを使用するすべてのダッシュボードをデータ ソース名でフィルターして表示します。 grafana-wtf ダッシュボードを探索する --format=json | jq '.[] | select(.datasources | .[].type=="<データソース名>")' # 特定のタイプのデータ ソースを使用してすべてのダッシュボードを表示します。ここ: InfluxDB。 grafana-wtf ダッシュボードを探索する --format=json | jq '.[] | select(.datasources | .[].type=="influxdb")'
すべてのダッシュボードで使用されるすべてのクエリをリストするにはどうすればよいですか?
grafana-wtf ダッシュボードを探索 --data-details --queries-only --format=json | jq '.[].詳細 |値[] | .[] | .expr、.jql、.query、.rawSql | select( . != null および . != "" )'
すべてのダッシュボードとデータ ソースで文字列weatherbase
見つけます。
grafana-wtf ウェザーベースを検索
UID _JJ22OZZk
のダッシュボード内で出現するすべてのldi_v2
をldi_v3
に置き換えます。
grafana-wtf --select-dashboard=_JJ22OZZk ldi_v2 ldi_v3 を置き換えます
変更をプレビューするには、事前に--dry-run
オプションを使用する必要があります。
grafana-wtf --select-dashboard=_JJ22OZZk replace ldi_v2 ldi_v3 --dry-run
ダッシュボードでの最近の編集アクティビティに注目していますか?
# すべてのダッシュボードにわたって最新の変更 50 件を表示します。 grafana-wtf ログ --number=50
さらに多くのコマンド ライン パラメーターとその引数を確認するには、 grafana-wtf --help
を呼び出して、grafana-wtf の例を参照してください。
git clone https://github.com/grafana-toolbox/grafana-wtf cd グラファナ-wtf # すべてのテストを実行します。 テストを行う # 選択したテストを実行します。 pytest --keepalive -vvv -k test_find_textual