ホーム DoRuby CentOS6環境にZabbixをインストールしてみた
CentOS6環境にZabbixをインストールしてみた
 

CentOS6環境にZabbixをインストールしてみた

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

ローカル環境でZabbixの動作を確認するためにVagrant上のCentOSにZabbixサーバを構築したときの手順を公開します。

前提と注意

注意

以下の手順はローカル環境での動作確認を目的とした構築手順でありセキュリティ的な考慮は行ってません。
本番で稼働させるにあたってはセキュリティに配慮した設定を意識してください。

Vagrant環境

Vagrant環境にCentOS6を入れて環境構築しています。

以下のように、private_network でホストOSからアクセスできるようにしておきます。

メモリはなんとなく1Gにしてますが、お試し用途であればデフォルトの512MBでも動くかもしれません。

Vagrant.configure("2") do |config|
  config.vm.box = "centos/6"
  config.vm.network "private_network", ip: "192.168.33.10"
  config.vm.provider "virtualbox" do |vb|
    vb.memory = "1024"
  end
end

バージョン

OS/ミドルウェアのバージョンは以下のとおり。

  • OS: CentOS release 6.9 (Final) ※Vagrantの仮想環境
  • Zabbix: 3.0
  • MySQL: 5.1.73
  • PHP: 5.5
  • Apache: 2.4

手順

ここからは vagrant up で起動した仮想マシンでの作業です。

SELinux無効化

動作確認目的なのでSELinuxを無効化する
/etc/selinux/config を以下のように編集して仮想マシンを再起動します。

SELINUX=disabled

yumリポジトリ追加

以下のように Zabbix 公式のyumリポジトリを追加します。

# rpm -ivh https://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm

追加後、zabbix を検索したら以下のように表示されるはずです。

# yum search zabbix
Loaded plugins: fastestmirror

zabbix-agent.x86_64 : Zabbix Agent
zabbix-get.x86_64 : Zabbix Get
zabbix-java-gateway.x86_64 : Zabbix java gateway
zabbix-proxy-mysql.x86_64 : Zabbix proxy for MySQL or MariaDB database
zabbix-proxy-pgsql.x86_64 : Zabbix proxy for PostgreSQL database
zabbix-proxy-sqlite3.x86_64 : Zabbix proxy for SQLite3 database
zabbix-release.noarch : Zabbix repository configuration
zabbix-sender.x86_64 : Zabbix Sender
zabbix-server-mysql.x86_64 : Zabbix server for MySQL or MariaDB database
zabbix-server-pgsql.x86_64 : Zabbix server for PostgresSQL database
zabbix-web.noarch : Zabbix web frontend common package
zabbix-web-mysql.noarch : Zabbix web frontend for MySQL
zabbix-web-pgsql.noarch : Zabbix web frontend for PostgreSQL
zabbix-web-japanese.noarch : Japanese font settings for frontend

MySQLインストール

DBMS として MySQL を使用するため、以下のようにインストールします。

# yum install -y mysql-server

以下を /etc/my.cnf に記述

[mysqld]

# 日本語設定
default-character-set=utf8
skip-character-set-client-handshake

innodb_file_per_table
innodb_buffer_pool_size=64M
innodb_log_file_size=16M
innodb_log_files_in_group=2

DBの準備

MySQLがインストールできたら、Zabbix用のDBとそのDBにアクセスするためのユーザを作成します。

サービス起動
# service mysqld start
# chkconfig mysqld on

MySQLに接続
# mysql -uroot

Zabbix用のDBの作成とユーザの作成
mysql> create database zabbix character set utf8;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbixpassword';
mysql> flush privileges;

mysql> exit
Bye

NTPの設定

時刻がずれているといろいろ問題が出るのでNTPで時刻を同期しておきます。

インストール
# yum install ntp

サービス起動
# service ntpd start
# chkconfig ntpd on

Zabbix をインストール

以下のように yum コマンドでインストールします。

# yum install -y zabbix zabbix-server zabbix-server-mysql

初期データインポート

DBに初期データを投入する必要があるので、以下のように初期データを投入します。

# cd /usr/share/doc/zabbix-server-mysql-3.0.13/
# gunzip create.sql.gz
# cat create.sql | mysql -uzabbix -p zabbix
(パスワードを聞かれるので`zabbixpassword`を入力)

Zabbixの起動設定

Zabbixサーバの設定ファイル/etc/zabbix/zabbix_server.conf を開いて以下のように記述します。

DBName=zabbix
DBUser=zabbix
DBPassword=zabbixpassword
DBSocket=/var/lib/mysql/mysql.sock

上記設定ファイルを保存したらサービスを起動します。

# service zabbix-server start
# chkconfig zabbix-server on

Webインターフェースのインストール

このままだとGUIによる操作ができないので、Webインターフェースをインストールします。
Webインターフェースを動かすにはCentOS6標準のyumリポジトリのPHPのバージョンは古いので、SCL有効化します。

# yum install -y centos-release-scl

SCLを有効化したらPHP5.5のインストール

# yum install -y php55-php php55-php-bcmath php55-php-gd php55-php-ldap php55-php-mbstring php55-php-xml php55-php-mysqlnd

SCLはインストールしただけでは有効化されないので、以下のようにログインシェルの起動時のスクリプトでPHP5.5を有効化します。

#!/bin/bash
source scl_source enable php55

上記内容を保存したら、一旦ログアウトし再度ログインしPHP 5.5系が有効になっていることを確認します。

php --version でバージョンが5.5.x系であることを確認

# php --version
PHP 5.5.21 (cli) (built: Aug 30 2016 13:51:02)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies

同様に、SCLからApacheをインストールします。

# yum install -y httpd24

とりあえず httpd を起動して確認

# service httpd24-httpd start

ブラウザから http://192.168.33.10/ にアクセスして welcom 画面が表示されることを確認。

ここまで完了したら、やっとZabbixのWebインターフェス及びその関連パッケージのインストールです。

# yum install -y zabbix-web zabbix-web-mysql zabbix-web-japanese

zabbix-web の設定ファイルを Apache に適用するため httpd/conf.d の下にコピー

# cp /usr/share/doc/zabbix-web-3.0.13/httpd24-example.conf /opt/rh/httpd24/root/etc/httpd/conf.d/zabbix.conf

コピーした後以下のようにtimezoneを編集しておきます。

php_value date.timezone Asia/Tokyo

ファイルの編集が完了したら Apache 再起動

# service httpd24-httpd restart
# chkconfig httpd24-httpd on

再度、ブラウザからhttp://192.168.33.10/zabbix/ にアクセスして「Welcome to Zabbix 3.x」の画面が表示されることを確認。

Zabbixの初期セットアップ

ここからは Web 画面に従って Zabbix の初期セットアップを進めます。
スクショを貼ると大量になるので、入力/選択項目のみ記載しておきます。

  • Welcome
    • [Next step]
  • Check of pre-requisites
    • すべて OK であることを確認
  • Configure DB connection
    • Database type : MySQL
    • Database host : localhost
    • Database port : 0 (default port)
    • Database name : zabbix
    • User : zabbix
    • password : zabbixpassword
  • Zabbix server details
    • Host : localhost
    • Port : 10051
    • Name : (空)
  • Pre-installation summary
    • 内容を確認して[Next step]をクリック
  • Install
    • Configuration file "/etc/zabbix/web/zabbix.conf.php" created. と表示されているのを確認

これで Zabbix の初期セットアップ完了です。

Zabbixへのログイン

デフォルトで作成される管理者は以下の通りです

  • ユーザ: Admin
  • パスワード: zabbix

上記でログインできたら、Zabbix Server のセットアップ完了です。

Zabbixエージェント(zabbix_agentd)のインストール

今回はZabbixサーバ自身を監視対象とするため、Zabbixサーバを構築した環境にZabbixエージェントも導入します。

# yum install -y zabbix zabbix-agent

yum パッケージのインストール完了後、/etc/zabbix/zabbix_agentd.conf の確認(デフォルトで以下の状態となっているはず)

# ZabbixサーバのIPアドレス
Server=127.0.0.1
# エージェントをインストールしたホスト名とIP
Hostname=Zabbix server
ServerActive=127.0.0.1

エージェントの起動と自動起動の設定もしておきます。

# service zabbix-agent start
# chkconfig zabbix-agent on

エージェントの設定は以上です。

動作確認

これで、Zabbix によって自身のサーバの情報が収集されているはずですので、実際にそれを確かめてみます。

以下のスクショではUIが日本語化されていますが、Zabbixをインストール直後は英語の状態です。
UIを日本語化するには、ユーザプロファイル(画面右上の人のアイコン)から言語を選択することで変更可能です。

まず、ZabbixサーバのWebUIにログインし、画面上部のメニューから[設定]-[ホスト]を選択しします。そうするとホスト一覧が表示されるので、一覧から “Zabbix Server” の先頭のチェックを付け一覧の下の[有効]ボタンをクリックします。

enter image description here

これで Zabbix Server 自身が監視対象となりました。監視によって取得された情報を参照するには、上部のメニューから[監視データ]-[概要]を選択。

enter image description here

さらに、画面右上の[タイプ]のドロップダウンリストから”データ”を選択します。

enter image description here

その結果、以下のように Zabbix Server に組み込んだ Agent が収集した情報が画面に表示されます。

enter image description here

実際に運用する場合は、この後導入されたミドルウエアに応じた監視設定などを組み込む必要がありますが、この記事ではここまでにしておきます。
詳しくは書籍やWebサイト等を参考に設定してみて下さい。

参考

この記事を書くにあたって以下の書籍及びWebサイトの情報が参考になりました。

記事を共有

最近人気な記事