• セキュリティ
  • サーバー

初めてZabbix構築してみた!

Y.Yudai
Y.Yudai
  • セキュリティ
初めてZabbix構築してみた!

IT基盤本部の山下です。

今回初めてZabbixサーバーを構築したので、大変だったことをつらつらと書き留めておこうと思います。
今後私と同じように初めてZabbixサーバーを構築する方がいた時の参考になれば嬉しいです!

Zabbixとは

まず初めにZabbixとはどういうものかを簡単に説明しようと思います。

ZabbixとはITインフラ全体を監視するためのオープンソースソフトウェアです。
Zabbixはサーバー、ネットワーク機器、アプリケーション、クラウドサービスなど、様々な機器、サービスを監視することができます。

導入背景

今回Zabbixを導入した背景としては、サーバーを監視するシステムが構築されておらず、NW機器を監視するZabbixで無理やりサーバーも監視していました。
NW機器を監視するZabbixで無理やり監視していたので、最低限の監視(死活監視)しかできておらず、
サーバーのリソースに問題が発生した場合、検知することができませんでした。
そのため、サーバーとNW機器の監視を分離し、より柔軟な監視システムを構築するために、サーバー監視用のZabbixを導入しました。

導入機器

今回サーバー監視用のZabbixを構築するにあたり、ZS-7600というアプライアンス(物理)機器を導入しました。
こちら機器はZabbixの運用に必要なアプリケーションのインストール、初期設定が既にされているので、すぐにZabbixを使用した監視を始めることができます。

設定内容

今回構築したZabbixには主に以下の設定をしました。

1. 死活監視
2.リソース監視
3.アラートメール発報

1.死活監視
監視対象のサーバーに対して1分間隔でpingを発出させます。
2分以上ping応答がなかった場合アラートを発報し、管理者にメールで伝えます。

2.リソース監視
監視対象サーバーのCPU、メモリ、ディスク使用率がそれぞれ5分平均で90%を超えた場合にアラートを発報し、管理者にメールで伝えます。
今回、監視対象のサーバーにはZabbixエージェントをインストールしなかったため、監視対象のサーバーでSNMPを有効化してもらい、SNMPを使用してリソース監視を実施しました。

3.アラートメール発報
Zabbixにてアラートを検知した場合、その内容をメールで管理者に通知します。

大変だったこと

1.検証時
今回検証用のアプライアンス機器を用意できなかったため、検証環境にVMを用意して、1からZabbixサーバーを構築しました。
私自身そもそもLinuxをそこまで触ったことがなかったので、1からZabbixサーバーを構築するのは相当時間がかかりました。
※AIの力をフル活用して構築しました...。
Zabbixサーバーを1から構築する場合、サーバーにはZabbix、DB、Webサーバーをインストールする必要があるのですが、DBとしてMySQLをインストールしました。
MySQLの初期設定をするために、rootユーザーでログインしようとしたところ、どうやってもログインができず、途方に暮れてしまいました。
調べてみたところ、MySQL5.7以降では、初期パスワードが自動で生成されるようになっており、ログを確認しないとパスワードが分からない仕様になっていました...。
※検証用サーバーにはバージョン8.0をインストールしていました。

https://qiita.com/RyosukeSomeya/items/c695487588f5ac28d9f4

また、実機を確認したところ、インストールされているアプリケーションのバージョンが検証用のサーバーと差異があったため、実機に合わせるために検証用のサーバーを構築し直す必要があり、2度手間な作業となってしまいました...。

2.初期設定確認
初めて実機を触る際に、どのような設定が入っているのか確認するためにいくつかコマンドを入力しました。
検証用のサーバーで使用できていたコマンドのため、当然実機でも使用できると思っていたのですが、実機で使用できないコマンドがいくつかありました。
※yumコマンドやaptコマンド

サポートに問い合わせを実施したところ、アプライアンス機器には新規にアプリケーション等をインストールできない仕組みになっているため、使用できないコマンドがあるとのことでした。

3.機器設定
アプライアンス機器にログを別のサーバーに転送する設定等の独自の設定をいくつかしました。
設定後に設定保存コマンド(saveconfigコマンド)を入力し、設定を保存したのですが、機器の再起動を実施したところ、独自の設定が消えてしまっていました。

サポートに問い合わせを実施したところ、設定が保存されるのは一部のフォルダ配下のみで、そこ以外に設定すると設定を保存したとしても、再起動後には設定が消えてしまうとのことでした。

そんな制約があることなど説明書にも書いていなかったので、完全に初耳でした...。

設定場所が異なるため、再設定するために再度手順の検証が必要となり、実際に設定するまでに時間がかかってしまいました。

最後に

今回初めてZabbixを構築した際に大変だったことをまとめてみました。

アプライアンス機器にはもともと運用に必要なアプリケーションや初期設定がされているので、正直そこまで大変なことはないだろうと思っていたのですが、実際に構築してみると想定外事象が多く起こってしまい、期限に間に合ったものの、ギリギリまでかかってしまいました...。

今回このような事態になってしまった大きな原因の一つとして、検証環境と実機に大きな差異があったことが考えられます。
次から本番環境が物理機器の場合、なるべく検証機器も本番環境と同様の物理機器を用意して、検証環境と本番環境の差異を少なくして、構築作業で想定外事象が発生しないようにしていきたいと思います。

新着記事一覧へ