カスタムパッケージを/opt/package_name
にインストールし、構成ファイルを/etc/opt/package_name
に、静的ファイルを/var/opt/package_name/static/
に保存しています。すべてFHSの推奨する規則に従っています。 [ 1 ] [ 2 ] []
いくつかのログファイルも保存する必要があります。分析ツールで見つけられるようにしたいので、従来の場所にも置く必要があります。これらが入る必要があります:
/var/log/package_name
(これはカスタムパッケージですが、システムパッケージのように)/var/opt/package_name/log
(/var/opt
規約に従いますが、これは発見可能ですか?)/var/log/package_name
に配置します。 /var/opt/package_name/log
よりも驚きを最小限に抑えるという原則を満たしています。これについての引用はありません。ログを探す場所と一致します。
また、独自のログファイルを作成することを控え、適切なタグとファシリティを使用してsyslog
にログを記録することもできます。確立された分析ツールとの完全な統合を探している場合、私は通信チャネルに対してもっとうまくできるとは思えません。
syslog
を監視しています。logrotate
のメカニズムを設定する必要はありません。ローテーションする新しいファイルについてlogrotate
に通知する必要さえありません!rsyslog
などの既存の確立されたツールが必要に応じて使用されるため、その機能を自分で実装することを考える必要はありません。ログにカスタムバイナリ形式を使用している場合を除いて、それでも、JSONのような、syslogに適した機械で解析可能なテキスト形式を好みます。自分の個別のログファイルを正当化するのに苦労しています。分析ツールはすでにタカのようにsyslog
を監視しています。
パッケージ構成ファイルのFHS規則に従っているので、一貫性があり、ログファイルを/var/opt/package_name/log
に保存する必要があります。
FHSは次のように述べています。
また、状態
/var/opt
の下にログファイルがあっても、パッケージが正しく機能するのを妨げないため、代わりに/var/log
を使用すると、標準に明らかに違反します。
「これは発見可能ですか」という意味がわかりません。カスタムログはとにかくカスタムツールによって処理される可能性が高いので、汎用ツールがそれらを処理するように設計されていると想定すると、バンドルされていないパッケージの標準の場所を探索する必要があります。
syslog
は、ログ構成を集中化および調整するための便利な機能ですが、既知のパスを持つプレーンファイルにログを保存する必要がある場合、ログの保存場所に関する問題を完全には解決しないことに注意してください。アプリケーションログディレクトリに保存されているファイルの中には、アプリケーション自体または関連するプログラムから期待されるパスを使用してアクセスできるように設計されているものがあります。たとえば、プロセスIDを保存するファイルは、syslog
が機能しません。