こんにちは!システム監視の要である「Zabbix」ですが、日々大量の監視データを処理しているため、放っておくとZabbixサーバー自身のログ(zabbix_server.log)は瞬く間に巨大化してしまいます。
ログの肥大化はディスク容量を圧迫し、最悪の場合はサーバー停止を引き起こすことも……。そのため、適切なログローテーション(世代管理)の設定は必須です。
Zabbixサーバーのログローテートには、大きく分けて以下の2つのアプローチがあります。
-
Zabbixの標準機能(自動ローテーション)を利用する方法
-
Linux標準の
logrotateコマンドを使用する方法
今回は、それぞれの具体的な設定手順と、実運用における選び方のポイントを分かりやすく解説します!
結論:どちらを選ぶべき?
通常の実運用では、ログの保存期間や要件に合わせて選ぶのが最適です。
-
「最新のログと、その一世代前だけ残れば十分」 👉 手軽な オプション1(Zabbix標準機能) がおすすめ!
-
「過去のログを日別で長期間保存したい」「圧縮して容量を節約したい」 👉 柔軟な オプション2(Linuxのlogrotate) が最適!
オプション1:Zabbix標準のログローテートを使用する場合(推奨・シンプル)
Zabbixサーバーのプロセスには、指定したファイルサイズに達した際に自動でログをローテートさせる機能が最初から組み込まれています。OS側の設定を弄る必要がないため、最もシンプルで確実な方法です。
⚙️ 設定手順
-
Zabbixサーバーの設定ファイルを開きます。
Bashsudo vi /etc/zabbix/zabbix_server.conf -
LogFileSizeパラメータを見つけて編集します(例として最大10MBに設定する場合)。PlaintextLogFileSize=10-
0: 自動ローテーションを無効化(ログが無限に肥大化するため、実運用では非推奨)。 -
1〜1024: ログファイルの最大サイズをMB単位で指定。設定値に達すると、現在のログがzabbix_server.log.oldにリネーム(上書き)され、新しい空のログファイルが自動作成されます。
-
-
設定を反映するため、Zabbixサーバーのプロセスを再起動します。
Bashsudo systemctl restart zabbix-server
オプション2:Linuxの logrotate を使用する場合(長期保存・圧縮向け)
「過去ログを1週間分残したい」「容量節約のために過去ログを .gz 形式で圧縮したい」という場合は、OS標準の logrotate ツールを使用します。
⚙️ 設定手順
-
まずはZabbix自身の設定ファイル(
/etc/zabbix/zabbix_server.conf)を開き、Zabbix側のローテート機能を無効化(0に設定)します。PlaintextLogFileSize=0(※両方のローテート機能が有効になっていると、動作が衝突してログが破損する恐れがあります)
-
続いて、logrotate用の設定ファイルを新しく作成します。
Bashsudo vi /etc/logrotate.d/zabbix-server -
ファイル内に以下の内容を記述して保存します。
Plaintext/var/log/zabbix/zabbix_server.log { su zabbix zabbix daily rotate 7 compress missingok notifempty create 0644 zabbix zabbix sharedscripts postrotate systemctl reload zabbix-server > /dev/null 2>/dev/null || true endscript }-
daily: 毎日ローテートを実行。 -
rotate 7: 過去7日分のログを保持。 -
compress: 過去ログを圧縮(.gz)して保存。 -
postrotate内の記述: ローテート完了後、Zabbixサーバーにログファイルを安全に再読み込み(リロード)させます。
-
-
設定後、正しく動作するか以下のコマンドでテスト(デバッグ)を実行します。
Bashsudo logrotate -d /etc/logrotate.d/zabbix-server(※
-dオプションはテストモードです。実際にはローテートを実行せず、設定の構文エラーなどをチェックできます)
まとめ
ログの管理はサーバーの安定運用、ひいては監視システム全体の信頼性に直結する重要なポイントです。
ディスク容量の圧迫によるトラブルや、プロセス高負荷時にログが正常に閲覧できないといった問題を防ぐためにも、構築段階で必ずどちらかの設定を入れておきましょう。もし運用のトラブルに直面した場合は、公式の「Zabbixトラブルシューティング」などのナレッジをベースに対処していくのが確実です。
自社の運用ポリシーに最適なログ管理を設定して、快適なZabbixライフを送ってください!
