システムログ(システムログ)
OS の動作・エラー・セキュリティイベントを記録するログ。Linux は systemd-journald / rsyslog、Windows はイベントビューアー、macOS は os_log が代表。
概要
システムログ(System Log)は、OS の動作・エラー・セキュリティイベント・サービス起動状態を時系列に記録するログを指す。トラブルシューティング・侵入検知・コンプライアンス監査・パフォーマンス分析の基盤となる。1980 年代の Unix syslog(RFC 3164)から始まり、2026 年現在は (1) Linux の systemd-journald、(2) Windows Event Log、(3) macOS の Apple unified logging が三大プラットフォームで運用されている。集中管理層では Loki + Grafana / ELK Stack(Elasticsearch + Logstash + Kibana)/ Splunk が業界標準。
OS 別のシステムログ
Linux
| ログシステム | コマンド | 特徴 |
|---|---|---|
| systemd-journald | journalctl | 2010 年代以降の主流、バイナリ形式 |
| rsyslog | /var/log/syslog | 伝統的、ファイルベース |
| auditd | /var/log/audit/audit.log | セキュリティ監査専用 |
| dmesg | dmesg | カーネルメッセージリングバッファ |
# 最新の SSH ログイン
journalctl -u sshd -n 50
# エラーレベル以上
journalctl -p err -b
# 特定期間
journalctl --since "2026-05-01 00:00" --until "2026-05-02 23:59"
Windows
| ログ | アプリ | 用途 |
|---|---|---|
| Event Viewer | eventvwr.msc | システム / アプリケーション / セキュリティ |
| Sysmon | Microsoft Sysinternals | 詳細な活動ログ、SOC 必須 |
| WMI Tracing | Get-WinEvent(PowerShell) | スクリプト連携 |
| ETW(Event Tracing for Windows) | Performance Monitor | 高頻度 / 低オーバーヘッド |
macOS
| ログ | コマンド | 特徴 |
|---|---|---|
| Apple unified logging | log show / log stream | 2016 年以降の標準 |
| Console.app | GUI 表示 | リアルタイム監視 |
| crash reports | ~/Library/Logs/CrashReporter | アプリクラッシュ |
集中ログ管理ツール(2026 年)
| 製品 | 形態 | 価格 | 特徴 |
|---|---|---|---|
| Loki + Grafana | OSS | 無償 | k8s / Docker 親和性、軽量 |
| ELK Stack(Elasticsearch + Logstash + Kibana) | OSS / Cloud | 無償 / Elastic Cloud $95/月- | 業界標準、フルテキスト検索 |
| Splunk Cloud | エンタープライズ | $1.80/GB 取込 | 業界最高峰、AI 検索 |
| Datadog Logs | クラウド | $0.1-/GB | APM 統合、開発者寄り |
| Logtail(Better Stack) | クラウド | $25/月- | スタートアップ向け |
| Vector(Datadog) | OSS Pipeline | 無償 | Logstash 代替、Rust 製 |
| Fluent Bit | OSS Forwarder | 無償 | Kubernetes 標準 |
主なログ種別
- アプリログ: アプリケーション固有、stdout / stderr 経由
- アクセスログ: HTTP / SSH / FTP のアクセス記録
- エラーログ: 例外・スタックトレース
- 監査ログ: 認証・権限変更・データアクセス
- セキュリティログ: ログイン試行・権限昇格・マルウェア検出
- パフォーマンスログ: CPU / メモリ / ディスク使用率
ログ管理のベストプラクティス
- ログレベル: DEBUG / INFO / WARNING / ERROR / CRITICAL を適切に使い分け
- 構造化ログ: JSON 形式で
timestamp / level / service / trace_id / messageを統一 - ログローテーション: logrotate(Linux)/ Built-in(Windows)で容量制御
- 保管期間: 一般 30 日、コンプライアンス系 1-7 年(PCI DSS / SOC 2 / ISO 27001)
- PII マスキング: クレカ / メール / 電話番号を保存時にハッシュ化
PC 自作 / 個人運用での活用
- トラブル原因究明: 起動失敗・ブルースクリーン・カーネルパニック時に必須
- ホームサーバ監視: Synology DSM / TrueNAS の組込ログ + Grafana 連携
- 個人 LLM サーバ: Ollama / vLLM のログを Loki + Grafana で可視化
- 配信 PC: OBS Studio + Streamlabs のログを定期チェック
関連用語との違い
| 用語 | 違い |
|---|---|
| アプリケーションログ | 各アプリ固有、システムログは OS レベル |
| 監査ログ | セキュリティ特化、システムログの一部 |
| メトリクス | 数値指標、ログはイベント記録 |
| トレース | 分散システムのリクエスト追跡、別レイヤ |
よくある質問
Q1: journalctl と /var/log/syslog の使い分けは? A: Ubuntu 22.04+ / Fedora 等は journalctl 一本化(rsyslog 標準で無効)。レガシー Debian / RHEL 7 系は /var/log/syslog 並存。新規プロジェクトは journalctl 推奨。
Q2: 個人開発の集中ログ管理はオーバースペック? A: 月 1 GB 程度なら Better Stack 無償枠で十分。サーバ複数台 + 自動アラートが必要なら Loki + Grafana を Docker Compose で立てる(無償・1 時間で構築)。
Q3: ログを取りすぎてストレージを圧迫する場合は? A: (1) ログレベル調整(DEBUG → INFO)、(2) ログローテーション期間短縮、(3) サンプリング(10% のみ保存)、(4) 圧縮(zstd/gzip)、(5) S3 / R2 へのコールドストレージ移送。
まとめ
- OS の動作・エラー・セキュリティを記録する 基盤ログ
- 2026 年は systemd-journald / Windows Event + Sysmon / Apple unified logging が三大主流
- 集中管理は Loki + Grafana / ELK / Splunk で業務統合