ディスク使用率を減らす方法

Zabbixを監視サーバとして、下記のバージョンを使用しており、DBは同梱版のPostgreSQLを使用しております。

・zabbix-server-pgsql-3.4.6
・zabbix-agent-3.4.6

現在監視アラート件数が増大し、DB領域のディスク使用率が増加してしまい、使用率90%を超えてしまっています。
ディスク使用率を減らす、推奨方法はVACUUM FULLを実施する方法でしょうか。

監視アラートはalertsテーブルに保存されていると思いますが、他に監視アラートを保存するテーブルはありますでしょうか。

以上、よろしくお願いします。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー wakaba の写真

①まずは、アラートデータをZABBIX上から保持期間を短くしましょう。
3.0以降なら、管理 -> 一般設定 -> データの保存期間で「イベントとアラート」の
保持期間を短くします。その後、VACCUMの実行です。順番間違えると意味ない
ので、ご注意ください

②VACUUMが良いか、FULLが良いかは状況、条件次第でデメリットもあります。
FULLが推奨という訳でもありませんのでご注意ください。またFULL実行時は
テーブルロックされますので、ZABBIXは処理終了まで止める必要があります。
VACUUM、またはFULLのどちらが正しいかという点は議論出来るほど知識は無
いので、任意の方式をとって頂くしかありません。

参考:https://wiki.postgresql.org/wiki/VACUUM_FULL/ja

尚、「他に監視アラートを保存するテーブル」って概念は存在しません。
少々ご質問の意味がわかりかねるので回答しづらいで、この場合は出来ませんと
お答えしておくに止めます。

ユーザー hellozabbix の写真

wakaba 様

返事ありがとうございます。教えていただいた手順で確認します。

ユーザー hellozabbix の写真

wakaba 様

バタバタして、まだVACCUMの実行ができていないですが、もう一つ確認させてください。

>①まずは、アラートデータをZABBIX上から保持期間を短くしましょう。
>3.0以降なら、管理 -> 一般設定 -> データの保存期間で「イベントとアラート」の
>保持期間を短くします。その後、VACCUMの実行です。順番間違えると意味ない
>ので、ご注意ください

保存期間を変更後、VACCUMの実行前、一時間(一定の期間)を空けたほうがいいでしょうか。
保存期間を変更後すぐにVACCUMを実行すると、保存期間の変更によるデータ削除が行われない不安があります。
それとも、時間を空けなくてもVACCUMの実行は、保存期間の変更によるデータ削除が行われますでしょうか。

ユーザー TNK の写真

housekeeperによる削除が実行されるのは1時間に1回なので、保存
期間を変更後、1時間程度は待った方が良いでしょう。

削除処理が実行されると、Zabbixサーバーのログに出力されるので
ログファイルを確認してください。

housekeeperによってデータが削除されて未使用領域ができていな
ければ、VACUUMの処理を行ってもディスクの空き領域は増えないと
思います。