zabbix 初期環境構築

はじめに

centos5.6環境に、統合監視パッケージzabbixを利用した監視環境を構築する。
zabbixのバージョンは 1.8系ではなく、1.6系 を利用することにした。
まずは、サーバ&エージェント環境を1台のサーバのみで行う。
ここでは、初期環境の構築メモを残す。

環境構築

パッケージ準備

リポジトリパッケージ インストール
  • ダウンロード

zabbix-jpが提供しているリポジトリパッケージをダウンロード。

 # wget http://www.zabbix.jp/binaries/relatedpkgs/rhel5/i386/zabbix-jp-release-5-3.noarch.rpm
 # rpm -ivh zabbix-jp-release-5-3.noarch.rpm
zabbixパッケージ インストール

公式サイトに記述されている通り、下記のパッケージをインストールする。

# yum install zabbix zabbix-agent zabbix-server zabbix-server-mysql zabbix-web zabbix-web-mysql
〜
=====================================================================================
 Package                 Arch     Version           Repository              Size
=====================================================================================
Installing:
 zabbix                  x86_64   1.6.9-3.el5.JP     zabbix-jp                11 k
 zabbix-agent            x86_64   1.6.9-3.el5.JP     zabbix-jp               245 k
 zabbix-server           x86_64   1.6.9-3.el5.JP     zabbix-jp               5.6 M
 zabbix-server-mysql     x86_64   1.6.9-3.el5.JP     zabbix-jp               243 k
 zabbix-web              x86_64   1.6.9-3.el5.JP     zabbix-jp               1.2 M
 zabbix-web-mysql        x86_64   1.6.9-3.el5.JP     zabbix-jp               9.4 k
Installing for dependencies:
 OpenIPMI-libs           x86_64   2.0.16-11.el5_7.2  updates                 571 k
 fping                   x86_64   2.4b2-16.el5.JP    zabbix-jp-relatedpkgs    34 k
 iksemel                 x86_64   1.4-2.el5          epel                     48 k
 mysql                   x86_64   5.5.16-1.el5.remi  remi                    7.4 M
 mysql-libs              x86_64   5.5.16-1.el5.remi  remi                    1.1 M
 mysqlclient15           x86_64   5.0.67-1.el5.remi  remi                    1.3 M
 php-bcmath              x86_64   5.3.8-1.el5.remi   remi                     40 k
 php-gd                  x86_64   5.3.8-1.el5.remi   remi                    209 k
 php-mbstring            x86_64   5.3.8-1.el5.remi   remi                    2.3 M
 php-mysql               x86_64   5.3.8-1.el5.remi   remi                    160 k
 php-pdo                 x86_64   5.3.8-1.el5.remi   remi                    118 k
 t1lib                   x86_64   5.1.2-1.el5.rf     rpmforge                388 k
 unixODBC                x86_64   2.2.11-7.1         base                    835 k

MySQL環境構築

mysql-serverパッケージをインストールした上で、MySQL環境を構築。

mysql-server インストール

yumでインストールし、my.cnf設定をしておく。

 # yum install mysql-server
 # cp -p /etc/my.cnf /etc/my.cnf.org
 # vim /etc/my.cnf

  [client]
  port = 3306
  
  [mysqld]
  # zabbix 向けに下記2つのパラメータ設定は必須。
  # mysql5.5の場合は、default-character-set ではなく、character_set_server で指定すること。
  character_set_server                = utf8
  #default-character-set              = utf8
  skip-character-set-client-handshake
  
  max_connections                     = 150
  thread_cache_size                   = 8
  sort_buffer_size                    = 4M
  table_open_cache                    = 4096
  max_allowed_packet                  = 16M
  default_storage_engine              = InnoDB
  
  server-id                           = 1
  port                                = 3306
  
  log-bin                             = mysql-bin
  expire_logs_days                    = 5
  
  innodb_file_format                  = Barracuda
  innodb_file_per_table               = 1
  innodb_flush_log_at_trx_commit      = 1
  innodb_flush_method                 = O_DIRECT
  innodb_buffer_pool_size             = 64M
  innodb_log_buffer_size              = 8M
  innodb_log_file_size                = 128M
  key_buffer_size                     = 1M
  query_cache_type                    = 1
  query_cache_size                    = 16M
  
  slow_query_log                      = 1
  long_query_time                     = 1.0
 
 # mysql_install_db
 # chown -R mysql:mysql /var/lib/mysql/
 # /etc/init.d/mysqld start
 
zabbixDB向けデータ投入

パッケージに付属しているSQLファイルを利用し、テーブル/データ投入を行う。

  • テーブル作成

zabbix DB内にテーブル作成するためのSQLを修正。
※mysql5.5では、テーブル作成時のエンジン指定に、TYPE は利用できなくなっており、
 ENGINE を指定する必要があるため。

 # mv /usr/share/doc/zabbix-server-1.6.9/schema/mysql.sql /usr/share/doc/zabbix-server-1.6.9/schema/mysql.sql.org 
 # cat /usr/share/doc/zabbix-server-1.6.9/schema/mysql.sql.org | sed -e 's/type\=InnoDB/ENGINE\=InnoDB/g' > /var/tmp/mi.txt
  • data SQL投入
 # mysql -u root -D zabbix -p < /usr/share/doc/zabbix-server-1.6.9/data/data.sql

apache環境設定

初期設定を行うので、zabbix.conf.php ファイルを退避しておく。
退避が完了したら、apache再起動しておく。

 # mv /etc/zabbix/zabbix.conf.php /etc/zabbix/zabbix.conf.php.org
 #

zabbix初期設定

管理画面(http://[対象サーバ]/zabbix/)にアクセスし、tutorialに従い設定を進める。
Webインターフェース設定の際にエラーとなるが、下記のようにパーミッション変更する事で対処可能。

 # chmod 777 /etc/zabbix/

管理画面へのアクセス

Tutorial通りの設定が完了したら、管理画面へのログインを行う。

  • 初期ID:admin
  • 初期PW:zabbix
管理画面TOPページでのエラーメッセージ対策

初回ログイン時に、画面上に以下のメッセージが表示される。
将来的に利用できなくなる ereg関数などの警告メッセージだが、影響はないため、
対処として、zabbixのエラーハンドラをコメントアウトする。

 # vim /usr/share/zabbix/include/config.inc.php
 
  - set_error_handler('zbx_err_handler')
  + //set_error_handler('zbx_err_handler')

zabbix-server用config設定

パラメータ修正を行い、サービスを起動する。

 # cp -p /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.org
 # vim /etc/zabbix/zabbix_server.conf
  
  - DBPassword=zabbix
  + #DBPassword=<password>
  
  # Connect to MySQL using Unix socket?
  
  - DBSocket=/var/lib/mysql/mysql.sock
  + #DBSocket=/var/lib/mysql/mysql.sock
 
 # /etc/init.d/zabbix-server start

zabbix-agent用config設定

パラメータ設定を行い、サービスを起動する。
サーバ環境では特に修正の必要がなかったので、そのままサービス起動する。

 # /etc/init.d/zabbix-agent start