皆さん、こんにちは。私の最新のプロジェクトの1つをご紹介します。 Grafana用データソースプラグインです。これは、InterSystems IRISに直接接続して(将来的に)あらゆるデータを収集できるプラグインです。
機能
- 定期的に更新される履歴付きのSAM メトリクスで、Grafanaが直接収集したメトリクスを、表示中にリクエストされた場合にのみ表示できます。
- messages.logとalerts.logを表示します。
- ^ERRORSグローバルのアプリケーションエラー
後日追加予定の機能
- DateTimeフィールドの有無に関わらずテーブルをクエリするすべてのSQL SELECT
- グローバルからデータを直接表示
- IRIS側でカスタムSQLクエリを呼び出す
- MDXクエリ
つまり、アプリケーション内でログを記録するためのカスタムロジックが存在する場合、Grafanaをそれらのログに接続して、そこで表示することが可能ということです。
テスト
自分でテストしてみるには、リポジトリをクローンして、docker-composeで環境を開始します。 docker-compose環境はポート3000、3081、3082を使用して構成されるようになっているため、システム上でこれらのポートがすでに使用されている場合は、docker-compose.ymlファイルでポートを変更してください。
git clone https://github.com/caretdev/grafana-intersystems-datasource.git cd grafana-intersystems-datasource docker-compose up -d
イメージをプルしたら、2つのコンテナでGrafanaとIRISが開始します。
Grafanaはhttp://localhost:3000/で開きます。
[DataSources]に移動すると、InterSystems IRIS接続が自動プロビジョニングによって追加されています。
中を覗くと、基本設定付きの単純なフォームと接続を確認するための[Test]ボタンがあります。 IRISが起動すると、緑色の「OK」が表示されます。
ダッシュボードとパネルを作成しましょう
[Query Type]で「Metrics」を選択します。
例としてiris_db_latencyを選択しましょう
デフォルトの更新間隔は選択した時間間隔に応じますが、クエリオプションの[Min Interval]フィールドで変更することができます。
ログファイルとアプリケーションエラーは、ログの視覚化とともにテーブルとして表示することができます。
プロジェクトに投票してください
プラグインにほかの機能の追加を希望する場合は、私にご連絡ください。