メインコンテンツに移動
vps eye catch
zabbix logo

前回まではメールサーバ構築の記事をアップしてきましたが、今回はサーバ監視を行うためにZabbixをインストールします

Zabbix APIを検証する事が目的なのですが、まずは監視サーバとしての基本セットアップを行います。

今回のコンポーネント

項目 コンポーネント
OS Ubuntu 20.04LTS
監視マネージャ Zabbix 5.4
DB MariaDB
Web NGINX

Zabbixセットアップ

それでは早速Zabbixのセットアップに進みます。

STEP1. 公式サイトからのダウンロード

今回は最新版のZabbix 5.4を利用します。

Zabbix公式サイトのダウンロードページから取得します。

https://www.zabbix.com/download

Image
Zabbix Download

ダウンロードしたいバージョン、利用するOS/DB/Webサーバを選択します。

Image
Zabbix Download 02

画面にダウンロード・セットアップするためのコマンド例が記載されるため、それを実行します。

STEP2. レポジトリのインストール

こちらはZabbix 5.4をUbuntu20.04で利用するための例となります。

レポジトリをパッケージ(dpkg)を使ってインストールします。

# 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 

 

STEP3. Zabbix サーバ、フロントエンド、エージェントのインストール

レポジトリがインストールされたので、それを利用してパッケージ(apt)を使って、Zabbixサーバ、フロントエンド、エージェントをインストールします

# apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent 

 

STEP4. DBの初期インストール

記載されたコマンドをコマンドライン上のSQLクライアントから実行します。

※phpMyAdminでの実行方法は記載しません。利用法がわかる方は適宜読み替えてください

データベース、ユーザ作成

下記はコマンドラインからインストールを行った際の実行例です

管理者ユーザでのログインと、DBユーザzabbixのパスワードは適宜修正してください

# mysql -uroot -p

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; 

初期データインポート

初期スキームとデータをインポートします

※SQLファイルが2MBを超えているため、phpMyAdminでのSQLファイルインポートはphpMyAdminで2MB以上のファイルと取り扱える環境にしていることが前提です

初期セットアップ用のSQLファイルは/usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gzになります。

 

コマンドラインでの実施は以下を参照ください。パスワードは先ほどユーザ作成時に利用したものを入力します。

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

 

STEP5. ZabbixサーバにDBの設定を追加

Zabbixサーバの設定ファイル/etc/zabbix/zabbix_server.confを編集

# vim /etc/zabbix/zabbix_server.conf

下記項目を編集します

DBのzabbixユーザに設定したパスワードに変更します

DBPassword=password

 

STEP6. NGINX設定変更

今回はzabbix用にホスト名を1個新設します。例としてzabbix.your-domain.comとして、DNSには事前に設定済みということにします。

自ドメイン運用+VPSはホスト名作りたい放題ですねw 面倒くさがりって言わないでください

このためにワイルドカード証明書の発行をしたんです

 

パッケージインストール時に初期設定ファイル/etc/nginx/conf.d/zabbix.confは作成されていますので、そちらを編集します。

# vim /etc/nginx/conf.d/zabbix.conf

ダウンロードページではlistenserver_nameだけ修正となっていますが、HTTPS対応(強制切替あり)のための設定を追加します。

        listen          80;
        listen          443 ssl;
        server_name     zabbix.your-domain.com;

        ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
        ssl_protocols TLSv1.2 TLSv1.3;

        if ($scheme = http) {
          return 301 https://$server_name$request_uri;
        }

これ以外の箇所は、ひとまずそのままで良いです。

STEP7. 設定反映

各コンポーネントを再起動して設定を反映します。

# nginx -t
# systemctl restart zabbix-server zabbix-agent nginx php7.4-fpm
# systemctl enable zabbix-server zabbix-agent

 STEP8. フロントエンドセットアップ

セットアップしたURLにブラウザでアクセスし下記のような初期画面が出れば成功です

Image
zabbix setup

言語ファイルのインストールを行っていないため、英語でセットアップを進めます。

[Next step]をクリックし次に進みます

Image
Zabbix Setup 2

環境チェックを行いすべて「OK」であれば[Next step]をクリックし次に進みます

Image
Zabbix Setup 3

先ほどセットアップしたデータベースのパスワードを入力します。

Image
Zabbix Setup 4

 続いてZabbixサーバのホスト名、TCPポート番号、Zabbixサーバ名を入力します

Zabbixサーバ名はオプションですが、記載した場合はメニューバーやページタイトルに記入されます

Image
Zabbix Setup 5

標準タイムゾーン(初期値はシステム標準値)とテーマ(初期値はBlue)を選択します

Image
Zabbix Setup 6

最後にインストール前の確認があります。確認して問題なければ[Next Step]をクリックします。

Image
Zabbix Setup 7

Congraturations! You have successfully installed Zabbix frontend.」と表示されたらインストールは完了です。

作成したコンフィグファイルは/usr/share/zabbix/conf/zabbix.conf.phpに作成されています。

[Finish]をクリックすると次のようなログイン画面に転移されます。

Image
Zabbix Login

初期ユーザ情報は以下の通りです。

項目 パラメータ
Username Admin
Password zabbix

初期ユーザでログインを行うと下記のようなダッシュボードが表示されます。

Image
Zabbix Dashboard

まずは、初期パスワードの変更を行います。

ダッシュボード左下の[User settings] - [Profile]をクリックし、ユーザ情報変更画面に移ります。

Image
User Settings

ユーザプロファイル設定画面でパスワードを変更します。

Image
User Profile

これで一通りのセットアップは完了です。

zabbixの使い方は別の機会に