ZabbixでSoftLayerを監視してみよう!
[PR]
SoftLayer環境の監視
SoftLayerが提供する監視サービス
SoftLayerではSoftLayer環境の監視サービスを用意しています。サーバーをオーダーする際に指定することができ、ping監視とメール通知程度であれば無償で利用できます。有償オプションを選択することで、ネットワークトラフィックやアプリケーションの監視も可能となってます。通常は監視と自動通知ですが、アドオンとして有人監視サービスもあり、大抵の要件は満たせるようなサービスが提供されています。
この監視にはCA Technorogies社のCA Nimsoftを使っていて、サーバーをオーダーする際にデフォルトでは無償の監視サービスが選択されており、自動でエージェントがインストールされます。オーダー時に「none」を選択することでこのエージェントがインストールされないようにすることもできます。
Zabbixによる監視
SoftLayerの提供する監視サービスを使うこともできますが、昨今は既にZabbixを使っている方も多く、既存環境と統合的に監視したり、運用時のオペレーションを考え、既存環境と同じ仕組みにしたいということが度々あります。
今回、そうした需要を鑑み、Zabbixを使ってSoftLayer環境を監視する際のポイントをまとめました。Zabbix自体の細かな設定には今回は触れません。
Zabbixの環境構築
環境
今回は「Zabbix Server」とともにZabbixのフロントエンドを導入する監視サーバーと「Zabbix Agent」を導入する監視対象として仮想サーバー1台、ベアメタルサーバー1台を使用します。OSはCentOS7を使用し、Zabbix Serverは最新の安定版であるZabbix2.4を使用します。
監視サーバーのテンプレートはLAMP環境が入ったものを選択し、データベースについてはCentOS7では標準となったMariaDBを使用したインストールを行います。仮想サーバーではZabbix Agentを用いた監視を行い、ベアメタルサーバーではIPMIを用いた監視を行います。
ホスト名 | Zab1 |
---|---|
テンプレート | CentOS7.0-64 LAMP for VSI |
パブリックIPアドレス | XX.XX.XX.1 |
プライベートIPアドレス | 10.YY.YY.1 |
ホスト名 | zab2 |
---|---|
テンプレート | CentOS7.0-64 Minimal for VSI |
パブリックIPアドレス | XX.XX.XX.2 |
プライベートIPアドレス | 10.YY.YY.2 |
ホスト名 | zab3 |
---|---|
オペレーティングシステム | CentOS 7.x (64 bit) |
パブリックIPアドレス | XX.XX.XX.3 |
プライベートIPアドレス | 10.YY.YY.3 |
Management IP アドレス | 10.YY.YY.4 |
監視サーバーにおけるZabbix Serverの構築
1.リポジトリの登録
今回の環境は、Zabbix ServerのOSはCentOS7、Zabbix2.4なので、これに合わせ、Zabbixのインストールを行うためのリポジトリを登録します。
# yum install http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-release-2.4-1.el7.noarch.rpm
2.Zabbix Serverのインストール
登録されたリポジトリを使ってZabbix Serverのインストールを行います。日本語のUIと、MariaDBの中身は基本的にはMySQLと変わらないので、データベースはMySQLを指定します。途中で2回確認がありますが、2回とも「y」を入力します。
# yum install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese
3.MariaDBの設定
既にインストールされているので、設定を追加します。Zabbixサーバーにて日本語が文字化けなどうまくいかないことがあるので、利用する文字コードを明示的に設定します。
innodb_file_per_tableを有効にすることで、各テーブルを別ファイルとして作成します。性能、管理性の向上が見込めます。
# vi /etc/my.cnf.d/server.cnf [mysqld] character-set-server = utf8 collation-server = utf8_general_ci skip-character-set-client-handshake innodb_file_per_table
MariaDBを再起動します。
# systemctl restart mariadb
4.MariaDBデータベースの作成
データベースの作成と接続するためのユーザーを作成します。
データベース名 | zabbix |
---|---|
ユーザー名 | zabbix |
パスワード | softlayer |
# mysql -uroot mysql> create database zabbix; mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'softlayer' ; mysql> flush privileges; mysql> exit
5.初期データの投入
Zabbixで使用する各テーブルのスキーマ、イメージデータ、初期データを投入します。
# cd /usr/share/doc/zabbix-server-mysql-2.4.4/create/ # mysql -uroot zabbix < schema.sql # mysql -uroot zabbix < images.sql # mysql -uroot zabbix < data.sql
6.Zabbixサーバーの設定
デフォルト設定でDBサーバーはローカルホスト、接続するDB名と接続用ユーザー名は共に「zabbix」になっているので、パスワードだけ設定します。
# vi /etc/zabbix/zabbix_server.conf DBPassword=softlayer
7.PHPのタイムゾーンの設定
タイムゾーンを日本に設定します。ヨーロッパの設定例がありますので、その下に追記します。
# vi /etc/httpd/conf.d/zabbix.conf <Directory "/usr/share/zabbix"> php_value date.timezone Asia/Tokyo ←追加 <Directory>
8.Zabbixサービスの起動
Apacheの再起動とZabbixサーバーのサービスの登録、起動を行います。
# systemctl restart httpd # systemctl enable zabbix-server # systemctl start zabbix-server
サービス登録の確認
# systemctl --full list-unit-files |grep zabbix-server zabbix-server.service enabled
※「enabled」になっていることを確認
サービス起動の確認
# systemctl --full | grep zabbix-server zabbix-server.service loaded active running Zabbix Server
※「running」になっていることを確認
CentOS7.1で動作させる場合の注意点
CentOS7.1が2015年3月31日にリリースされ、それに伴いSoftLayer上のテンプレートもCentOS7.1にバージョンアップしています。CentOS7.1ではgnutlsパッケージのバージョンが3.1.18から3.3.8に上がりましたが、この影響を受け、Zabbixが起動できないという問題が起きています。
SoftLayer上のCentOS7.1を使った場合に、Zabbix Serverを利用するための暫定的な対処法としましては、CentOS7.0で使用していた3.1.18に強制的にダウングレードすることで、Zabbix Serverを起動できるようになります。CentOS7.0のファイルは通常のダウンロードサイトから移動されていますが、次のコマンドにて強制的にダウングレードが可能です。
# rpm -Uvh --force http://vault.centos.org/7.0.1406/os/x86_64/Packages/gnutls-3.1.18-8.el7.x86_64.rpm
9.Zabbixのセットアップ
手元のWebブラウザにて次のURLから監視サーバーのZabbixインターフェースのにアクセスし、初期セットアップをします。
http://XX.XX.XX.1/zabbix/
セットアップは「3. Configure DB connection」を除き、「Next」を選択することで次の画面へ進みます。
「3.Configure DB connection」ではデータベースへの接続確認を行いますので、接続のためのユーザー名、パスワードを入力し、「Test connection」を押下し確認します。今回、ユーザー名は zabbix 、パスワードは softlayer を指定します。
最後に「Finish」を押下し完了すると、Zabbixインターフェースへのログイン画面が表示されます。次の初期設定にてログインし、管理画面が表示されることを確認します。
ユーザー名 | Admin |
---|---|
パスワード | zabbix |
管理画面が初期状態は英語なので、これを日本語にします。
- まず、右上にある「Profile」をクリックします。
- 次にユーザープロファイルの設定にて「Language」をJapanese(ja_JP)にします。
- 最後に「Update」をクリックします
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- pg_monzの導入手順と PostgreSQL監視の実態
- Zabbix2.0でJavaアプリケーションの監視
- Zabbix1.8 から 2.0への移行
- NginxでハイパフォーマンスWordPress in SoftLayer
- ZABICOM / Zabbixの機能活用
- ZABICOM / Zabbixの概要
- ownCloud導入はじめの一歩(仮想マシンイメージとCentOS 7のインストール手順)
- オープンソース統合監視ソフト「ZABBIX 4.4」リリース
- [実践編] MaaSとJujuによるOSS配備、Ubuntu Serverの運用・管理(後編)
- 運用コスト低減に有効なZabbix2.0新機能