【初心者完全ガイド】DebianにGrafanaをインストール!PostgreSQLと連携してデータを可視化する全手順

未分類

本ページは広告が含まれています。気になる広告をクリック頂けますと、サーバ運営費になります(^^

ステップ1:Grafana のネイティブインストール (ターミナル操作)

まずは Grafana 本体を Debian にインストールします。

1. ターミナルを開く

Gnome デスクトップの左上にある「アクティビティ」をクリックし、「端末」または「Terminal」と検索して起動します。

2. 必要なパッケージをインストール

Grafana のリポジトリ(パッケージ配布元)を追加するために必要なツールをインストールします。

Bash

sudo apt-get update
sudo apt-get install -y apt-transport-https software-properties-common wget ca-certificates

3. Grafana の GPG キーを追加

Grafana のパッケージが本物であることを OS に教えるための「GPG 署名キー」を追加します。

Bash

sudo wget -q -O /usr/share/keyrings/grafana.key https://apt.grafana.com/gpg.key

4. Grafana の APT リポジトリを追加

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

5. Grafana (OSS版) をインストール

リポジトリ情報を更新し、grafana パッケージをインストールします。これで無料のオープンソース版がインストールされます。

Bash

sudo apt-get update
sudo apt-get install grafana

ステップ2:Grafana サービスの起動 (ターミナル操作)

インストールが完了したら、Grafana サービスを起動し、PC 起動時に自動で立ち上がるように設定します。

6. サービスを起動・有効化

Bash

# systemd に新しいサービスを認識させます
sudo systemctl daemon-reload

# Grafana サービスを今すぐ起動します
sudo systemctl start grafana-server

# PC の起動時に Grafana が自動で起動するように設定します
sudo systemctl enable grafana-server

7. 起動ステータスを確認 (任意)

Grafana が正しく起動しているか確認できます。

Bash

sudo systemctl status grafana-server

active (running) と緑色で表示されていれば成功です。(q キーで status 画面を終了します)


ステップ3:ファイアウォールの設定 (必要な場合のみ)

もし Debian で ufw (Uncomplicated Firewall) などのファイアウォールを有効にしている場合は、Grafana が使用するポート 3000 を許可する必要があります。

Bash

# ufw が有効か確認
sudo ufw status

# もし active なら、ポート 3000 を許可
sudo ufw allow 3000/tcp
sudo ufw reload

ステップ4:Grafana の初期設定 (Webブラウザ操作)

ここからは Gnome デスクトップの Web ブラウザ(Firefox など)を使って設定します。

8. Grafana へアクセス

ブラウザのアドレスバーに以下を入力します。 http://localhost:3000

9. 初回ログイン

Grafana のログイン画面が表示されます。

  • ユーザー名: admin
  • パスワード: admin

ログインすると、新しいパスワードに変更するよう求められますので、任意のパスワードを設定してください。

10. データソース (PostgreSQL) の追加

Grafana に、仕様書にある tt_edr_alert テーブルの場所を教えます。

  1. 左側のメニューから**歯車アイコン(Configuration)をクリックし、「Data Sources」**を選択します。
  2. **「Add new data source」**ボタンをクリックします。
  3. データベースの種類一覧から**「PostgreSQL」**を選択します。

11. 接続情報の入力

PostgreSQLの接続情報に基づき、以下のように入力します。

Connection

  • Host: localhost:5432
    • (仕様書の DB_HOST “localhost” と DB_PORT “57481”)
  • Database: dbname
  • User: user
  • Password: pass
    • (仕様書 EDR_PasswordCrackDetector...PostgreSQL脅威検知... に記載のパスワード)
  • SSL Mode: disable
    • (仕様書 EDR_PasswordCrackDetector...SSL Mode=Disable の記述があるため)

PostgreSQL Details

  • Search Path: edr
    • ※【最重要】 tt_alert テーブルは josys_edr スキーマ内にあるため、これを指定しないとテーブルが見つかりません。

12. 保存 & テスト

一番下にある**「Save & test」**ボタンをクリックします。 「Database connection OK」という緑色のメッセージが表示されれば、Debian 13 への Grafana 構築とデータベース接続はすべて完了です。

5. ダッシュボードとパネルの作成

Grafanaでは、ダッシュボード(大きな画用紙)の中に、「パネル」(個々のグラフ)を配置していきます。

  1. 左側のメニューから**「+」アイコン(Create)をクリックし、「Dashboard」**を選択します。
  2. 「Add new panel」(または Add visualization)をクリックします。
  3. 新しいパネルの編集画面が開きます。

6. パネルのクエリ設定(グラフの作成)

ここで「どんなデータを」「どのように表示するか」を設定します。GrafanaはSQLを直接書く方法が強力です。

例1:アラート発生件数の時系列グラフ

「いつ」「どのルールで」アラートが発生したかを時系列で表示します。

  1. 画面下部の「Query」タブで、データソースとして先ほど設定したPostgreSQL(EDRアラートDBなど)が選ばれていることを確認します。
  2. 鉛筆アイコン(Edit SQL)をクリックし、SQLエディタモードにします。
  3. 以下のSQLクエリを入力します。SQLSELECT 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";
  4. 画面右側のパネル設定で、ビジュアライゼーション(Visualization)が**「Time series」**(時系列)になっていることを確認します。
  5. これで、時間経過とルールごとのアラート件数がグラフ化されます。

例2:重大度(Severity)の内訳(棒グラフ)

どの重大度のアラートが多いかを可視化します。

  1. ダッシュボードに戻り、再度「Add new panel」をクリックします。
  2. SQLエディタに以下のクエリを入力します。SQLSELECT severity, COUNT(alert_id) AS "件数" FROM schema_edr.tt_alert WHERE $__timeFilter(detected_at) -- これも時間範囲で絞り込む GROUP BY severity ORDER BY "件数" DESC;
  3. 画面右側のビジュアライゼーション(Visualization)から**「Bar chart」**(棒グラフ)を選択します。

7. ダッシュボードの保存

  1. 各パネルを「Apply」で適用し、ダッシュボード右上の「保存(フロッピーアイコン)」ボタンをクリックします。
  2. ダッシュボードに名前(例: “EDR 統合監視”)を付けて保存します。

Metabaseが「手軽なデータ探索」に強いとすれば、Grafanaは「専門的な監視とアラート」に強いツールです。特に、Grafanaにはパネルの閾値(しきい-ち)に基づいてアラート(EmailやSlack通知など)を飛ばす機能が標準搭載されており、EDRの運用と非常に相性が良いです。

タイトルとURLをコピーしました