設定を残した状態で、保存データのみリセット

いつもFORUMを見させて頂いています。

現在アイテムやトリガー、サービスサーバのホスト等一通りの設定は完了し、1.8.1のリリースを
心待ちにしている状態です。

zabbix-server用サーバのハードディスク容量が元々非常に少なかったという事も有るのですが、気がついたら
zabbixがデータを格納しているpostgresqlのdataディレクトリがその容量の大半を占める状態になっていました。

アイテムの監視間隔を全体的に少し長めにはしましたが、容量の増加スピードが遅くなるものの
容量に空きが出来る訳ではないので、とりあえず設定は残した状態で過去の監視データを綺麗さっぱり
データベースから削除したいと思っています。

アイテムの設定で「すべて」のアイテムを選んだ後にヒストリの削除を実行したものの
時間が長くかかりすぎてセッションが切れる等、上手くいきませんでした。

このような場合、どのような手段を実行するのが良いでしょうか?

コメント表示オプション

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

こんにちは。

アイテムのヒストリを削除する場合は、アイテム設定画面の「ヒストリを削除」から行うのが一番早いと思います。長くかかりすぎてセッションが切れてしまう場合は何度か同じ手順でデータを削除するか、ホストごとに削除するなどの方法ではうまくいかないでしょうか?

もしくは、いちどアイテムの設定の「ヒストリの保存期間」の設定を短くしておいて、housekeeper(デフォルト1時間ごとに動作)の削除処理にまかせてみる方法もあると思います。

ユーザー KAZ の写真

MINTIAさん

アイテムの設定で「すべて」のアイテムを選んだ後にヒストリの削除を実行したものの
時間が長くかかりすぎてセッションが切れる等、上手くいきませんでした。

どれぐらいのアイテムを消そうとしているのでしょうか?

また、PostgreSQLはデフォルト設定でしょうか?
デフォルトの場合は、postgresql.confを弄ってチューニングした方が良いです。(デフォルトはかなり厳しいです。)

ちなみに、postgresql.confでlog_min_duration_statementは設定していますか?その閾値を超えたSQLが遅いSQLだと思うのですが…
遅いSQLが分かれば調査もできると思います。

只、本業の方が忙しいので時間がかかるかもしれません。

ユーザー MINTIA の写真

返信ありがとうございます。
それぞれの返信を参考に試してみました。

>kodaiさん
細かいグループ毎に選択を行い、全ホストでヒストリ削除を
行いましたが、特に容量は減りませんでした。
またhousekeeperはマニュアルを見たところ、postgresqlだと
バキュームを行うみたいなので、手動でバキュームを行いましたが
こちらも少し容量は減ったものの、依然としてdataディレクトリの
容量は多いままです。

アイテム設定のヒストリの保存期間と、設定→一般設定→データの保存期間で
アクションとイベントの保存期間を全て0日にしましたが、確かに
データやヒストリの保存はされなくなったものの、こちらも容量は特に変化は
有りませんでした。

とりあえずこの時点で容量の増加は緩やかになったものの、このままだと
履歴が残らないので、何とか容量を減らして元の保存期間に戻したいと
思っています。

>KAZさん
アイテムの数的には、デフォルトのlinuxテンプレートに手を加えた物と
各種ミドルウェアテンプレートの集まりで、恐らくサービスサーバを
zabbixで監視している方々と同じ位の数では無いかと思っています。

postgresql.confは主にメモリに関わる部分はチューニングしましたが
それ以外の部分はデフォルト値のまま運用している箇所も
有りますね・・・。
log_min_duration_statementは設定してあります。
確かに今回の件に限らず、運用していく上で遅いSQLが有ったらチェックした
方がよいですね。そちらにも気を配ってみます。

監視サーバのpostgresqlはzabbix専用なので、インストールし直して設定だけ
移植できれば手っ取り早いのですが、既にサービスサーバの監視も始まって
ますし、テンプレートでアクション等は移植できないので、出来れば運用
したまま容量を減らしたいです。

見積もりが甘かった自分の不手際なのですが、アドバイス等頂ければ幸いです。

ユーザー KAZ の写真

MINTIAさん

>KAZさん
アイテムの数的には、デフォルトのlinuxテンプレートに手を加えた物と
各種ミドルウェアテンプレートの集まりで、恐らくサービスサーバを
zabbixで監視している方々と同じ位の数では無いかと思っています。

現在運用している私が設定しているzabbixでは不要なアイテムやテンプレートは全て削除しています。監視項目は多いホストで100項目以上ありますが、通常の監視は10〜20項目程度です。
ここら辺は監視情報をどの様に扱うかにかかってくるかと…

postgresql.confは主にメモリに関わる部分はチューニングしましたが
それ以外の部分はデフォルト値のまま運用している箇所も

そこら辺を弄った上でswapが多発したりしていなければチューニングは問題ないかも知れません…

確かに今回の件に限らず、運用していく上で遅いSQLが有ったらチェックした
方がよいですね。そちらにも気を配ってみます。

pgFouineと言うソフトがあります。PostgreSQLのログを分析してレポートしてくれます。便利ですよ。

監視サーバのpostgresqlはzabbix専用なので、インストールし直して設定だけ
移植できれば手っ取り早いのですが、既にサービスサーバの監視も始まって
ますし、テンプレートでアクション等は移植できないので、出来れば運用
したまま容量を減らしたいです。

vacuumの効果がないならば、vacuum -fullをするくらいかと。
※:vacuum -full はzabbix止めないとダメですね。

ユーザー MINTIA の写真

> KAZさん
コメントありがとうございます。

vaccum -a -f も試してみましたが、既にバキュームしていた為か
容量的には変化は見受けられませんでした。

データの保存期間を0にして、ヒストリも削除した上でバキュームしても
駄目という事は、正規の手段では極端に容量を減らせないのかも
しれませんね。

サーバリプレースして容量を増加させて、ハードウェア的に
解決する方向でいこうと思います。

postgresql関連のアドバイスは大変参考になりました。
有難うございました。

ユーザー kodai の写真

こんにちは。

イベント、アクション、ヒストリなどは保存期間の設定を変更しても、housekeeperが動作しないとデータは削除されません。

housekeeperはデフォルトでは1時間ごとに実行されるようになっていますので、設定を変更してから少し待ってみてはどうでしょうか?

もしくは、ZABBIXサーバの起動時にもhousekeeperが動作するので、保存期間の設定を変更してからZABBIXサーバを再起動しても良いと思います。