TECH

Zabbix4.2構築手順!!CentOS7.6+PostgreSQL11の場合!!

更新日:

 

Zabbix4.2での構築手順です。

いろいろ構築手順の記事を見かけましたができなかったことも多かったので、苦労せずにすんなりできるように配慮しながら書きました。

環境のちがいでできない場合もあるかと思いますが誰かのためになればと思います。では早速行きましょう!

 

環境

・Windows 10

・CentOS7.6

・Zabbix4.2

・PostgreSQL11

・PHP7.3

・Apache2.4

 

ネットワークの設定

(当てはまらない方は読み飛ばしてください)

VMware WorkstationでCentOSを立てました。
その際、インターネットに接続できなかった人は以下を参考にしてください。

①VMwareの設定を確認

対象の仮想マシンのネットワーク接続が「NAT」に選択されているか確認します。

そのあとコマンドプロンプトにて

C:\ProgramData\VMware\vmnetnat.conf

でファイルを開きます。

その際「#NAT gateway address」の下にあるのがIPアドレスゲートウェイとなります。

 

②ゲートウェイを設定

CentOSにて下記コマンドを打ちましょう。

vi /etc/sysconfig/network-scripts/ifcfg-ens111

※「ifcfg-ens」のあとの数字は環境により違います。

以下を追記しましょう。

GATEWAY=<先ほど確認したゲートウェイのアドレスを設定>

ネットワークを再起動して完成です。

systemctl restart network

これでインターネットにつながるはずです。

やっとyumれる、、、

 

SELinuxを無効化する

SELinuxがあるとzabbixが利用できないので無効化します。

vi /etc/selinux/config

中段にあるSELINUXをdisabledに変更して保存しましょう。

SELINUX=disabled

一番下にあるSELINUXTYPE=targetedをいじると起動できなくなるので注意!!

再起動して完了です。

reboot

 

アップデート

デフォルトで入っているパッケージたちをアップデートします。

yum -y update

 

PHPとApacheのインストール

CentOS7にはPHP5.4が入っているので一旦削除します。

以下ではPHP7.3とApacheをインストールします。

 

PHPの確認

rpm -qa | grep php

PHPを削除

yum -y remove php*

EPELをインストール

yum -y install epel-release

Remiをインストール

yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

PHP7.3をインストール

yum -y install --enablerepo=remi,remi-php73 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt php-pgsql php-ldap php-bcmath

バージョン確認

php -v

Apache(Webサーバ)をインストール

yum -y install httpd

 

PHP timezone設定

vi /etc/php.ini

Module Settings の [Date] の下に

;date.timezone =

があるので、それを以下に変更する

date.timezone = Asia/Tokyo

※Zabbixインストール時に、timezoneが設定されていないとNG

 

【参考記事】

https://weblabo.oscasierra.net/centos7-php71-install/

https://www.suzu6.net/posts/152-centos7-php-73/

https://qiita.com/heimaru1231/items/84d0beca81ca5fdcffd0

 

PostgreSQLをインストール

デフォルトでPostgreSQL9.2が入っているので削除

yum -y remove post*

以下URLを参考にインストール

https://www.postgresql.org/download/linux/redhat/

 

リポジトリの登録

yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

PostgreSQL11をインストール

yum -y install postgresql11 postgresql11-server

ポスグレ初期化

/usr/pgsql-11/bin/postgresql-11-setup initdb

PostgreSQLを起動

systemctl enable postgresql-11
systemctl start postgresql-11

 

ちなみにポスグレのスーパーユーザーであるpostgresのパスワードを設定するなら以下のコマンド

passwd postgres

※PostgreSQLで今回やっておりますが、ZabbixはMySQLでもOKです

 

Zabbixのインストール

ここからは公式サイトを参考にやっていきます。

今回はZabbix4.2/CentOS/PostgreSQLです。公式サイトに入って、自分の環境に合わせて選択してください。

 

【公式サイト】

https://www.zabbix.com/jp/download

 

リポジトリの登録

rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm

キャッシュを削除

yum clean all

パッケージのインストール

yum -y install zabbix-server-pgsql zabbix-web-pgsql zabbix-agent zabbix-java-gateway zabbix-get zabbix-sender zabbix-web-japanese

 

DB・firewallの設定

Zabbixが使うDBのセットアップをします。

以下を参考にしてください。

 

zabbixのデータベースを作成

ディレクトリを変更

cd /tmp

ZabbixからDBアクセスするためのユーザーとDBを作成

sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix zabbix

zabbixユーザーのパスワードを変更

passwd zabbix

PostgreSQLへのアクセス設定を行います。

vi /var/lib/pgsql/data/pg_hba.conf

コメントアウトされていない箇所のpeerとidentをtrustに修正し、以下のようにします。

# TYPE DATABASE USER ADDRESS METHOD

# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 ident
#host replication postgres ::1/128 ident

設定反映のために再起動

systemctl restart postgresql-11

初期スキーマ、データをインポート

zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix

※MySQLをダウンロードした人もインポートをしなければならない。先ほど紹介したZabbixサイトの「c. Create initial database」にある動作を忘れずに行うこと

 

firewallの設定

ポート開放

firewall-cmd --zone=public --add-service=postgresql --permanent
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --zone=public --add-service=https --permanent
firewall-cmd --zone=public --add-port=10050/tcp
firewall-cmd --zone=public --add-port=10051/tcp

設定を反映させます

firewall-cmd --zone=public --reload

firewallの確認

firewall-cmd --zone=public --list-all

 

Zabbix設定ファイル更新

vi /etc/zabbix/zabbix_server.conf

以下2つを設定

DBPassword=password(zabbixユーザーのパスワード)
DBPort=5432(PostgreSQLの場合)

起動設定されていないものを設定

systemctl start zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd

 

Webコンソールにアクセスし初期設定

 

http://IPアドレス/zabbix/

にアクセスします

PHPでFallが出た場合

vi /etc/php.ini

にて編集を行う、数値はrequire以上にする

設定項目は、上記で設定した内容を入力

Database port : 5432
Database name : zabbix
Database schema : 空欄
User : zabbix
Password : zabbixユーザーのパスワード

 

DBに入れない!!場合

/var/lib/pgsql/data/pg_hba.conf

の確認、trustになっているか?

/var/lib/pgsql/data/postgresql.conf

listen_addresses = 'localhost'
port = 5432

上記2か所を確認、#があれば消しておく

 

DB設定の画面をパスできたら、あとはZabbixサーバのポート確認です。

これは10050とすでに入力してあるのでそのまま次へ、確認画面が最後にくるので完了してください。

デフォルトは

USER : Admin

PASS : zabbix

でログイン可能です!!

 

ログインしたら右上の人物アイコンをクリックして、日本語の設定をしましょう。

「Language」の項目を「Japanese」にしましょう。

ちなみに「Theme」で管理画面も変更できます。私は黒を選びました。

これで構築完了です!お疲れ様でした!!

 

以上になります!

Zabbixは簡単に構築できますが、正直公式サイトの情報だけだと厳しいです(笑)

ただそのおかげで、いろんな記事を見てきて情報収集力が向上しました。

 

また何か学習したらアウトプットします。

最後までお読みいただきありがとうございました!

 

【参考記事】

https://qiita.com/moukuto/items/352e5f8a60d470da7695

https://www.rough-and-cheap.jp/linux/zabbix_monitoring_cpu_temp/

-TECH
-, , ,

Copyright© 紳士は変態がお好き , 2020 All Rights Reserved.