Zabbix 4.0 CentOS7.5 導入備忘録

Zabbix 4.0 CentOS7.5 導入備忘録

皆さん、こんにちわ。
私、ピン村と申します。
こちらのサイト実は記念すべき "1コンテンツ目" ということで投稿させていただきます。

では、早速やっていきましょう

Contents

Zabbix 4.0について

ZabbixITインフラストラクチャ・コンポーネントの可用性やパフォーマンスを監視するためのエンタープライス向けソフトウェアです。Zabbixはオープンソース・ソフトウェアとして開発されており、無料でダウンロードいただくことが可能です。
ZABBIXHPより

つまり、zabbixを用いて提供しているサービスのマシン(サーバ)を監視するということになります。
では、Zabbix 4.0の新機能をいろいろ見ていきましょう。

Zabbix 4.0の新機能

1 . 新しいグラフウィジェット
まったく新しく開発を行ったグラフウィジェットは収集データをより高度に可視化することができます。グラフウィジェットは様々な形式のグラフを利用でき、複数のデータセットを利用し、データセットごとにグラフの形式と複数のデータを指定できます。グラフ上の線のスタイルや軸、凡例のレイアウトの設定ができるほか、グラフ上に障害の発生状況の情報を表示できます。グラフ上をマウスカーソルでポイントすることで、監視データの情報を表示することもできます。
ZABBIX4.0 新機能より

まぁ、これだけだと正直何言ってるのか分かりませんが画像だとこういう感じです。

dashboard_graphs_v4_dark_1

究極的に監視をまとめたのが上記画像になります。
今回のメインはこれでしょうか。
つまるところ、様々なハードウェア、マシンを監視しているうえでHDD使用量、CPU使用量などを統括でグラフ上に表すことが可能になるということですねぇ。
あと、グラフ上にカーソルを合わせるだけで当該の日付、時刻まで表示してくれるのがzabbix 3.0時代との差異ということになるでしょうか。

2.より簡単なタイムセレクタ
グラフや障害履歴の表示画面で利用する時刻の範囲選択の方法を改善し、まったく新しく開発したタイムセレクタでは「now」「now-1d/d」といった文字による期間選択が可能です。期間はズームインすることも前後に移動することもでき、よく利用する期間はワンクリックで選択することもできます。

あー、グラフの選択範囲も結構自由自在になったんだぁ(フーン)

time-select-dark

他は?
まぁ、等々いろいろアップデート内容があるみたいですが申し訳ない、まとめてらんないんで詳細は下記アドレスをご参照ください。
Zabbix 4.0 新機能

とりあえず、zabbix 4.0 の新機能はこんな感じです。

Zabbix 4.0をCentOS7.5に入れて動かす

今回の環境は、下記通りになります。

  • OS
    • CentOS7.5(1811)
  • package
    • httpd (apache)
    • PHP7.2 (remi repository)
    • Mariadb 10.3
    • Zabbix 4.0

この構成で行きます。
では早速構築していきましょう

CentOS7.5 (minimal) インストール

まぁ、次へ , 次へと進めていくだけなんですが一応記載します。
あくまで、ご参考までにお願いします。

初期画面
ここで、 “ Install CentOS 7 “ と選択する
選択は、キーボードの矢印キー(←↑↓→)で選択する。
選択後、Bootログと呼ばれるOSインストーラを起動する際のログが表示されるがその時はキーボードに触らないようにする。

image

初期画面選択後、処理が終わるとこのような画面が表示される。
これは、CentOS をインストールする際 何語 でインストールするかを選択します。
今回は日本語を選択しました。

image

言語選択が終わると、インストールするパソコンの詳細設定に移ります。
ここでは、CentOS をインストールするHDD の選択、インターネットが使えるようにネットワークを有効化していきます。

初めに、CentOSをインストールするHDD を選択していきます。

image

ここでは、CentOS をインストールするHDDを選択します。
本来であれば、複数のHDDがある場合一つのHDDを選択しOSのインストール先を決めたりしますが、今回はインストールするHDDが一つしかない為、割愛します。
また、仮想化と言って実験的にLinuxなどを使いたい場合などもこのようにインストール先を設定しなければいけません。

image

先の、OSのインストール先を決定後次はインターネットへ接続するため、ネットワークを有効化する必要があります。
下記画面のように左下に “ネットワークとホスト名 “ と呼ばれる設定項目がありますのでクリックして詳細を開きます。

image

まずは、ネットワークを有効化させるために、右上のオフ(初期)となっているボタンのオンへ変更してください。
その後、ネットワークが確立されれば自動でIPアドレスが振られインターネットへ接続できるようになる。

image

OS のインストール先、ネットワークを有効化した後は、画面右下の青色のボタン インストールを開始 をクリックしてインストールを開始していきます。

image

最後にサーバへのパスワードを設定します。

image

インストール完了後、再起動をかけるため右下に再起動ボタンが現れるのでボタンを押して再起動しましょう。

image

ここまでで、CentOSのインストールは終わりです。
ここからは、SSH接続になります。
Tera termなどのリモート接続ソフトを使ってください。

本題はここからになると思います。

Zabbix , Apacheなどのインストール

ひたすらコマンドだけ並べる形になるので、申し訳ありませんが読み取っていただけると嬉しいです。

root@localhost~#https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm  

root@localhost ~# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent  

SELinux の無効化

root@localhost ~# vi /etc/sysconfig/selinux  

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX= enforcing  ← disabledに変更

# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

編集終了後、:wqで保存できる。

root@localhost ~# vi /etc/yum.repos.d/mariadb.repo  

# MariaDB 10.3 CentOS repository list - created 2018-11-02 08:16 UTC 
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb] 
name = MariaDB 
baseurl = http://yum.mariadb.org/10.3/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1

編集終了後、:wqで終了する。

root@localhost ~# yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm  

php7.2を導入するため、remiレポジトリを導入する。

root@localhost ~# vi /etc/yum.repos.d/remi-php72.repo

[remi-php72]
name=Remi's PHP 7.2 RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/php72/$basearch/
#mirrorlist=https://rpms.remirepo.net/enterprise/7/php72/httpsmirror
mirrorlist=http://cdn.remirepo.net/enterprise/7/php72/mirror
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

編集終了後、:wqで終了する。

root@localhost ~# yum -y install php72 php72-php php php-fpm php-mysql

root@localhost ~# yum -y install MariaDB-server MariaDB-client

root@localhost ~# vi /etc/php-fpm.d/www.conf

; RPM: apache user chosen to provide access to the same directories as httpd  
user = apache       ← apache になっているかを確認  
; RPM: Keep a group allowed to write in log dir.  
group = apache  ← apache になっているかを確認  

zabbixを導入するにあたり必要な関連パッケージの自動起動設定をオンにする。

root@localhost ~# systemctl enable php-fpm zabbix-server zabbix-agent httpd mariadb

ファイアウォールの自動起動設定をオフにする

root@localhost ~# systemctl disable firewalld

各、システムの変更点を反映させるため再起動を行う。

root@localhost ~# reboot

サーバが再起動次第zabbix用のデータベース構築を行う。

root@localhost ~# mysql -u root

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';

‘password’ になっているところは、zabbixデータベースのパスワードになります。
任意変更が可能なため、変更したい場合は任意の文字を入れてください。

MariaDB [(none)]> \q

root@localhost ~# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix  

Enter password: Mariadbでzabbix用のデータベースを作った時に設定したパスワード

zabbix のconfig(設定ファイル)を編集します。

root@localhost ~# vi /etc/zabbix/zabbix_server.conf

### Option: DBPassword
#       Database password. Ignored for SQLite.
#       Comment this line if no password is used.
#
# Mandatory: no
# Default:
# DBPassword=           ←コメントアウトしてzabbix
データベースを作った時の    
パスワードを入力

編集終了後、:wqで終了する。

root@localhost ~# vi /etc/httpd/conf.d/zabbix.conf

<IfModule mod_php5.c>     ←php5.c を php7.cに変更
        php_value max_execution_time 300
        php_value memory_limit 128M
        php_value post_max_size 16M
        php_value upload_max_filesize 2M
        php_value max_input_time 300
        php_value max_input_vars 10000
        php_value always_populate_raw_post_data -1
        # php_value date.timezone Europe/Riga
↑コメントアウトを外し、timezoneをAsia/Tokyo へ変更

    </IfModule>

編集終了後、:wqで終了する

次に、zabbixがphpを使う上で推奨要件としている項目を満たしているか確認する。

root@localhost ~# vi /etc/php.ini

; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size = 8M      ←16Mに変更する

; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 30 ←300に変更する

; Maximum amount of time each script may spend parsing request data. It's a good
; idea to limit this time on productions servers in order to eliminate unexpectedly
; long running scripts.
; Note: This directive is hardcoded to -1 for the CLI SAPI
; Default Value: -1 (Unlimited)
; Development Value: 60 (60 seconds)
; Production Value: 60 (60 seconds)
; http://php.net/max-input-time
max_input_time = 60         ←300に変更する

; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =    ←コメントアウトを外し、Asia/Tokyoとする

ここまで終えたら、サーバを再度再起動する。

root@localhost ~# reboot

再起動後の操作

再起動が完了したら、webブラウザ(Firefox , Google Chrome , IE等々)で http://IPaddress/zabbix とURL欄に入力してください。
エラー等なければ、下記画像のようになります。

image

次に
画面右下のNext stepを押していきます。

image

上記のように、すべての項目が “ OK “ になっていることを確認してください。
OKになっていれば Next stepを押します

image

次に、zabbixデータベースを作成した時のパスワードを入力してください。

image

ここは、あくまで詳細設定なので何も入力しなくて問題ありません。
ポート番号やhost名を変更したい場合は任意で入力してください。
Next stepを押し次へ進みます。

image

最後確認画面になります。問題なければ次へ進んでください

image

確認画面の次、このような画面が表示されれば正常に設定できています。お疲れさまでした。

image

初期のログインユーザ名はAdmin
パスワードはzabbix になります。ログイン後変更してください

ここまでで、zabbixの導入は終了です。
大変お疲れさまでした!!
この後、監視対象ホストなどを追加したりして本格的に監視する用意を整えていきますが、もしよろしければ続きはpdfでご覧いただければと思います。!