その他
    ホーム 技術発信 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サイトの情報が参考になりました。