データバックアップの必要性に関する長い説明は省略します。 私たちは皆、バックアップが必要であることを知っています。 Zabbixを積極的に使用する人は、データベースが破損したり新しいサーバーに転送されたりした場合などにデータベースを復元できる可能性についても考えています。 これに最適なオプションは複製であることは明らかですが、すべての組織が複製できるわけではありません。 Zabbixバックアップの問題がどのように解決されたかを示します。 興味がある人は猫をお願いします。
警告:以下に示すスキームは理想的ではないと考えているため、この記事はモデルとして書かれたのではなく、建設的な批判と改善のための有用なヒントを得ることを目的としています。Zabbixデータベースをバックアップする必要に直面したとき、私は遠くまで行かず、実績のあるツール
mysqldumpを使用することにしました。 redmine、glpi、drupalなどの他のWebサービスのデータベースで使用するとうまく機能しましたが、Zabbixの場合は完全に不適切であることが判明しました。 バックアップが作成され、エラーは発生しませんでしたが、雨の日が来るとバックアップの復元が必要になりました。 ダンプから比較的小さなベースをアンロードするのに約2日かかりました。 当時のデータベースが初期状態だったとすると、将来のダウンタイムは大幅に増加するでしょう。 それはまったく受け入れられませんでした。 その時、私の心は
Percona XtraBackupに落ちました。
Percona Xtrabackupは、ブロックせずにMySQLデータベースをバックアップできるオープンソースソフトウェア製品です。 Open Query、mozilla.org、およびFacebookはこのプログラムを使用しているため、これは粗雑な赤い目ではないと結論付けることができます。 私の場合、ディスクサブシステムのパフォーマンスが低いため、zabbixサーバーと一緒にPerconaを使用することはできませんでした。 PerbbaがZabbixがアクティブに書き込んでいるデータを読み取る時間がなかったために、エラーが発生することがありました。 バックアップの作成中に、zabbixサーバーを停止することが決定されました。 今日では1日約6分かかります。 特に重要なトリガーはすべてSNMPトラップに関連付けられていることを考慮すると、zabbix-serverを起動した後もまだ除外されないため、今回は非常に受け入れられます。 おそらくあなたの場合、Zabbixデーモンを停止する必要はなく、ダウンタイムはまったくありません。
それから、私にとって理想的なバックアップはどうあるべきかを考えました。 そして、最高のバックアップは気にしないバックアップであることに気付きましたが、実行されていることは知っています。 私はなんとかこの結果を達成することができました。バックアップについては心配していません。 毎朝指を交差させてサーバーに行くわけではなく、ログ、ファイルサイズ、パーティションの残りスペースを確認しません。 しかし、バックアップが行われていることは知っています。必要な情報をすべて電子メールで取得しているからです。 かなり単純なスクリプトがこれに役立ちます。これを一般に公開したいと思います。 おそらく彼には、私が疑わないいくつかの問題があるのでしょうか?
Zabbixでは、電子メール通知が設定されています。 このために、
ssmtpが使用されます。 インターネットには十分な説明があります。さらに、トピックは完全に異なると考えられているため、これについては説明しません。 Perconaとssmtpを除き、具体的なものは何も使用されていません。tar、gzip、sed、およびfindはすべてのディストリビューションに含まれています。 信頼性のために、バックアップファイルはNFSを介してリモートサーバーに複製されます。
使用されるシステム:

/ etc / zabbixおよび/ usr / share / zabbixディレクトリのファイルは、Zabbixで使用される設定および追加のスクリプトを保存するためにコピーされます。
結果のコピーからデータベースを復元するには、mysqldを停止し、ディレクトリをアーカイブから抽出したディレクトリに置き換え、MySQLデーモンを再起動します。 あなたがこれをするのにどれくらいの時間がかかるかを自分で数えてください。
すべてのシステムのすべての作業バックアップと安定した動作。