Raspbian に Zabbix をインストールする

Raspberry Pi 3 Model B
OS: Raspbian Buster Lite

先ずは Download and install Zabbix へアクセスしてインストールしたいZabbixのバージョンを選択する。OSディストリビューションはもちろん「Raspbian」にする。OSバージョンは導入しているものを選び、DBとWebサーバを決める。そうすると其れに合わせたインストール手順が示されるから此れに従う。

図1. OSやDB、ウェブサーバなどを選択
$ sudo wget https://repo.zabbix.com/zabbix/4.0/raspbian/pool/main/z/zabbix-release/zabbix-release_4.0-3+buster_all.deb
$ sudo dpkg -i zabbix-release_4.0-3+buster_all.deb
$ sudo apt update
$ sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent

OSインストール直後の状態からZabbixパッケージのインストールを実施すると81にも及ぶパッケージの導入が始まった。

図2. 多数のパッケージがインストールされる様子

インストールが一段落したら、一先ずrootユーザでMySQLにログインする。パスワードは空っぽうだから何も入力せずにEnterを押下する。

$ sudo mysql -uroot -p
Enter password:

そうしてデータベースとユーザを作成する。データベースを作成する際にうっかりして character set utf8 collate utf8_binを忘れたら、データをインポートする段になって ERROR 1071 (42000) at line 165: Specified key was too long; max key length is 767 bytes などとエラーが発生して処理が進まなくなった。

デフォルトでセットされる文字コードutf8mb4では1文字あたり最大で4バイトも使用してテーブルのカラムに収まりきらない。此れを躱すために1文字3バイトのutf8を態々指定する模様である。指示されたとおりにコピー&ペーストすることの肝要さを思い知ったものである。

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'password';
MariaDB [(none)]> quit;

そうしたらスキーマとデータをインポートする。

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

次はZabbixサーバがデータベースに接続するためにユーザのパスワードを記載しておく。

$ sudo vi /etc/zabbix/zabbix_server.conf
DBPassword=password

それからApacheの設定ファイルにあるPHPのdate.timezoneを編集する。PHP5と7の場合でそれぞれ場合分けをして設定が記載されているけれども、公式の手順に沿うとPHP7がインストールされるからそちら側を弄う必要がある。知らずPHP5のほうだけを編集して満足していると、この後にある作業で Time zone for PHP is not set (configuration parameter "date.timezone"). となって立ち往生する。

図3. date.timezoneの設定に不備がある様子
$ sudo vi /etc/zabbix/apache.conf
    <IfModule mod_php7.c>
        (snip)
        # php_value date.timezone Europe/Riga
        php_value date.timezone Asia/Tokyo
    </IfModule>

$ php -v
PHP 7.3.14-1~deb10u1 (cli) (built: Feb 16 2020 15:07:23) ( NTS )
$ sudo systemctl restart zabbix-server zabbix-agent apache2
$ sudo systemctl enable zabbix-server zabbix-agent apache2
(snip)
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-server.service → /lib/systemd/system/zabbix-server.service.
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-agent.service → /lib/systemd/system/zabbix-agent.service.

そうしたらブラウザでZabbixのページにアクセスしてウィザードに従いながら設定をする。

図4. Next stepをクリック
図5. 必要要件を満たしているかチェック
図6. DBの接続情報を設定
図7. Zabbixサーバの設定
図8. インストール情報の確認
図9. インストールが成功した様子

インストール直後の初期状態ではユーザ名:Admin、パスワード:zabbixでサインインする。

図10. ログイン画面

さっそくZabbixがサーバのグラフ制作に取り掛かってくれているのであるが、如何せん文字が豆腐であるから困る。之を解消せねば寝れない。Notoフォントを導入してZabbixが採用するフォントとして設定してやれば終いである。

$ sudo apt install fonts-noto-cjk
$ cd /etc/alternatives/
$ sudo ln -sf /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc zabbix-frontend-font
図11. 日本語フォントが豆腐な様子
図12. 豆腐フォントが解消された様子

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください