はじめに
Apache Geodeのログについてあえて記載します。ログに関しては大きな罠があるためです。
1. デフォルトではログは無制限にたまり続ける
2. Javaクライアントを使用すると、Log4j2の使用を強制される
1については、ある日突然サーバ停止の憂き目に会います。2についてはシステム全体でログ方針が決まっている組織においては、採用を見送る事に繋がります。
実際私のチームではLogbackを採用した監視システムを構築していたため、Geodeを使用するためだけに大きな移行コストを払うことになりました。事前にこの事が判明していれば、Geodeの採用はなかったことでしょう。
ログレベルを変更する
デフォルトでは大量にログが出てしまうため、安定稼働へ移行した場合は、ログレベルを下げる事で容量を節約できるでしょう。
gfsh>start locator --name=locator --log-level=WARN
gfsh>start server --name=server --log-level=WARN
ファイルサイズを制限する
1ファイル辺りのファイルサイズと、全体のファイルサイズを制限することができます。
公式サイトではgemfire.properties
を使用する方法が紹介されています。下記のようにファイルを作成します。
#1ファイル辺りのサイズ(MB)
log-file-size-limit=100
#全体のファイルサイズ(MB)
log-disk-space-limit=1000
gfsh>start locator --name=locator --log-level=WARN --properties-file=./gemfire.properties
試したことはないですが、おそらくJオプションでも設定は可能と思います。
gfsh>start locator --name=locator --log-level=WARN --J='-Dlog-file-size-limit=100 -Dlog-disk-space-limit=1000'
Log4j2を使用する
さらに詳細なログ設定が必要な場合あ、Log4j2を利用できるようです。
http://geode.apache.org/docs/guide/16/managing/logging/configuring_log4j2.html
まとめ
利用状況にもよりますが、ある日突然のサーバ停止を招かないためには、本番運用をしていくうえでは、ログの設定は必須と考えます。