まずは Grafana 本体を Debian にインストールします。
Gnome デスクトップの左上にある「アクティビティ」をクリックし、「端末」または「Terminal」と検索して起動します。
Grafana のリポジトリ(パッケージ配布元)を追加するために必要なツールをインストールします。
Bash
sudo apt-get update
sudo apt-get install -y apt-transport-https software-properties-common wget ca-certificates
Grafana のパッケージが本物であることを OS に教えるための「GPG 署名キー」を追加します。
Bash
sudo wget -q -O /usr/share/keyrings/grafana.key https://apt.grafana.com/gpg.key
OS が Grafana をどこからダウンロードすればよいかを知るための設定ファイルを作成します。
Bash
echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
リポジトリ情報を更新し、grafana パッケージをインストールします。これで無料のオープンソース版がインストールされます。
Bash
sudo apt-get update
sudo apt-get install grafana
インストールが完了したら、Grafana サービスを起動し、PC 起動時に自動で立ち上がるように設定します。
Bash
# systemd に新しいサービスを認識させます
sudo systemctl daemon-reload
# Grafana サービスを今すぐ起動します
sudo systemctl start grafana-server
# PC の起動時に Grafana が自動で起動するように設定します
sudo systemctl enable grafana-server
Grafana が正しく起動しているか確認できます。
Bash
sudo systemctl status grafana-server
active (running) と緑色で表示されていれば成功です。(q キーで status 画面を終了します)
もし Debian で ufw (Uncomplicated Firewall) などのファイアウォールを有効にしている場合は、Grafana が使用するポート 3000 を許可する必要があります。
Bash
# ufw が有効か確認
sudo ufw status
# もし active なら、ポート 3000 を許可
sudo ufw allow 3000/tcp
sudo ufw reload
ここからは Gnome デスクトップの Web ブラウザ(Firefox など)を使って設定します。
ブラウザのアドレスバーに以下を入力します。 http://localhost:3000
Grafana のログイン画面が表示されます。
adminadminログインすると、新しいパスワードに変更するよう求められますので、任意のパスワードを設定してください。
Grafana に、仕様書にある tt_edr_alert テーブルの場所を教えます。
PostgreSQLの接続情報に基づき、以下のように入力します。
Connection
Host: localhost:5432
DB_HOST “localhost” と DB_PORT “57481”)Database: dbnameUser: userPassword: pass
EDR_PasswordCrackDetector... や PostgreSQL脅威検知... に記載のパスワード)SSL Mode: disable
EDR_PasswordCrackDetector... に SSL Mode=Disable の記述があるため)PostgreSQL Details
Search Path: edr
tt_alert テーブルは josys_edr スキーマ内にあるため、これを指定しないとテーブルが見つかりません。一番下にある**「Save & test」**ボタンをクリックします。 「Database connection OK」という緑色のメッセージが表示されれば、Debian 13 への Grafana 構築とデータベース接続はすべて完了です。
Grafanaでは、ダッシュボード(大きな画用紙)の中に、「パネル」(個々のグラフ)を配置していきます。
Add visualization)をクリックします。ここで「どんなデータを」「どのように表示するか」を設定します。GrafanaはSQLを直接書く方法が強力です。
「いつ」「どのルールで」アラートが発生したかを時系列で表示します。
EDRアラートDBなど)が選ばれていることを確認します。SELECT detected_at AS "time", -- Grafanaが認識する時間カラム (time) rule_name, -- 検知ルール名 (グラフの凡例になる) COUNT(alert_id) AS "件数" -- Y軸の値 FROM shema_edr.tt__alert WHERE $__timeFilter(detected_at) -- ダッシュボード右上の時間範囲指定と連動 GROUP BY "time", rule_name ORDER BY "time";どの重大度のアラートが多いかを可視化します。
SELECT severity, COUNT(alert_id) AS "件数" FROM schema_edr.tt_alert WHERE $__timeFilter(detected_at) -- これも時間範囲で絞り込む GROUP BY severity ORDER BY "件数" DESC;Metabaseが「手軽なデータ探索」に強いとすれば、Grafanaは「専門的な監視とアラート」に強いツールです。特に、Grafanaにはパネルの閾値(しきい-ち)に基づいてアラート(EmailやSlack通知など)を飛ばす機能が標準搭載されており、EDRの運用と非常に相性が良いです。