1.09.2標準
/usr/local/bin/healthcheckの標準出力と標準エラーをjournalへ送り、識別子healthcheckを付ける。
適切なコマンドはどれか。
× 不正解
systemd-cat -t IDENTIFIER COMMANDは子コマンドを実行し、その出力を指定識別子でjournalへ送る。
詳細解説
誤り
journalctl -t healthcheck /usr/local/bin/healthcheckjournalctl -tは既存ログを識別子で絞る。
journalctl -tは既存エントリの検索で、healthcheckを実行して出力を保存しない。
誤り
logger -t healthcheck -f /usr/local/bin/healthcheck-fは実行ファイルを起動せず、そのファイル内容を読む。
logger -fは実行ファイルのバイト内容を入力として読み、プログラムを子プロセスとして起動しない。
誤り
rsyslogd -t healthcheck /usr/local/bin/healthcheckrsyslogdはこの形で子コマンドをjournalへ接続しない。
rsyslogdはログ配送デーモンで、指定コマンドのstdioをjournalへ接続するラッパーではない。
正しい
systemd-cat -t healthcheck /usr/local/bin/healthchecksystemd-catが子コマンドの出力をjournalへ接続する。
systemd-catがhealthcheckを起動し、その出力をhealthcheck識別子でjournalへ送る。
実際に確かめる
一時的な検証環境で実行できる例です。
systemd-cat --help | grep -E -- '--identifier|-t' | head -n 1期待される結果
identifierを示すhelp行理解のポイント
- systemd-catは出力bridge
- -tはidentifier
- journalctlは読む側
確認時の注意
- 確認環境: systemd-cat help / 子コマンド実行なし
基礎のおさらい
stdout/stderrの収集
journal対応していないコマンドでもsystemd-cat経由で構造化ログ基盤へ取り込める。
識別子検索
後からjournalctl -t healthcheckで同じ識別子の記録へ絞り込める。
問題IDKL-102-1084
確認環境systemd-cat help / 子コマンド実行なし
最終技術確認2026-08-13
誤り・権利侵害を報告