ひよっこエンジニアの備忘録

日常とかSEとしての備忘を書いていきます。

Zabbixインストール手順(Ubuntu 22.04)

自宅のUbuntu22.04にZabbixをインストールしたので備忘兼ねて手順をメモっておく。
環境はこんな感じでインターネットに接続できる状態であることを前提とします。

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:        22.04
Codename:       jammy


まずはZabbixの公式サイトを確認。
www.zabbix.com

右上の[DOWNLOAD]を押下してダウンロードページへ遷移します。

色々とオプションがありますが、自宅のUbuntuサーバにマニュアルでインストールするため
Zabbix Packagesを選択し、[1 Choose your platform]に情報を入力していきます。

6.4が最新バージョンでしたが、今回はLTSの6.0を使うことにしました。
またデータベースやWEBサーバはデフォルト設定のMySQLApacheを利用することにします。

なおZabbix 6.0のシステム要件が、以下リンクに記載されていますので事前に確認推奨。
www.zabbix.com





以降は、この手順に沿って作業します。
1で選択した内容に基づいて、環境にあったコマンドを自動生成して手順を表示してくれるみたいです。
これは非常にありがたい・・
ファイルダウンロード等もあるので、/opt配下に新規でzabbixディレクトリを作って作業していきたいと思います。

[インストール]
$ mkdir /opt/zabbix
$ cd /opt/zabbix
$ sudo wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu22.04_all.deb
$ sudo dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb
$ sudo apt update
$ apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
[データベース設定]

ここからデータベースの設定に入ります。

$ mysql -uroot -p
Enter password: <-----! ここでMySQLで利用するパスワード入力
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' 

しかしパスワード入力後、以下のエラーメッセージが出力されてしまいました。。
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

確かに/var/run配下にmysqldは存在せず、zabbix-server-mysqlだけインストールすればよいのかと思ってましたが、
どうやら事前にMySQLをインストールしておく必要があるようです・・




mysql-serverをインストールして・・

$ sudo apt install mysql-server


再チャレンジ・・無事にmysqlのプロンプトが起動しました。

$ mysql -uroot -p
Enter password: <-----! ここでMySQLで利用するパスワード入力
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 51
Server version: 8.0.34-0ubuntu0.22.04.1 (Ubuntu)

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>


続けて公式手順に従って、ユーザ作成や権限設定をします。

mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by '<zabbix@localhostで利用する任意のパスワード>';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;
Bye
$ 
$ zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
Enter password:  <-----! zabbix@localhost用に設定したパスワード入力
[Zabbixサーバの設定]

/etc/zabbix/zabbix_server.confを開き、DBPasswordにzabbix@localhost用に設定したパスワードが入るよう編集します。

$ sudo vi /etc/zabbix/zabbix_server.conf
```
### Option: DBPassword
<omitted>
DBPassword=<zabbix@localhost用に設定したパスワード>"  <-----! ここを編集
```

完了後、 zabbix-server zabbix-agentサービスの再起動と自動起動を有効化します。

$ sudo systemctl restart zabbix-server zabbix-agent apache2
$ sudo systemctl enable zabbix-server zabbix-agent apache2





[WEB UI へアクセス]
ここまで完了すると、ブラウザから http://<サーバIPアドレス>/zabbix へアクセスすることができるようになります。

Web画面に無事アクセスできたら、最初に[Next step]ボタンを押下して以下の画面を表示します。
前提条件のチェック結果がOKになっていることを確認し[Next step]ボタンを押下します。

DBとの接続設定画面がでてきました。
私の環境ではデータベースサーバーとZabbixサーバは同一ホストであり、
MySQLのポート番号もデフォルトのまま利用する想定のため、
zabbix@localhost用に設定したパスワードのみ入力して[Next step]ボタンを押下することにします。


最後の設定項目です。
ホスト名、タイムゾーンとお好みのテーマカラーを設定します。
タイムゾーンUTCのままだと時間の計算が若干面倒なのでAsia/Tokyoへ変更します。

最後に設定内容を確認のうえ問題がなければ、[Next step]ボタンを押下します。

Congratulations you have successfully installed Zabbix frontend.
と表示され、その後ログイン画面へ遷移することできればインストールは完了となります。

ちなみにWEB UIへログインする際のデフォルトアカウントはユーザ名:Admin / パスワード:zabbixです。
データベース用に設定した、zabbix / zabbix@localhost用に設定したパスワード ではログインできないのでご注意を・・