Ubuntu 20.04 に Zabbix をインストールしてはじめてみた。
前書き
さまざまなところで Zabbix を使っているという話を聞くにつれ、いつかインストールして使ってみようと思っていた。しかし、Zabbix をインストールするためにデータベースとウェブサーバーが必要ということもあって二の足を踏んでいた。
要は Zabbix はインストールが面倒くさそうだと感じていたわけである。
しかし、先日やってみたらインストール自体は思っていたより簡単だったので、そのときの記憶をもとに作業ログを書いておく。自宅で稼働させている Ubuntu 20.04 にインストールすることにしました。
インストールにあたって見るべき情報
これから Zabbix をインストールして使ってみようという場合、見るべき情報は Zabbix 公式サイトです。
「zabbix インストール」などと検索すると Qiita の記事とかが見つかると思いますが、僕の場合は全く役に立たなかったです。OS が Ubuntu なのか CentOS なのかといった前提条件が違うことがほとんどだから。
公式サイトのドキュメントのページから進めていくのが良いと思います。OS は何ですか?データベースは何にしますか?Web サーバは何にしますか?
と質問に答えていく感じで対話的に進められるからです。
僕がインストールした時、Zabbix のバージョンは 5.4 でしたが、そのときの流れを例に説明していこうと思う。
Zabbix 公式サイトにアクセスするところから
まずは Zabbix 公式サイト にアクセスしよう。そうすると、画面右上の方に Documentation というのが見つかる。ここをクリックする。
そうすると、Zabbix のドキュメントページに遷移する。以下の画像のように Zabbix の各バージョンが表示されていた。僕は英語版で良いと思い English タブのところから Zabbix 5.4 の箇所の [Read manual] をクリックした。
そうすると Zabbix Documentation 5.4 というページに飛び、各ドキュメントのタイトルがずらずら並んでいる。そこで 4. Installation のところを広げて、4 Installation from packages のところを広げて、2 Debian/Ubuntu/Raspbian をクリックした。
次は、Debian, Ubuntu, Raspbian 用のインストールイメージをダウンロードするページに遷移した。Ubuntu 20.04 用のインストールイメージがほしいわけなので、当然その Download 箇所をクリックした。

次に表示されるページには、OS バージョンやデータベースを選ぶページであると同時に、インストール手順まで書かれている。つまり、インストールをするための目的ページに到着したわけで、ここの情報をもとにインストールしていくのです。
Zabbix インストール作業
画面の案内に沿ってデータベースや Web サーバを選択する。僕の場合は以下のように、データベースには MySQL を、Web サーバーには NGINX をチョイスした。
選択が終わると、それに合わせたインストール用のコマンドが表示されているだろう。だから基本的にはこれを順番に叩いていけばインストールはできる。
しかし、僕の場合は公式サイトに表示されるコマンドを実施していくだけではうまく行かず、そこだけ自己解決する必要があった。その部分も含めて実行したコマンドをココに書き残しておくことにする。
a. Install Zabbix repository のところ
ここは公式サイトのコマンドそのままで良かった。
# wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.4-1+ubuntu20.04_all.deb # dpkg -i zabbix-release_5.4-1+ubuntu20.04_all.deb # apt update
su – で root にならず、sudo を頭につけて実行したかもしれないが、それ以外は何も変えていない。
b. Install Zabbix server, frontend, agent のところ
ここも公式サイトのコマンドをそのまま叩けばよかった。
# apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
c. Create initial database のところ
ここだけ引っかかった。まず以下のコマンドを実行する必要があった。
$ sudo apt install -y mysql-server $ sudo systemctl status mysql
MySQL をインストールして、起動状況をチェックする。その後、以下のコマンドで MySQL のセキュリティ設定を対話的に行う。
$ sudo mysql_secure_installation
このあと、Zabbix の公式サイトのコマンドに戻り、以下を実行した。
# mysql -uroot -p password mysql> create database zabbix character set utf8 collate utf8_bin; mysql> create user zabbix@localhost identified by 'password'; mysql> grant all privileges on zabbix.* to zabbix@localhost; mysql> quit;
# zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -p zabbix
d. Configure the database for Zabbix server
/etc/zabbix/zabbix_server.conf の以下の箇所を編集する。
DBPassword=password
上記 password は任意の文字列に変える。
e. Configure PHP for Zabbix frontend
/etc/zabbix/nginx.conf の以下の箇所 (listen と server_name) を編集する。
listen 80;
server_name 172.16.1.4;
上記 80 と 172.16.1.4 は、Zabbix サーバーの IP アドレスと tcp ポート番号だ。これは僕の環境の設定値であるため、それぞれの環境にあわせて設定して構わない。
f. Start Zabbix server and agent processes
公式サイト通りにコマンドを実行した。
# systemctl restart zabbix-server zabbix-agent nginx php7.4-fpm # systemctl enable zabbix-server zabbix-agent nginx php7.4-fpm
これでインストールは一段落。
仕上げ
ブラウザーで Zabbix にアクセス (僕の場合は前出の http://172.16.1.4 だ) すると初期設定が少しだけ残っているのが表示されるので、それを仕上げとして行う。
これは、これまで実施してきたコマンドが書いている公式サイトのページ下部にある動画を見るのが良いと思う。以下にリンクを張っておくのでそれを見てもらいながら実施するのが良いと思う。
ここまでできれば Zabbix のインストールは終了だ。ここからは Zabbix に監視対象となるサーバーやネットワーク機器を登録していく流れになる。