Skip to content

Yagura v0.2.0

Choose a tag to compare

@Yanai-Taketo Yanai-Taketo released this 06 Jul 21:47
· 221 commits to main since this release
0dad6d0

Yagura v0.2.0

Windows イベントログも、syslog と同じ画面へ。

v0.1.0 に続く機能リリースです。引き続き評価・試用向けであり、本番利用はまだ推奨していません(v1.0 の公開基準は ADR-0006 参照)。

v0.2 の新機能

Windows イベントログの転送(Fluent Bit 配布キット)

  • フォワーダ配布キット同梱: Fluent Bit(Apache-2.0)で Windows 端末のイベントログを RFC 5424 syslog として Yagura へ転送するキット(forwarder/fluent-bit/)。サイレント導入対応(install.ps1)で、Intune / SCCM / GPO などの配布基盤から無人展開できます(#99)
  • 重大度・イベント ID・チャネルを保って転送: Windows の Level を syslog severity へ対応づけ(エラーはエラーとして色分け表示)。イベント ID とチャネルは RFC 5424 構造化データで運びます(#101#104)
  • 管理画面でキットを生成(NEW): 管理 UI の「フォワーダキット生成」画面で宛先・チャネルを選ぶと、自機を指す設定入りキット(ZIP)をそのままダウンロードできます(ADR-0008#106)
  • 手順書: Windows イベントログを Yagura へ転送する(Windows Server 2025 実機で導入 → OS 再起動 → 転送再開まで検証済み)

SQL Server への切替がフォームで完結

  • 昇格ウィザードを改善: サーバ名・データベース名・認証方式(Windows / SQL Server)を項目で入力し、接続文字列は Yagura が組み立てます。SQL Server 認証のパスワードはマスク表示・DPAPI 暗号化(#102)
  • 検証に失敗したら、次の一手を画面が提示: 証明書エラーやログイン失敗(18456 等)の原因別に、コピーして使える修復 SQL・接続オプションを表示します(#102)

閲覧画面の改善(試用フィードバック反映)

  • 送信元 IP に逆引き(PTR)ホスト名を併記(送信者が名乗るホスト名とは別軸の補完。ADR-0007#103)
  • ログ詳細をオーバーレイ表示に(結果の下に埋もれない)+ 重大度の色帯ヘッダー(#93)
  • 受信量グラフは棒にカーソルを合わせるとその時間帯と件数を表示(#94)
  • ファシリティを「番号: 名前」で表示(例: 3: デーモン)
  • 取りこぼし(累計)カードに「サーバ起動からの累計・この画面を開いてからの増分」を併記し、過去分と進行中を見分けられるように(#97)
  • 管理ポート(8515)で開いたときは左ナビに管理画面への導線を表示・カード高さ揃え(#96)
  • Windows イベントログへの運用通知を日本語化(#95)

インストール / アップグレード

  1. 下の Assets から Yagura-0.2.0.msi(約 45 MB)をダウンロードして実行
  2. v0.1.0 からのアップグレードは MSI 実行だけ: 設定・保存済みログ・SQL Server 接続はそのまま引き継がれます(実機で 0.1.0 → 0.2.0 系のアップグレードを検証済み。アップグレード中の受信停止は数秒で、停止区間は Yagura 自身が「受信できなかった時間帯」として記録します)
  3. 新規の場合: 機器の syslog 送信先をこのサーバの UDP 514 / TCP 514 へ → ブラウザで http://<サーバ名>:8514/

改ざん確認: Yagura-0.2.0.msi.sha256 と突合してください。

Get-FileHash .\Yagura-0.2.0.msi -Algorithm SHA256

セキュリティの前提: 既定構成は管理された社内ネットワーク向けです(受信は平文・閲覧 UI は認証なしで LAN 公開・管理操作は localhost 限定)。インターネットに露出するホストには置かないでください。詳細: SECURITY.md

ゼロ設定ファーストランの検証記録(ADR-0006 基準 1)

リリース時点の main に対し、GitHub Actions(windows-latest)上で実 MSI による自動検証を実行しました:
サイレントインストール → サービス起動 → UDP 514 へ送信 → 閲覧画面(8514)で確認 → アンインストール → 残置物確認。

{
  "schemaVersion": 1,
  "runId": "YAGURA-E2E-37b2d59e398a41438a336027c619d300",
  "mode": "Full",
  "overall": "Passed",
  "startedUtc": "2026-07-06T21:43:18.8141080Z",
  "finishedUtc": "2026-07-06T21:43:49.7126741Z",
  "msiPath": "D:\\a\\Yagura\\Yagura\\installer\\bin\\Release\\ja-JP\\Yagura.msi",
  "udpPort": 514,
  "viewerBaseUrl": "http://localhost:8514/",
  "machine": {
    "computerName": "runnervmuktm0",
    "osVersion": "Microsoft Windows NT 10.0.26100.0",
    "userName": "runneradmin"
  },
  "steps": [
    { "name": "preflight", "status": "Passed", "detail": "msi=D:\\a\\Yagura\\Yagura\\installer\\bin\\Release\\ja-JP\\Yagura.msi admin=ok", "durationMs": 45 },
    { "name": "install-msi", "status": "Passed", "detail": "msiexec exit code 0 (log: msiexec-install.log)", "durationMs": 21992 },
    { "name": "wait-service-running", "status": "Passed", "detail": "service \"Yagura\" is Running", "durationMs": 38 },
    { "name": "installed-state-evidence", "status": "Passed", "detail": "firewall rules present (Yagura Syslog (UDP 514); Yagura Syslog (TCP 514); Yagura Viewer (TCP 8514)), data root and firewall-rules.ini present", "durationMs": 1985 },
    { "name": "send-and-verify", "status": "Passed", "detail": "token YAGURA-E2E-37b2d59e398a41438a336027c619d300 visible on http://localhost:8514/ after 1 datagram(s) to udp/514", "durationMs": 1242 },
    { "name": "verify-interactive-framework-script", "status": "Passed", "detail": "blazor.web.js served: HTTP 200, 200538 bytes", "durationMs": 192 },
    { "name": "uninstall-msi", "status": "Passed", "detail": "msiexec exit code 0 (log: msiexec-uninstall.log)", "durationMs": 5069 },
    { "name": "residue-service-removed", "status": "Passed", "detail": "service \"Yagura\" removed", "durationMs": 2 },
    { "name": "residue-firewall-removed", "status": "Passed", "detail": "no Yagura* firewall rules remain", "durationMs": 260 },
    { "name": "residue-startmenu-removed", "status": "Passed", "detail": "start menu folder removed", "durationMs": 0 },
    { "name": "residue-dataroot-retained", "status": "Passed", "detail": "data root retained with yagura.db: C:\\ProgramData\\Yagura", "durationMs": 1 },
    { "name": "residue-installdir-removed", "status": "Passed", "detail": "install dir removed", "durationMs": 0 }
  ]
}