CentOSにZabbix 2.2(LTS)をインストールする
概要
1. Zabbixについて
2. Zabbixのインストール手順
2-1. MySQLのインストール
2-2. Zabbixのyumリポジトリの追加
2-3. インストール
2-4. Zabbix用のデータベースの作成
2-5. セットアップ
2-6. 動作確認
1. Zabbixについて
サーバやネットワークに接続されたデバイスを監視する監視機能
収集したデータを元にグラフ化、ネットワークマップの作成を行うグラフィカル監視
収集したデータに閾値を設定し、障害/復旧時に管理者の通知を行う障害検知
- 主な機能
Zabbixエージェント
SNMPエージェント (v1、v2、v3)
シンプルチェック(ping死活監視、TCPポート監視)
ODBCを利用したデータベース監視
IPMIを利用したハードウェア監視
Telnet/SSH経由の監視
カスタムスクリプトによる監視
Zabbixサーバ内部ステータス
- Zabbixの構成
2. Zabbixインストール手順
今回はローカル環境(Vagrant)で作成しました。 Vagrantfileは以下になります。
作業環境
OS: Windows7 Home Premium 64bit
VirtualBox: 5.0.2
Vagrant: 1.7.4
# -*- mode: ruby -*- # vi: set ft=ruby : # All Vagrant configuration is done below. The "2" in Vagrant.configure # configures the configuration version (we support older styles for # backwards compatibility). Please don't change it unless you know what # you're doing. VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "centos67" config.vm.box_url = "https://github.com/CommanderK5/packer-centos-template/releases/download/0.6.7/vagrant-centos-6.7.box" config.vm.define "server" do |server| server.vm.hostname = "server" server.vm.network "private_network", ip:"192.168.33.20" server.vm.provider "virtualbox" do |vb| vb.customize ["modifyvm", :id ,"--memory", "1024"] end end config.vm.define "target" do |target| target.vm.hostname = "target" target.vm.network "private_network", ip:"192.168.33.21" target.vm.provider "virtualbox" do |vb| vb.customize ["modifyvm", :id ,"--memory", "1024"] end end end
server: 監視サーバー、target: 監視対象
今回の作業対象はserverになります。
2-1. MySQLのインストール
- mysql-serverのインストール
# yum install mysql-server # mysql --version mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1 # service mysqld start
- mysqldの自動起動設定、rootパスワードの初期化
# chkconfig mysqld on # mysqladmin -u root password 'password'
- mysqldの初期セットアップ
# mysql_secure_installation
新しいパスワードを設定して、質問には"Y"で答えます。
- リポジトリのインストール
# rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
2-3. インストール
- Zabbixサーバーのインストール
# yum install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese
- Zabbixエージェントのインストール
# yum install zabbix-agent
Zabbixサーバにも自身を監視するために、Zabbixエージェントをインストールします。
# php -v PHP 5.3.3 (cli) (built: Jul 9 2015 17:39:00) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies # httpd -v Server version: Apache/2.2.15 (Unix) Server built: Aug 24 2015 17:52:49
2-4. Zabbix用のデータベースを作成
# mysql -u root -p mysql> create database zabbix character set utf8; Query OK, 1 row affected (0.00 sec) mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbixpassword'; Query OK, 0 rows affected (0.00 sec) mysql> quit;
- 作成したZabbix用のデータベースに、Zabbixのテーブルを作成する
# cd /usr/share/doc/zabbix-server-mysql-2.2.10/create/ # mysql -u root -p zabbix < schema.sql Enter password: # mysql -u root -p zabbix < images.sql Enter password: # mysql -u root -p zabbix < data.sql Enter password:
- Zabbixのサービス起動
Zabbixのサービスを自動起動させます。
# chkconfig zabbix-server on # chkconfig zabbix-agent on
Zabbixのサービスを起動させます。
# service zabbix-server start Starting Zabbix server: [ OK ] # service zabbix-agent start Starting Zabbix agent: [ OK ]
Apacheのサービスを再起動させます。
# service httpd restart
2-5. セットアップ
Zabbixの管理画面にアクセスし、最終設定を行います。
http:// [監視サーバーのIPアドレス]/zabbix
- Welcome
"Next"をクリックします。
- Check of pre-requisites
PHPのタイムゾーンが設定されていないことでエラーが表示されるので、/etc/php.iniでタイムゾーンの設定を行い、対処します。
[Date] ; Defines the default timezone used by the date functions ; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone date.timezone = Asia/Tokyo
Apacheのサービスを再起動させます。
# service httpd restart
全て"OK"になっていることを確認します。
yumリポジトリを使用してインストールしているので、必要なパッケージはすべてインストールされているはずです。
- Configure DB connection
zabbix用のデータベース作成時に作成したmysqlのユーザとパスワードを使用します。
"Test connection"で正常にデータベースにアクセスできるか確認します。
- Zabbix server details
ここはそのまま"Next"を押します。
- Pre-Installation summary
セットアップパラメータの確認画面。問題なければ、"Next"をクリックします。
- Install
OK を確認し、Finishをクリックします。
2-6. 動作確認
- Zabbix管理画面へログイン
デフォルトのアカウントは以下になります。
Username: admin
Password: zabbix
- ダッシュボード
まずは、管理者(admin)のProfileを変更します。
右上の「Profile」をクリックして下さい。
そこでパスワードと言語を変更して下さい。
*言語設定で日本語が選択できない場合
日本語ロケールがないので追加します。
# localedef -f UTF-8 -i ja_JP ja_JP
Apacheのサービスを再起動します。
# service httpd restart
- Zabbix Serverエラーへの対処
上記メッセージは、WebUIからZabbix Serverのサービスが認識できていません。
原因として考えられるのが、
zabbix_server が動作していない
SELinux が有効になっていて、WebUIからzabbix_serverを認識できない
です。
- Zabbix Serverのログファイル
Zabbix Serverのログファイルは/var/log/zabbix/zabbix_server.logに記録されます。
ログを見るとZabbix Serverがデータベースにアクセスできていないことが分かります。
- Zabbix Serverの設定ファイル
Zabbix Serverの設定ファイルは/etc/zabbix/zabbix_server.confです。
このファイルのDBUser、DBPasswordに今回設定した値を入れて下さい。
### Option: DBUser # Database user. Ignored for SQLite. # # Mandatory: no # Default: # DBUser= DBUser=zabbix ### Option: DBPassword # Database password. Ignored for SQLite. # Comment this line if no password is used. # # Mandatory: no # Default: # DBPassword= DBPassword=zabbixpassword
設定後、Zabbix Serverを再起動します。
# service zabbix-server restart
これで正常に動作すると思います。
以上になります。
参考:
機能 | ZABBIX-JP
3 パッケージからのインストール [Zabbix Documentation 2.2]