ElastAlert Kibana プラグインのインストールと設定ガイド

ElastAlert を Kibana に統合するためのプラグインである elastalert-kibana-plugin のインストールおよび基本的な構成方法について説明します。

1. リポジトリ構造概要

elastalert-kibana-plugin/
├── public/
│   └── server/
│       └── routes/
│           └── index.js
├── .eslintrc
├── .gitignore
├── .nvmrc
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── index.js
├── package.json
├── yarn.lock
└── *.gif(デモ画像)
  • public/:フロントエンド関連のアセットや UI コンポーネントを格納。
  • public/server/routes/index.js:Kibana プラグインが提供する API エンドポイントの定義。
  • .nvmrc:推奨 Node.js バージョンを指定。
  • package.json:依存パッケージやスクリプトの定義。
  • index.js:プラグインのエントリーポイント。

2. プラグインのエントリーポイント

index.js は Kibana プラグインとしての初期化ロジックを含みます。典型的な実装例は以下の通りです:

import { Plugin } from 'kibana-custom-plugin-sdk';

export default new Plugin({
  id: 'elastalert-kibana-plugin',
  version: '1.0.0',
  kibanaVersion: '^8.0.0',
  init(server, options) {
    // ElastAlert 連携用の初期設定やルート登録
    const { router } = server.http;
    router.get({ path: '/api/elastalert/status', handler: () => ({ status: 'ok' }) });
  }
});

3. 設定ファイルのカスタマイズ

Kibana の設定ファイル kibana.yml に、ElastAlert サーバーへの接続情報を追記します:

elastalert_kibana_plugin:
  server_host: "192.168.1.100"
  server_port: 3030

この設定により、プラグインは指定されたホスト・ポートの ElastAlert API と通信します。

package.json には、プラグインのメタデータと依存関係が記述されています:

{
  "name": "elastalert-kibana-plugin",
  "version": "1.0.0",
  "kibana": {
    "version": "8.10.0"
  },
  "dependencies": {
    "@kbn/core-http-server": "^8.10.0"
  }
}

プラグインのビルドおよび Kibana への組み込みは、通常 Kibana のプラグイン開発ワークフローに従って行います(例:yarn plugin-helpers build)。

プロジェクトの最新版は以下のリポジトリから取得可能です:
https://gitcode.com/gh_mirrors/el/elastalert-kibana-plugin

タグ: ElastAlert Kibana plugin alerting Observability

6月18日 21:51 投稿