Zabbix のバックアップ

こんにちは。サイオステクノロジー OSS サポート担当 山本 です。

今回は Zabbix のバックアップについてお話ししてみます。

■バックアップの必要性

そもそもバックアップというのは、主にシステム上のプログラムの動作などに必要な各種データ (またはシステム環境そのもの) の複製を取っておくことです。
これは平時には基本的に使うことはありませんが、万が一システムが想定通りに動かせなくなってしまった場合 (例えば、システムを動作させているマシンの損耗や物理的な破損、外部からの攻撃、作業ミスや想定不足その他諸々でうまく動作しなくなる、などなど…)、新しくシステム環境を作り直すなり問題が発生する前のデータに戻すなりして、システムを問題が発生する前の最新の状態に復旧させるために必要になります。
他にも、新しい環境へシステムを移行させる場合などにも活用できます。

個人のものはさておき、企業で運用・管理しているサービスやデータは「システムの問題が発生して使えなくなってしまいました、もう二度と使えません」では基本的に許されません。
そして、先述のような “システムが想定通りに動かせなくなる” ような事態は滅多に起こることではないはずですが、どのような環境にも予期せず突然訪れる可能性があります。
そのため、特に企業で運用・管理しているシステムではバックアップについて考えておくことは必要不可欠です。

さて、では Zabbix については……
Zabbix は監視のためのソフトウェアであり、収集した監視データは普通 “企業の内部で確認するためのもの” であるため、万が一上手く動作しない事態に陥ったとしても直ちに致命的な影響がある可能性は低いとは言えます。
しかし、Zabbix の通知機能で検知できるようにしていた事象を検知できなくなったりなど、使い方次第では間接的な影響が出てくることも考えられるため、やはりバックアップを取得して備えておくべきでしょう。

■Zabbix のバックアップ

Zabbix で取得しておくべきバックアップは、主に以下です。

■データベース

Zabbix で使用しているデータベースには Zabbix の扱う殆どのデータ (各種監視設定、取得した監視データ、WebUI 関連の設定の一部など) が保存されています。

データベースは Zabbix ソフトウェアの中には含まれておらず、インストール時に Zabbix に対応している数種類のデータベースソフトウェアのうち一つを選んで使用しているはずです。
データベースのバックアップ方法は使用しているデータベースソフトウェア毎に異なるので、詳しい方法は各データベースソフトウェアのマニュアルを確認してください。
たとえば、mysql 系のソフトウェアを使用する場合のバックアップ方法の一例は以下のとおりです。

$ sudo mysqldump <データベース名> > zabbixdump_YYYYmm.sql

※バックアップ対象のデータベース名は、公式ドキュメントの手順どおりに作成していれば “zabbix” (oracle の場合は “ORCL”) のはずです。

なお、一般的にデータベースのバックアップの最中にデータベースの内容が書き換わることは好ましくないため、メンテナンスなどで Zabbix を停止させている間にバックアップを取得するようにしましょう。

■手軽に監視設定だけバックアップを取りたい場合

「監視設定のバックアップを取りたいけど、毎回 Zabbix 止めるのはちょっと…」という場合は、Web インターフェースのエクスポート/インポート機能で代用する方法も考えられます。

エクスポートは Web インターフェースの一部の画面に用意されている機能で、その画面で設定した項目の設定内容をファイルに書き出してダウンロードできる機能です。
例えば、”ホスト” 画面なら選んだホストとそのホストに設定したアイテム、トリガーなどの設定が書き出せます。

インポートはエクスポート機能が使える Web インターフェースの画面と同じ画面に用意されている機能で、エクスポートで作成されたファイルの設定内容を取り込むことができます。

エクスポート/インポートの詳細は以下のドキュメントを参照してください。
Configuration export/import

インポートでは古いバージョンのエクスポートで作成したファイルも基本的には読み込めるため、環境を移行する際にもこの機能は便利です。
ただし、この機能を使用できるのはあくまで一部の画面・設定であり、例えば通知機能などを扱う “アクション” ページなどには対応していないため、全設定やデータをバックアップしたい場合は先述のデータベースのバックアップが必要になります。

■各種ファイル

設定ファイルや初期設定の際に使用するファイルなどのバックアップも取得しておくことが望ましいです。
実際にファイルが配置されているディレクトリは OS やインストール方法によって異なりますが、ここでは RedHat 系 OS へ公式ドキュメントの手順 (Apache を使用する場合) でインストールした場合を例として見ていきます。

 ●設定ファイル
  ・/etc/zabbix/zabbix_server.conf (zabbix_server.conf : Zabbix Server の設定ファイル)
  ・/etc/httpd/conf.d/zabbix.conf (zabbix.conf : Zabbix Web インターフェース用の Apache 向けの設定ファイル)
  ・/etc/zabbix/zabbix_agentd.conf (zabbix_agentd.conf : Zabbix Agent の設定ファイル。監視対象側の環境に配置)
 ●初期設定用スクリプトなど
  ・/usr/share/zabbix/ 配下の各ファイル
  ・/usr/share/zabbix-*/ 配下の各ファイル

これらのファイルは自動的に書き換わるわけではないので、初期設定の完了後や設定変更を行う前などにバックアップを取るとよいでしょう。

■最後に

今回は Zabbix のバックアップについてお話ししてみました。

システムを運用する上では、Zabbix に限らずバックアップを取ることは非常に重要です。
設定を変更する前など決められたタイミング、ないしはメンテナンス毎などのように定期的なタイミングで取得するなど、事前に過度な負荷なくバックアップを取得する方法を決めておくようにしましょう。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

1人がこの投稿は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です