/ optパッケージはどこにログを書き込む必要がありますか?


13

カスタムパッケージをにインストールし/opt/package_name、構成ファイル/etc/opt/package_nameと静的ファイルを保存します/var/opt/package_name/static/-すべてFHSが推奨する規則に従っています。[ 1 ] [ 2 ] [ 3 ]

また、いくつかのログファイルを保存する必要があります。分析ツールで検出できるようにしたいので、従来の場所にも配置する必要があります。これらが入るべきか:

  • /var/log/package_name (これはカスタムパッケージですが、システムパッケージのように)
  • /var/opt/package_name/log/var/opt慣習に従いますが、これは発見可能ですか?)
  • 他に何か?

/ var / logをスキャンする分析ツールの例はありますか?
sourcejedi

5
答えがsyslogではないのはなぜですか?
ジョシュア

回答:


19

私はそれらを配置し/var/log/package_nameます。それはより驚きの少ない原則を満たす/var/opt/package_name/log。これについての引用はありません。ログを探す場所と一致するだけです。

また、独自のログファイルを書くのをやめて、代わりにsyslog適切なタグと機能を使用してログインすることもできます。確立された分析ツールとのクリーンな統合を探している場合、私は通信チャネルのためにより良くできるとは思わない:

  • リストされた機能として「ログ分析」を持つすべての汎用ツールはすでに監視していsyslogます。
  • ログファイルのリリースとローテーションのセマンティクスは処理されます。logrotateファイルを手放して新しいファイルを開くように指示するメカニズムを設定する必要はありません。logrotateローテーションする新しいファイルについて話す必要さえありません!
  • サイトから要求された場合、中央ログサーバーへのログのオフロードは処理されます。rsyslog必要に応じて既存の確立されたツールが使用されるため、その機能を自分で実装することを検討する必要はありません。
  • ログファイルに関するアクセス制御(POSIXやSELinuxなど)はすでに処理されているため、ディストリビューション固有のセキュリティセマンティクスにそれほど注意を払う必要はありません。

ログ用にカスタムバイナリ形式を使用している場合を除き、JSONのようなsyslogに対応したマシン解析可能なテキスト形式を好みます。独自のログファイルを正当化するのに苦労しています。分析ツールはすでにsyslog鷹のように監視しています。


8

パッケージ構成ファイルのFHS規則に従っているため、一貫性を保ち、ログファイルをに保存する必要があります/var/opt/package_name/log

FHSの状態:

/ optのパッケージの可変データは、/ var / opt /にインストールする必要があります

また、状態

/ opt、/ var / opt、および/ etc / opt階層の外部に他のパッケージファイルが存在することはできません適切に機能するためにファイルシステムツリー内の特定の場所に存在する必要があるパッケージファイルを除き、。たとえば、デバイスロックファイルは/ var / lockに配置し、デバイスは/ devに配置する必要があります。

ログファイルを配下に置く /var/optてもパッケージが正常に機能することを妨げることはないため、/var/log代わりに使用すると明らかに標準に違反します。

「これは発見可能ですか?」の意味がわかりません。とにかくカスタムログはカスタムツールで処理される可能性が高いため、一般的なツールがそれらを処理するように設計されていると仮定すると、あなたのようなバンドルされていないパッケージの標準の場所を探索する必要があります。

これsyslogは、ロギング構成を集中化および調整するための便利な機能ですが、既知のパスを持つプレーンファイルでログを保存する必要がある場合、ログの保存場所に関する問題を完全には解決しません。アプリケーションログディレクトリに保存されるファイルは、プロセスIDを保存するファイルなど、アプリケーション自体または関連するプログラムが期待するパスを使用してアクセスできるように設計されているため、機能しsyslogません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.