Bashプログラミング
 Computer >> コンピューター >  >> プログラミング >> Bashプログラミング

Debian 11/10へのZabbix導入ガイド:初心者向けステップバイステップ解説

Zabbixは、PHP言語で開発された無料かつオープンソースのITインフラ監視ソフトウェアです。豊富な機能を備え、ネットワーク、サーバー、アプリケーション、サービス、クラウドリソースの監視に幅広く活用されています。さらに、ストレージデバイス、データベース、仮想マシン、テレフォニーシステム、ITセキュリティリソースなど、さまざまな環境の監視にも対応しています。

開発者にとって嬉しい点として、ZabbixにはAPIが用意されており、Zabbixが持つほぼすべての機能へアクセスできます。これにより、あらゆるソフトウェアとの双方向連携が容易になり、サードパーティ製ソフトウェアにZabbixの機能を組み込むことも可能です。

前提条件

  • Debian 11(Bullseye)ミニマルサーバーのインストール方法
  • Debian 10(Buster)ミニマルサーバーのインストール方法

本チュートリアルでは、Debian 11およびDebian 10上に最新版のオープンソース監視ツールZabbixをインストールし、データ保存用のMySQL(MariaDB)データベース、PHP、そしてWebインターフェースとしてApache Webサーバーを組み合わせて構成する手順を解説します。

ステップ1:Apache WebサーバーとPHPパッケージのインストール

1. Zabbixをインストールするには、まずApachePHP、および必要なPHPモジュールを以下のコマンドでインストールします。

# apt install apache2 php php-mysql php-mysqlnd php-ldap php-bcmath php-mbstring php-gd php-pdo php-xml libapache2-mod-php

2. インストール中に、インストーラーはsystemdを通じてApacheサービスを自動的に起動し、システム起動時の自動開始も有効化します。以下のsystemctlコマンドで稼働状況を確認できます。

# systemctl status apache2
Debian 11/10へのZabbix導入ガイド:初心者向けステップバイステップ解説DebianでのApacheステータス確認

systemd環境下でApacheサービスを管理するための便利なsystemctlコマンドは以下の通りです。

# systemctl start apache2
# systemctl stop apache2
# systemctl restart apache2

ステップ2:MariaDBサーバーとクライアントのインストール

3. データを保存するために、Zabbixにはデータベース管理システムが必要です。デフォルトではMySQLをサポートしていますが、本ガイドではMySQLの代替としてそのまま置き換えて使えるMariaDBをインストールします。

# apt install mariadb-server mariadb-client

4. インストールが完了すると、MariaDBサービスは自動的に起動され、システム起動時の自動開始も有効になります。以下のコマンドで稼働状況を確認しましょう。

# systemctl status mariadb
Debian 11/10へのZabbix導入ガイド:初心者向けステップバイステップ解説DebianでのMariaDBステータス確認

5. 次に、MariaDBサーバーのデータベースインストールをセキュアにします。インストール済みパッケージにはセキュリティ設定用スクリプトが同梱されているので、それを実行して推奨事項に従ってください。

# mysql_secure_installation

このスクリプトでは、匿名ユーザーの削除、rootによるリモートログインの無効化、testデータベースとそのアクセス権限の削除などを行うかどうかを順番に尋ねられます。すべての変更を適用してください。

Debian 11/10へのZabbix導入ガイド:初心者向けステップバイステップ解説Debian 10でのMariaDBセキュリティ設定

6. データベースサーバーの保護が完了したら、Zabbix用のデータベースを作成します。まず以下のようにデータベースにログインし、MariaDBシェルへアクセスします。

# mysql -u root -p

7. 次に、以下のSQLコマンドを実行して必要なデータベースを作成します(安全なパスワードの設定を忘れずに行ってください)。

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

ステップ3:Zabbixサーバーのインストールと設定

8. Zabbixをインストールするには、Zabbixパッケージを含むZabbix公式リポジトリを有効化する必要があります。以下の手順で行います。

# wget --no-check-certificate https://repo.zabbix.com/zabbix/5.4/debian/pool/main/z/zabbix-release/zabbix-release_5.4-1+debian11_all.deb
# dpkg -i zabbix-release_5.4-1+debian11_all.deb
# apt update

9. 次に、以下のコマンドでZabbixサーバー、Webフロントエンド、エージェントの各パッケージをインストールします。

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

10. パッケージのインストールが成功したら、前のステップで作成したZabbixデータベースへ初期スキーマとデータをインポートします。

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

11. 続いて、作成したデータベースを使用するようZabbixサーバーデーモンを設定します。設定ファイル/etc/zabbix/zabbix_server.confを編集してください。

# vim /etc/zabbix/zabbix_server.conf

以下の設定項目を探し、ご自身のデータベース設定に合わせて値を更新します。コメントアウトされている項目は「#」を外して有効化し、正しい値を設定してください。

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=admin@monit1
Debian 11/10へのZabbix導入ガイド:初心者向けステップバイステップ解説Zabbixデータベース設定

変更内容をファイルに保存して終了します。

12. ZabbixフロントエンドがPHPで正しく動作するよう、/etc/zabbix/apache.confファイルでタイムゾーンを定義しておく必要もあります。

# vim /etc/zabbix/apache.conf

お使いのPHPバージョン(例:PHP 7.x)に対応する設定セクションを見つけ、以下の行の先頭にある「#」を削除してコメント解除し、サーバーのタイムゾーンを有効にしてください。

php_value date.timezone Asia/Tokyo
Debian 11/10へのZabbix導入ガイド:初心者向けステップバイステップ解説PHPタイムゾーンの設定

変更を保存してファイルを閉じます。

13. 最新の変更を反映させるため、Apacheサーバーを再起動します。

# systemctl restart apache2

14. 環境の準備が整ったら、Zabbixサーバーとエージェントのプロセスを起動し、システム起動時の自動開始を有効にします。

# systemctl start zabbix-server zabbix-agent
# systemctl enable zabbix-server zabbix-agent
Debian 11/10へのZabbix導入ガイド:初心者向けステップバイステップ解説Zabbixサーバーとエージェントの起動

15. 次に、以下のコマンドでZabbixサーバーのステータスを必ず確認してください。

# systemctl status zabbix-server
Debian 11/10へのZabbix導入ガイド:初心者向けステップバイステップ解説Zabbixステータスの確認

16. 同様に、Zabbixエージェントプロセスも稼働していることをステータス確認で確かめます。ここで起動したエージェントはローカルホスト上で動作し、ローカルホストを監視しています。リモートサーバーを監視したい場合は、対象サーバーにエージェントをインストール・設定してください(本ガイド末尾の関連記事を参照)。

# systemctl status zabbix-agent
Debian 11/10へのZabbix導入ガイド:初心者向けステップバイステップ解説Zabbixエージェントステータスの確認

17. 次のセクションで説明するZabbix Webフロントエンドにアクセスする前に、UFWファイアウォールサービスが稼働している場合は、Apacheサーバーへのトラフィックを許可するためポート80(HTTP)443(HTTPS)を開放する必要があります。

# ufw allow 80/tcp
# ufw allow 443/tcp
# ufw reload

ステップ4:Zabbix Webフロントエンドのインストールと設定

18. Zabbix Webフロントエンドを使って監視を始める前に、Webインストーラー経由で初期設定を行う必要があります。ブラウザを開き、以下のURLにアクセスしてインストーラーを起動してください。

https://SERVER_FQDM/zabbix
または
https://SERVER_IP/zabbix

19. 「Go」ボタンをクリックするかEnterキーを押すと、下のスクリーンショットのようなウェルカムページが表示されます。Next stepをクリックしてセットアップを開始しましょう。

Debian 11/10へのZabbix導入ガイド:初心者向けステップバイステップ解説Zabbix Webインストーラー

20. インストーラーが前提条件のチェックを実行します。必要なPHPモジュールと設定オプションがすべてOKであれば(下にスクロールして他の要件も確認)、Next stepをクリックして次へ進みます。

Debian 11/10へのZabbix導入ガイド:初心者向けステップバイステップ解説Zabbixによる前提条件チェック

21. 次に、Zabbixフロントエンドがデータベースに接続するための接続設定を入力します。データベースタイプ(MySQLを選択)、データベースホスト、ポート番号、データベース名、ユーザー名、ユーザーのパスワードをスクリーンショットのように入力してください。

Debian 11/10へのZabbix導入ガイド:初心者向けステップバイステップ解説Zabbixデータベース設定画面

22. 続いて、Zabbixサーバーの詳細(ホスト名またはIPアドレス、ホストサーバーのポート番号)を入力します。任意で、このインストールに名前を付けることもできます。

Debian 11/10へのZabbix導入ガイド:初心者向けステップバイステップ解説Zabbixサーバー詳細設定

23. インストール前のサマリー画面が表示されます。問題がなければNext stepをクリックしてセットアップを完了させましょう。

Debian 11/10へのZabbix導入ガイド:初心者向けステップバイステップ解説Zabbixインストール前サマリー

24. 「Finish」をクリックすると、下のスクリーンショットのようなログインページへリダイレクトされます。

Debian 11/10へのZabbix導入ガイド:初心者向けステップバイステップ解説Zabbixインストール完了

25. ログインするには、ユーザー名Admin、パスワードzabbixを入力します。

Debian 11/10へのZabbix導入ガイド:初心者向けステップバイステップ解説Zabbixログイン画面

26. ログインすると、監視セクションのダッシュボードが表示されます。グローバルビューには、システム情報、深刻度別の問題一覧、発生中の問題、ローカル時刻などのサンプル情報が表示されます。

Debian 11/10へのZabbix導入ガイド:初心者向けステップバイステップ解説Zabbixダッシュボード

27. 重要なセキュリティ対策として、デフォルトの管理者アカウントのパスワードを変更しましょう。AdministrationUsersへ移動します。

ユーザーリストのAlias列でAdminをクリックし、ユーザー詳細ページを開きます。詳細ページ内のPasswordフィールドにある「Change password」をクリックし、安全な新しいパスワードを設定して確認入力します。最後にUpdateをクリックしてパスワードを保存してください。

Debian 11/10へのZabbix導入ガイド:初心者向けステップバイステップ解説Zabbix管理者パスワードの変更

以下の関連記事もぜひ参考にしてください。

  • ZabbixモニタリングでGmailアカウントへメールアラートを送信する設定方法
  • リモートLinuxシステムへのZabbixエージェントのインストールと設定方法
  • ZabbixエージェントのインストールとWindowsホストの監視登録方法

以上で解説は終わりです!本記事では、Debian 11/10サーバーに最新版のZabbix監視ソフトウェアをインストールする方法を学びました。より詳しい情報については、Zabbix公式ドキュメントをご覧ください。

  1. pyDashとは?Webベースで使える軽量Linuxパフォーマンス監視ツールの導入方法

    pyDashは、PythonとDjango、そしてChart.jsを使って開発された、軽量のWebベースLinux監視ツールです。CentOS、Fedora、Ubuntu、Debian、Arch Linux、Raspbian、Pidoraといった主要なLinuxディストリビューションでの動作が確認されています。 このツールを活用すれば、CPUやRAM、ネットワーク統計、プロセス、オンラインユーザーなど、Linux PCやサーバーのリソースをひと目で把握できます。ダッシュボードはPython本体に同梱されているライブラリだけで構築されているため、依存関係が非常に少なく、大量のパッケージやライブラ

  2. ドットファイルとは何か?MacとLinuxでの作成・管理方法を徹底解説

    ドットファイル(dotfiles)は、ソフトウェア開発者としてのキャリアにおいて重要な役割を果たすファイルです。 まず、ドットファイルを活用することで作業効率が大幅に向上します。さらに、自分好みにカスタマイズした快適な開発環境を、どのマシンでも再現できるようになります。 この記事では、ドットファイルの入門として、その概要、システム上での探し方、簡単なドットファイルの作成方法を学びます。加えて、設定のカスタマイズや知識を深めるためのおすすめリソースも紹介します。 それでは始めましょう! ドットファイルとは? 多くのコンピュータソフトウェアは、設定情報をプレーンなテキスト形式のファイルやディレクト