Speee DEVELOPER BLOG

Speee開発陣による技術情報発信ブログです。 メディア開発・運用、スマートフォンアプリ開発、Webマーケティング、アドテクなどで培った技術ノウハウを発信していきます!

Zabbixによるシステム監視

こんにちは。
管理部 エンジニア のインフラ熊さんです。
主な業務は社内SEをやっています。

社内システムの統合監視システムとしてZabbixを使っていくので、
「実際Zabbixの何が良いのか?」を改めて確認しながら監視までの一連の流れを説明してみます。

初期設定が面倒臭い

使っていくって言ってるのにいきなりディスってますが・・・。

Zabbixを監視システムとして選択しない理由の中でよく聞くのがこの「初期設定が面倒臭い」
確かにZabbixのメイン機能を使うにはzabbix_agentを各サーバーにインストールした後
2点ほど設定しなければなりません。

しかし、それ以上に得られる情報の豊富さ、グラフの見易さ、GUIによる運用者の管理のしやすさ等
対技術者ではなく対監視運用者に優しい設計になってます。

監視アイテムの設定

Zabbixサーバーのインストールについてはさまざまな所で公開しているので、
ここではあえてインストールの詳細は省きます。
(長くなってしまうので)

今回作った環境はこちらになります。
・Zabbixサーバー CentOS6.5 Zabbix2.2
・監視クライアントサーバー CentOS6.5

ご覧の通り、簡単お手がるテスト構成です。

次に面倒臭いと言われているクライアント側の設定です。
この2つを設定します。

Server=10.10.10.10(Zabbixサーバーアドレス) Hostname=test1(今回はtest1ですが環境に合わせてnameしてください)

yum -y install zabbix-agent
vi /etc/zabbix/zabbix_agentd.conf
### Option: Server
#       List of comma delimited IP addresses (or hostnames) of Zabbix servers.
#       No spaces allowed. If ServerActive is not specified, the first entry is used
#       for receiving list of and sending active checks.
#       If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally.
#
# Mandatory: yes
# Default:
# Server=

Server=10.10.10.10
### Option: Hostname
#       Unique, case sensitive hostname.
#       Required for active checks and must match hostname as configured on the server.
#       Value is acquired from HostnameItem if undefined.
#
# Mandatory: no
# Default:
# Hostname=

Hostname=test1

ここからはGUIの操作になってきます。

これがZabbixのダッシュボードです。
ここに全ての情報が集まって監視できるようになっています。

では早速ホストを追加して見ましょう。

「設定→ホスト→ホストの作成」を行います。

作成画面がこちらになります。
ここで入力することは3つです。
先ほど監視されるサーバーのzabbix_agentd.confに記載したホストネーム(今回はtest1と設定)と 同じ名前のものをホスト名に入力します。
わかりやすくするために、表示名も合わせたほうがいいと思います。

グループはデフォルトでセットされているLinux Serversを設定します。
※これは監視サーバー群を任意のグルーピングに所属させる場所になります

最後に監視対象のIPアドレスを入れてあげます。
DNSでの設定でも問題ありません

追加完了すると下の画面が表示されます。

しかしこのままだと監視アイテムを作るのが非常に面倒です。
なのでこのホストに監視アイテムのテンプレートを追加してあげます。
「ホストの一覧→ホスト名を選択(今回はtest1)」

先ほどのホスト登録画面が表示されるのでテンプレートタブを選択します。
新規テンプレートリンクのテキスト入力でlinuxと入力すると
下の画面の様に表示されますのでTemplate OS Linuxを選択して追加してから保存します。


保存するとホスト一覧のテンプレートの項目にTemplate OS Linux (Template App Zabbix Agent)が表示されていると思います。
これで監視アイテム設定がほぼ完了です。

次にスクリーンの作成を行います。
登録したテンプレートがあるので簡単に作成できます。
「設定→スクリーン」でスクリーンを追加します。
そこでテンプレートアイテムを指定します。

すると下の画面の様に簡単にパフォーマンスビューが作成できます。

この後はこのアイテムの閾値を決めてトリガーを設定し、アラートメールの発行など行い、
ダッシュボードの表示を見やすくしたりして、より統合監視環境を作っていく形になると思います。

気をつけるポイント

CentOSではSelinuxiptablesの設定でよく躓く方が居るようです。

下記の2つのコマンドを実行して、Zabbixの設定に問題ない事を確認し、
問題がなければ、Selinuxの設定を戻して、iptablesでportを追加してあげると良いと思います。

setenforce 0
service iptables stop

最後に

一度Zabbixサーバーを立ててしまえば後はAgentのインストールと簡単な設定だけで
監視のホスト設定はLinuxグループの設定をコピーして再活用する事ができます。
GUI操作なので監視運用者が1台あたりの作業コストとして手馴れてくれば5分もあれば完了します。

これが手間だといえばそうですが、しっかりとした監視ビューとレポート機能を持っていて
Zabbixは障害時にも大変役に立ちます。

ですが、一番の利点はやはりレスポンス低下時の原因追及ですね。
視覚的にネットワーク、CPU、メモリ、HDD等を確認できるので容易にボトルネックを見つける事ができます。
この部分を踏まえるとZabbixを導入する優位点は大きいと考えられます。

今後、社内でのシステム監視にZabbixの導入を検討されている方に、
このブログが参考になれば幸いです。