クラウド関連技術ブログ

Zabbix3.0Alpha4のインストール(CentOS7.1)

投稿日:2015/12/20カテゴリー:zabbix

こんにちは。FL.OPSの中の人モルです。


さてさてウッシーさんから依頼されておりましたので、
今回はZabbix検証環境のバージョンアップをしていきますよー。

・・・といいたいところですが、
諸事情により今までの検証環境が使えなくなってしまったので、
今回はバージョンアップではなく新規インストールとなります。

まず構築作業に入る前に、Zabbix3.0の要件を確認します。

Zabbix3.0からの変更点は、PHPのバージョンが「5.4以降」に変更されているところぐらいでしょうか。
※ 詳細はマニュアルページを参照ください。
 https://www.zabbix.com/documentation/3.0/manual/installation/requirements


それではさっそく構築作業に入りましょう。

今回使用するバージョンは以下のとおり。

OS:CentOS Linux 7.1
Zabbix:3.0(Alpha4)


①SELinuxの無効化

今回は仮想マシンを立ててなにも設定を変更していない状態からのスタートなので、
まずはSELinuxを無効化していきます。

    # vi /etc/selinux/config
    SELINUX=disabled

設定を変更したらサーバを再起動して設定を確認します

    # shutdown -r now
    # getenforce
    Disabled

しっかり無効化されております。


②firewalldの設定

次に「firewalld」で必要なアクセス許可を付与します。
 
CentOS7から搭載されているfirewalld」は、
ゾーンという単位で設定が定義されており、
定義されたゾーンをNICに紐付けて設定を行うことができます。

まずはゾーンを確認・・・

    # firewall-cmd --get-active-zones
    public
      interfaces: eth0

publicというゾーンにNIC[eth0]が紐付けられています。
(検証環境のNICはeth0のみ)


では設定を追加していきます。

firewalld」はコマンドによる設定の追加が可能です

今回実行したコマンドは以下のとおり。

    # firewall-cmd --zone=public --add-port=80/tcp --permanent
    # firewall-cmd --zone=public --add-port=10050/tcp --permanent
    # firewall-cmd --zone=public --add-port=10051/tcp --permanent

「--add-port」 指定したポート番号へのアクセス許可の付与
「--permanent」 OS再起動後も設定が有効


アクセス許可の設定が完了したら「firewalld」を再起動しましょう。

    # systemctl restart firewalld


ちなみに、上記のコマンドを実行すると「public.xml」の内容が更新されます。
(赤文字の部分が今回変更された箇所)

    /etc/firewalld/zones/public.xml

    <?xml version="1.0" encoding="utf-8"?>
    <zone>
      <short>Public</short>
      <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
      <service name="dhcpv6-client"/>
      <service name="ssh"/>
      <port protocol="tcp" port="10050"/>
      <port protocol="tcp" port="80"/>
      <port protocol="tcp" port="10051"/>

    </zone>


とりあえず一旦全部開けちゃいたいという方は

以下のコマンドでfirewalld」を無効化しちゃいましょう。

    # systemctl stop firewalld
    # systemctl disable firewalld


③zabbixグループ、ユーザの作成

    # groupadd zabbix
    # useradd -g zabbix zabbix

OSの設定は以上!

 


では、Zabbixを利用する上で必要なパッケージをどんどんインストールしていきます。

④httpdインストール

    # yum install httpd

    001.jpg
    バージョン要件(1.3.12以上)を満たしているので問題なし!

    自動起動を有効化

    # systemctl enable httpd


⑤phpインストール

    # yum install php

    002.jpg
    バージョン要件(5.4.0以上)を満たしているので問題なし!
    ※OSバージョンによってはリポジトリ内のPHPバージョンが要件を満たしていない場合があります!!


    その他拡張モジュールもどんどんインストール・・・

    # yum install php-xml
    # yum install  php-mysql
    # yum install php-bcmath php-mbstring php-gd


⑥mariaDBインストール

CentOS7からはOS標準パッケージが「mysql」から「mariaDB」なるものに変わっていました。
聞くところによると「mysql」とほぼ同じものらしいです。

ということで今回は「mariaDB」をインストールします。

    # yum install mariadb-server  mariadb-devel
    
    003.jpg
    
    自動起動を有効化
    
    # systemctl enable mariadb


⑦DB設定

次に「mariaDB」の設定ファイルを編集します。

    # vi /etc/my.cnf.d/server.cnf
    
    以下3点、設定を追加します。

    [mysqld]
    character-set-server=utf8
    skip-character-set-client-handshake
    innodb_file_per_table


      いざ、mariaDB起動!

    # systemctl start mariadb


⑧ZabbixDB作成

DBを起動したらZabbix用のデータベースを作成します。

    # mysql -u root
    MariaDB [(none)]> CREATE DATABASE zabbix CHARACTER SET UTF8;
    MariaDB [(none)]> GRANT ALL PRIVILEGES on zabbix.* to zabbix@localhost IDENTIFIED BY 'zabbixpass word';
    MariaDB [(none)]> FLUSH PRIVILEGES;
    MariaDB [(none)]> exit

 


⑨zabbixソースインストール

いよいよメインのZabbix様の登場!
まずはソースファイルを入手します。

    # wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Development/3.0.0alpha4/zabbix-3.0.0alpha4.tar.gz
    # tar zcvxvf zabbix-3.0.0alpha4.tar.gz

時は満ちた。
さっそくコンパイルしていきます。

    # ./configure --prefix=/etc/zabbix --enable-server --enable-agent --with-libcurl --with-mysql --with-net-snmp --with-libxml2

    004.jpg.jpg

    こんな感じでめっちゃ怒られた_(X3 」∠)_

         とりあえずマニュアルサイトに乗っているconfigureコマンドを実行したので
         指定してるオプションの意味をあまり考えておりませんでした・・・。
 

    ので、以下を追加インストール!

       仮想マシンの監視に必要なパッケージ
       # yum install libxml2 libxml2-devel
 
       SNMP監視に必要なパッケージ
       # yum install net-snmp net-snmp-devel
 
       ウェブ監視に必要なパッケージ
       # yum install libcurl libcurl-devel

 

    リベンジ!!

    005.jpg

    うまく通ってくれたようです。

    # make
    # make install

    インストールは以上!!


⑩Zabbixの設定

ソースインストールが完了すると、以下の設定ファイルが生成されます。

    # cd /etc/zabbix/etc
    # ll
    total 44
    -rw-r--r-- 1 root root  2684 Dec 20 12:40 zabbix_agent.conf
    drwxr-xr-x 2 root root  4096 Dec 20 12:40 zabbix_agent.conf.d
    -rw-r--r-- 1 root root  9885 Dec 20 12:40 zabbix_agentd.conf
    drwxr-xr-x 2 root root  4096 Dec 20 12:40 zabbix_agentd.conf.d
    -rw-r--r-- 1 root root 14476 Dec 20 12:40 zabbix_server.conf
    drwxr-xr-x 2 root root  4096 Dec 20 12:40 zabbix_server.conf.d


とりあえず最低限のDBパスワードだけ変更

    # vi zabbix_server.conf
        DBPassword=zabbixpassword


⑪ZabbixWebインターフェイスのインストール

Apacheのドキュメントルートを確認
    # cat httpd.conf | grep Document
    
    # DocumentRoot: The directory out of which you will serve your
    DocumentRoot "/var/www/html"

 

確認したドキュメントルート配下に「zabbix」ディレクトリを作成し、
ZabbixWebインターフェイスのphpファイルをごっそりコピー!

    # mkdir /var/www/html/zabbix
    # cd /home/zabbix/zabbix-3.0.0alpha4/frontends/php
    # cp -rp * /var/www/html/zabbix

 

ではサービスを起動してアクセスしてみましょう!
    # systemctl start httpd

    https://<検証環境アドレス>/zabbix

    
    006.jpg
    

見事に「Fail」が輝きを放つ。早とちりました。_(:3 」∠)_


⑫PHPの設定

タイムゾーンやら怒られたところを修正します。

    # vi /etc/php.ini
        max_execution_time = 300
        max_input_time = 300
        post_max_size = 16M
        date.timezone = Asia/Tokyo


⑬ZabbixWebインターフェイスのインストールリベンジ!
    007.jpg

リベンジ成功

このままwebインターフェースに表示される項目を入力し、

順調にインストール完了!!と思いきや、

008.jpg

confファイルが作成できない・・・。

とりあえず表示されたとおりに設定ファイルをダウンロードして

指定されたパスにファイルを作成してもう一度アクセス。

009.jpg

ドドン


⑭自動起動設定

最後に、「zabbix-server」「zabbix-agent」のserviceファイルを作成し、自動起動の設定をしていきます。

    # vi /usr/lib/systemd/system/zabbix-server.service
    [Unit]
    Description=Zabbix Server
    After=network.target mariadb.service
    [Service]
    Type=oneshot
    ExecStart=/etc/zabbix/sbin/zabbix_server -c /etc/zabbix/etc/zabbix_server.conf
    ExecReload=/etc/zabbix/sbin/zabbix_server -R config_cache_reload
    PIDFile=/tmp/zabbix_server.pid
    RemainAfterExit=yes
    [Install]
    WantedBy=multi-user.target
 
 # vi /usr/lib/systemd/system/zabbix-agent.service
    [Unit]
    Description=Zabbix Agentd
    After=network.target
    [Service]
    Type=oneshot
    ExecStart=/etc/zabbix/sbin/zabbix_agentd -c /etc/zabbix/etc/zabbix_agentd.conf
    PIDFile=/tmp/zabbix_agentd.pid
    RemainAfterExit=yes
    [Install]
    WantedBy=multi-user.target

 

 自動起動を有効化

    # systemctl enable zabbix-server

    # systemctl enable zabbix-agent

以上!!!!

 

これでZabbix3.0で自由に遊べますぞ。

CONTACT

tel 092-986-2772
10:00〜17:00(土・日・祝日除く)
お問い合わせフォーム
page top