監視項目等の過去に取得した値をまるっと初期化するには何か方法が無いか調べていた時に試してみたことを記載。
Zabbixにも一応機能はあるけど、チェックボックスを一つ一つつけていかなきゃいけないため台数が多いと非常に手間。ということでDBの特定テーブルを手動で初期化することしかない模様。
##どのテーブルを初期化するべきか
下記スクリプトを参考にしてこのあたりを初期化(truncate)する。
https://github.com/maxhq/zabbix-backup/blob/patch-1/zabbix-mysql-backupconf.sh
acknowledges alerts auditlog_details auditlog events
history history_log history_str history_str_sync history_sync history_text
history_uint history_uint_sync trends trends_uint
truncateできない!
テーブルによっては(auditlogとか)外部キー制約がかかっているのでそんな時は下記のように
一時的に制約を無視してからtruncateする。
mysqlの外部キー制約でtuncate table エラー ERROR 1701 (42000|IT忘備録・メモ書きと日記
mysql> set foreign_key_checks = 0;
終わったらちゃんと戻す
mysql> set foreign_key_checks = 1;
実際にはこの前に、hostとかtemplateとかの設定をコピーしてからDBを再作成する方法を試そうとしましたが、アクションとかバックアップ取れない項目があったのでこの方法になりました。
今のところ普通に値が取れてる模様。
不具合(この設定消えてる!とか)がありましたら教えて頂けると当方も助かります。