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


はじめに

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

とりあえず実機がないと何もはじまらないので、インストール作業から手を動かします。
サッとググった感じかなりめんどくさそうなのが気になりますがw、エラー込みの奮闘記として読んでいただけると幸いです。

作業環境

mac
CentOS7,RHEL
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でちょっとつまずきましたが、そこは後述します。

2.作業開始

2-1.EC2作成

インターネット接続可能なEC2を立てます。
よくわからない方は私の過去記事を参照くださいませ。

2-2MySQLのインストール&ユーザ「zabbix」の作成

「Zabbix インストール 公式」でググると公式のセットアップ手順がヒットするのでありがたく倣います。

MySQLインストールしてrootユーザのパスワード変更して、zabbixって名前のデータベースをutf8で作って、zabbixってユーザー作って権限付与してね!だそうです。
これはぴよぴよエンジニア(今もあまり変わりませんが)時代のぼくには読み取れないですねw

MySQLのインストール手順は過去記事を参照くださいませ。
ユーザー作成手順は以下のとおり。この時点ではDBは作成しません。

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

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

以降は公式の手順の通りに進めます。
3.2を使いたかったのでURLをちょっといじくって使用します。

# rpm -Uvh https://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent

zabbix-server,agentをyum install したタイミングでhttpdとphpがインストールされますのでゼロベースから構築する際は事前のインストールは不要です。
ちなみにd.のDBPasswordとは先ほど作成したzabbixユーザのパスワードを指します。
zabbixっていうデータベースの何かのパス?とか無駄に勘ぐりましたが普通にユーザのパスです。
zabbix_server.confのPassも同じパスを入れればOK。ここ地味に迷いました。。

2-4.起動

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

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

http://EIP/zabbix

2-5.エラー

確かRHELだったと思うのですが、作業中にエラーがでました。
phpがインストールされてないからとか依存関係にあるphpが云々()のように読めます。
ちょっと嫌になりますがw、そのまま進めるとzcatががっつりエラーに。
脳死コピペを諦めて読むと、zcatの対象となるファイルがディレクトリにないようです。見たら確かにない。
MySQLをインストールする前にzabbix-web-mysqlをyum installしたので、そこでコケたんですね。

エラーメッセージを切り取りながらググりましたが、結局RHELの場合は以下のOpticalなんたらが必要とのことでした。以下のコマンドで解決。※CentOSでは不要でした

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

3.振り返り

CentOSとRHELで差分はあるでしょうが、大筋はだいたいこんな感じだと思います。

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

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