ITインフラ監視入門~Zabbixインストール編~ – 「クラウド時代だから必要なITインフラ基礎知識」(5)
こんにちは、さくらインターネットの大喜多です。
今回より数回にわたり、オープンソースの監視ソフトウェア「Zabbix」を用いたITインフラの監視について解説してまいります。今回は、Zabbix Serverのセットアップについてご説明いたします。
第1回 | クラウドインフラのしくみ |
---|---|
第2回 | クラウドを支える仮想化 |
第3回 | Linuxコマンドを用いたボトルネック調査 |
第4回 | インターネットを支える技術 |
第5回 | ITインフラ監視入門~Zabbixインストール編~ |
第6回 | ITインフラ監視入門~Zabbix活用編~ |
第7回 | いまどきのインフラ設計のキモ |
第8回 | Design for FailureなWebシステムの構築 |
Zabbixの概要
Zabbixは、ラトビアにあるZabbix SIAという企業によって開発されているオープンソースの監視ソフトウェアです。オープンソースでありながら開発・サポートはコミュニティでなく企業によって主導されており、無償版・有償版といった区分がなく、すべての機能が利用可能な点が特徴です。
Zabbixはいくつかの監視方法をサポートしており、大まかには以下のように分類されます。それぞれの設定手順につきましては、次回以降にて解説いたします。
・監視対象にソフトウェアをインストールせずに、HTTPやSSHなどのサービスを外部から監視する
・Zabbixエージェントと呼ばれるソフトウェアを監視対象のサーバにインストールし、CPUロード、 ネットワーク使用率、ディスク容量などのようなステータスを監視する
・SNMPエージェントを利用して監視する(サーバのほか、SNMPに対応したネットワーク機器の監視も可能)
Zabbixのインストール
本節ではCentOS7にZabbixをインストールする手順について解説いたします。
本記事でZabbixをインストールした環境は以下の通りです。
サーバー | さくらのVPS 1G(石狩) |
---|---|
OS | CentOS7.4.1708 |
Zabbix-Serverバージョン | 3.4.4 |
Webサーバー | Apache2.4.6 |
DBサーバー | MariaDB 5.5.56 |
OSを最新状態にアップデートします。
# yum -y update
Webサーバー、PHP、DBサーバー等、Zabbixを動作させるために必要なプログラムをインストールします。
# yum -y install httpd-devel php php-devel php-pdo php-mysqlnd php-mbstring php-mcrypt php-gd php-pear php-pecl-apc-devel zlib-devel mariadb-devel mariadb-server
Zabbixのリポジトリをインストールし、yumコマンドでZabbixをインストールします。zabbix-serverとzabbix-webは別のプログラムで、それぞれ別のサーバーにインストールすることもできますが、ここでは同一サーバー上に両方インストールしています。また、zabbix-agentは本来監視対象のサーバーにインストールするソフトウェアですが、自身を監視するためにインストールします(zabbix-agent動作確認の意味もあります)。
# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm # yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese # yum -y install zabbix-agent
MariaDBを起動し、ログインします。
# systemctl start mariadb # systemctl enable mariadb # mysql -u root
zabbix-serverが使用するデータベース「zabbix」およびユーザー「zabbix」を作成します。後述するzabbix-serverの初期セットアップにおいて、zabbixユーザーを使用してzabbixデータベースにアクセスするよう設定します。new-passwordとなっている部分は任意のパスワードに置き換えてコマンドを実行してください。
create database zabbix character set utf8 collate utf8_bin; grant all on zabbix.* to zabbix@localhost identified by 'new-password';
セキュリティ対策のためrootユーザーにパスワードを設定し、MariaDBのコマンドラインを終了します。new-passwordとなっている部分は任意のパスワードに置き換えてコマンドを実行してください。
UPDATE mysql.user SET Password=PASSWORD('new-password') WHERE User='root'; FLUSH PRIVILEGES; quit;
Zabbix 用のデータベーススキーマとデータをzabbixデータベースにインポートします。new-passwordとなっている部分は任意のパスワードに置き換えてコマンドを実行してください。
# cd /usr/share/doc/zabbix-server-mysql-3.4.4/ # zcat create.sql.gz | mysql -u zabbix -p new-password
Zabbix サーバーの設定ファイルに、先ほど作成したzabbixユーザーのパスワードを記入します。new-passwordとなっている部分は任意のパスワードに置き換えてコマンドを実行してください。
# vim /etc/zabbix/zabbix_server.conf --- # DBPassword= ↓ DBPassword=new-password
Apacheの設定ファイルで、タイムゾーン(日本/東京)を指定します。
# vim /etc/httpd/conf.d/zabbix.conf --- # php_value date.timezone Europe/Riga ↓ php_value date.timezone Asia/Tokyo
zabbix-serverおよびApacheの起動と自動起動設定をおこないます。
# systemctl start zabbix-server # systemctl enable zabbix-server # systemctl start httpd # systemctl enable httpd
firewall-cmdコマンドでfirewalldの設定を変更し、ZabbixのWeb-UIが表示できるようにhttp(80/TCP)への通信を許可します。
firewall-cmd --add-service=http --zone=public --permanent firewall-cmd --reload
ここからはWebブラウザ上で作業をおこないます。以下のURLにアクセスします。
http://[サーバのIPアドレス]/zabbix/
以下の画面が表示されたら「Next Step」をクリックし、次に進みます。
以下の画面ですべてOKになっていれば、zabbix-serverセットアップのための要件を満たしています。NGになっている箇所があった場合は表示されるメッセージに従い修正してください。「Next Step」をクリックし、次に進みます。
MariaDBにログインして作成した、zabbix-serverで使用するデータベースとユーザーを設定します。本記事ではデータベース名は「zabbix」、ユーザー名は「zabbix」として作成しています(パスワードは作成時に入力した任意の文字列です)。入力が完了したら、「Next Step」をクリックし、次に進みます。
以下の画面が表示されたら「Next Step」をクリックし、次に進みます。
以下の画面が表示されたら、内容を確認のうえ、「Next Step」をクリックし、次に進みます。
以下の画面が表示されたら「Finish」をクリックし、セットアップを完了します。
以下のログイン画面が表示されますので、usernameとpasswordを入力し、ログインします。初期状態で設定されているユーザーは、usernameが「Admin」、Passwordが「zabbix」です。ログイン後変更するようにしてください。
以下の画面(Zabbixのダッシュボード)が表示されればログインは成功です。以降はこの画面から監視設定等を行います。
次回はZabbixを用いたサーバ監視について解説いたします。