PHP
MySQL
Apache
zabbix
RHEL

Zabbix3.2をインストールしてみる


はじめに

業務でZabbixを使うことになったので、これを機に構築・設定などの基本的な手順をパターン化してリファレンスとして残したく、記事にしました。

とりあえず実機がないと何もはじまらないので、インストール作業から手を動かします。

サッとググった感じかなりめんどくさそうなのが気になりますがw、エラー込みの奮闘記として読んでいただけると幸いです。


作業環境

mac

RHEL7.5(→CentOSに変更)

PHP5.4

MySQL5.6

Apache2.4

zabbix3.2


1.事前調査


1-1.目標の成果物と実現手段

「AWSに立てたEC2にZabbix3.2をインストールする」です。それに付随してPHPとMySQL、あとApacheも入れます。

それにあたり手順の調査。

監視対象のサーバはまた別途AWS上に作成しますので、今回はそこには触れません。


1-2.手順の調査

調査しながら湧いた疑問とその回答をメモで記します。

・事前にMySQLをインストールする?DBも作っておく?

この疑問出てくる時点で相当わかっていないのですがw、Zabbixはフロントエンド(要はGUI)〜DB〜Zabbixサーバ(モジュール本体。ここでプロセスがいっぱい動いてAgentと通信したりhttpアクセスしたりする)で構成されています。

ですのでzabbix-server起動する前にDBの構築は必須です。CentOS、RHELはデフォでMariaDBが入っているので削除した方が良いとのこと。

httpdも同様にyum installして、PHPも然りだそうです。

PHPでちょっとつまずきましたが、そこは後述します。

※会社の方が教えてくれたおかげで運良く解決しましたが多分ハマってました。ありがとう(;;)

・RHELは無料?

7.5は無料対象枠ではありませんでした。。CentOSに変更します。


2.作業開始


2-1.EC2作成

インターネット接続可能なEC2を立てます。

よくわからない方は私の過去記事を参照くださいませ。


2-2.公式ドキュメントの手順に倣う

「Zabbix インストール 公式」でググったらヒットしましたのでありがたく倣います。

まずはリポジトリのインストール。

3.2を使いたかったのでURLをちょっといじくって使用します。

# rpm -Uvh https://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm


2-3.パッケージのインストール

脳死コピペでインストールしたらエラーがでました。

phpがインストールされてないからとか依存関係にあるphpが云々()のように読めます。

ちょっと嫌になりますがw、横に置いて次に進みます。



書いてて思いましたが、次の手順に進む前にエラーメッセージを読んで解決すべきだなと思いました。。

ログ調査するときもめんどいなあと思って端折ることが多いのですが、エンジニアとしてどうかと思うので反省。


2-4.MysQLのインストール&DBの作成

MySQLインストールしてrootユーザのパスワード変更して、zabbixって名前のデータベースをutf8で作って、zabbixってユーザー作って権限付与してね!だそうです。

これはぴよぴよエンジニア(今もあまり変わりませんが)時代のぼくには読み取れないですねw

インストール手順は過去記事を参照くださいませ。

ユーザー作成手順は以下のとおり。

# CREATE USER 'user'@'local' IDENTIFIED BY 'password';

そして次のzcatががっつりエラーになります。

脳死コピペを諦めて読むと(こういうとこ本当にエンジニア向きじゃないなと思います)、zcatの対象となるファイルがディレクトリにないようです。見たら確かにないw

先のyum installでzabbix-web-mysqlでコケたので、インストールが不完全だったんですね。

zabbix-server-mysql、zabbix-agentをひとつずつインストールすると何も問題なし、ですのでやはりphpのパッケージに問題あり。

エラーメッセージを切り取りながらググりましたが、結局RHELの場合は以下のOpticalなんたらが必要とのことでした。※CentOSではどうなのか確認します

これは1人では難しかった、サブスクリプションの問題かと思ったら違うし。

こういうの共有できる仲間と仕事がしたいなあと常々思っています。

# yum-config-manager --enable rhui-REGION-rhel-server-optional


2-5.設定ファイルのviなど

ここまでくれば大丈夫でしょうよ!とばかりにモリモリ進みます。

すっかり忘れていたSELINUXのdisabled化(そろそろSELINUXも毛嫌いせんで理解せんとなーと思っています)、httpdのインストールと起動、手順のd.とe.をこなします。

ちなみにd.のDBPasswordとは先ほど作成したzabbixユーザのパスワードを指します。

zabbixっていうデータベースの何かのパス?とか無駄に勘ぐりましたが普通にユーザのパスです。


2-6.起動

あとは手順のとおりにzabbix-serverとzabbix-agentを起動して、自動起動の設定を入れればCLIでの作業は完了です。今回だと以下のURLになります。

LINUXガチャガチャやって、ブラウザでプログラムが動いたときはやっぱり嬉しいですねw

http://EIP/zabbix


3.今回はここまで。

文章だとあっさりしてますが、RHELとCentOSそれぞれであーでもないこーでもないしましたので錯綜してる可能性が高いです。。が、大筋はだいたいこんな感じだと思います。

振り返るとphpのリポジトリ(とyum)がよくわかっていないのが露骨に出たのでなんとかせねば。

あと、Zabbixのインストール手順はググるといっぱい出てくるのですが、以外とベストプラクティスが見つからないというかみんなバラバラなイメージでして、結局のところ公式の手順を軸にして行間を記事やgithubで補う。。というやり方が1番よさげでした。

この記事がザビのインストールに悩める方のお役に立てますと幸いです。