Open6

Go経由でのjournalログの扱いとjournaldの挙動を調査

NoboNoboNoboNobo
  • /etc/systemd/journal.confのStorage=autoがデフォルト。
  • これは「/var/log/journal」フォルダの有無で挙動が変化する。
  • 上記なしなら「/run/log/journal」に出力され、ここはtmpfsなのでリブートごとに消失する。
  • レート制限がデフォルトで30秒に1000件。
  • デフォルトで/var/log/journalを持つファイルシステム容量の10%まで記録する。
  • 「journalctl --disk-usage」で使用容量確認。
  • 「sudo journalctl --vacuum-size=50M」で最新から50M以外を削除する(容量指定は目安)。
NoboNoboNoboNobo

SYSLOG_IDENTIFIERが「journalctl -t <タグ>」で分類されるフィールド。

NoboNoboNoboNobo

CGOが絡むとクロス開発はdockerに頼ることになるが、systemd関連はdocker内で動かすのが難しくツラい。

NoboNoboNoboNobo

_BOOT_IDを比べればRebootしたかどうかが判定できる。