Ubuntu 16.04でZabbixを使用してリモートサーバーを監視する方法

Zabbixは、システムとネットワークコンポーネントの可用性を監視するために使用される無料でオープンソースのエンタープライズ対応ソフトウェアです。Zabbixは、数千のサーバー、仮想マシン、またはネットワークコンポーネントを同時に監視できます。Zabbixは、CPU、メモリ、ディスク領域とIO、プロセス、ネットワーク、データベース、仮想マシン、Webサービスなど、システムに関連するほぼすべてを監視できます。ZabbixにIPMIアクセスが提供されている場合は、温度、電圧などのハードウェアも監視できます。

前提条件

このチュートリアルでは192.0.2.1、Zabbixサーバーの192.0.2.2パブリックIPアドレスと、リモートで監視するZabbixホストのパブリックIPアドレスとして使用します。例のIPアドレスをすべて実際のパブリックIPアドレスに置き換えてください。

How to Update Ubuntu 16.04のガイドを使用してベースシステムを更新します。システムが更新されたら、依存関係のインストールに進みます。

ApacheとPHPをインストールする

Zabbix Webをインストールすると、Apache Webサーバーの構成が自動的に作成されます。

Apache Webサーバーをインストールして、ZabbixフロントエンドまたはWeb UIを提供します。

sudo apt -y install apache2

Apache Webサーバーを起動し、起動時に自動的に起動できるようにします。

sudo systemctl start apache2
sudo systemctl enable apache2

Zabbixで必要なモジュールと共に最新バージョンのPHPをインストールします。

sudo apt -y install php php7.0 libapache2-mod-php7.0 php7.0-cli php7.0-gd php7.0-bcmath php7.0-ctype php7.0-xml php7.0-sockets php7.0-mbstring php7.0-gettext php7.0-ldap php7.0-pgsql

PostgreSQLのインストールと構成

PostgreSQLはオブジェクトリレーショナルデータベースシステムです。システムにPostgreSQLリポジトリを追加します。

echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list

リポジトリ署名鍵をインポートし、パッケージリストを更新します。

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update

PostgreSQLデータベースサーバーをインストールします。

sudo apt -y install postgresql postgresql-contrib

PostgreSQLサーバーを起動し、起動時に自動的に起動するようにします。

sudo systemctl start postgresql
sudo systemctl enable postgresql

デフォルトのPostgreSQLユーザーのパスワードを変更します。

sudo passwd postgres

PostgreSQLユーザーとしてログインします。

sudo su - postgres

Zabbix用の新しいPostgreSQLユーザーを作成します。

createuser zabbix

PostgreSQLは、psqlデータベースでクエリを実行するためのシェルを提供します。実行して、PostgreSQLシェルに切り替えます。

psql

Zabbixデータベース用に新しく作成したデータベースユーザーのパスワードを設定します。

ALTER USER zabbix WITH ENCRYPTED password 'StrongPassword';

Zabbix用の新しいデータベースを作成します。

CREATE DATABASE zabbix OWNER zabbix;

psqlシェルを終了します。

\q

sudo現在のユーザーからユーザーに切り替えpostgresます。

exit

Zabbixをインストールする

ZabbixはUbuntu用のインストールバイナリを提供します。これはZabbixリポジトリから直接インストールできます。システムにZabbixリポジトリを追加します。

wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+xenial_all.deb
sudo dpkg -i zabbix-release_3.4-1+xenial_all.deb
sudo apt update

とをインストールZabbix serverZabbix webます。

sudo apt -y install zabbix-server-pgsql zabbix-frontend-php

アプリケーションと一緒に出荷されるPostgreSQLデータベースをインポートします。

zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | sudo -H -u zabbix bash -c 'psql -U zabbix zabbix'

出力の最後に、次のようなものが表示されます。

...
INSERT 0 1
INSERT 0 1
COMMIT

Zabbix構成ファイルを開いて、データベースの詳細を更新します。

sudo nano /etc/zabbix/zabbix_server.conf

次の行を見つけ、データベース構成に従って値を更新します。DBHostand DBPort行のコメントを解除する必要があります。

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=StrongPassword
DBPort=5432

ZabbixはApache用の仮想ホストファイルを自動的にインストールします。タイムゾーンを更新するように仮想ホストを構成する必要があります。

sudo nano /etc/apache2/conf-available/zabbix.conf

次の行を見つけます。

<IfModule mod_php7.c>
...
#php_value date.timezone Europe/Riga

以下に示すように、タイムゾーンに従って行を更新します。

<IfModule mod_php7.c>
...
php_value date.timezone Asia/Kolkata

Apacheを再起動して、これらの変更を構成に適用します。

sudo systemctl restart apache2

また、Zabbixサーバーを起動して、起動時に自動的に起動するようにします。

sudo systemctl start zabbix-server
sudo systemctl enable zabbix-server

Zabbixサーバーが稼働しているはずです。プロセスのステータスを確認できます。

sudo systemctl status zabbix-server

管理ダッシュボードにアクセスするにはhttp://192.0.2.1/zabbix、お気に入りのブラウザーを使用して開きます。ウェルカムメッセージが表示されます。次のインターフェースですべての前提条件が満たされている必要があります。インストーラーページの指示に従って、ソフトウェアをインストールします。ソフトウェアがインストールされたら、ユーザー名Adminとパスワードを使用してログインしますzabbix。これでZabbixがインストールされ、Zabbixエージェントからデータを収集する準備が整いました。

サーバーにエージェントをセットアップする

Zabbixがインストールされているサーバーを監視するために、サーバーにエージェントを設定できます。Zabbixエージェントは、Linuxサーバーからイベントデータを収集してZabbixサーバーに送信します。デフォルトで10050は、サーバーにイベントとデータを送信するためにポート番号が使用されます。

Zabbixエージェントをインストールします。

sudo apt -y install zabbix-agent

エージェントを起動し、起動時に自動的に起動するようにします。

sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent

ZabbixエージェントとZabbixサーバー間の通信はローカルで行われるため、暗号化を設定する必要はありません。

Zabbixサーバーがデータを受信する前に、ホストを有効にする必要があります。ZabbixサーバーのWeb管理ダッシュボードにログインし、に移動しConfiguration >> Hostます。Zabbixサーバーホストの無効化されたエントリが表示されます。エントリを選択し、Enableボタンをクリックして、ZabbixサーバーアプリケーションとZabbixサーバーがインストールされているベースシステムの監視を有効にします。

Ubuntu 16.04でZabbixを使用してリモートサーバーを監視する方法

リモートLinuxマシンでのエージェントのセットアップ

リモートZabbixエージェントがZabbixサーバーにイベントを送信できる3つの方法があります。最初の方法は暗号化されていない接続を使用する方法で、2番目の方法は安全な事前共有キーを使用する方法です。3番目に安全な方法は、RSA証明書を使用して送信を暗号化することです。

Zabbixエージェントをリモートマシンにインストールして設定する前に、Zabbixサーバーシステムで証明書を生成する必要があります。このチュートリアルでは、自己署名証明書を使用します。

Zabbixサーバーでsudoユーザーとして次のコマンドを実行します

Zabbixキーを格納する新しいディレクトリを作成し、CAの秘密キーを生成します。

mkdir ~/zabbix-keys && cd ~/zabbix-keys
openssl genrsa -aes256 -out zabbix-ca.key 4096

秘密鍵を保護するためのパスフレーズを求められます。秘密鍵が生成されたら、CAの証明書の生成に進みます。

openssl req -x509 -new -key zabbix-ca.key -sha256 -days 3560 -out zabbix-ca.crt

秘密鍵のパスフレーズを提供します。それはあなたの国、州、組織についていくつかの詳細を尋ねます。詳細を適宜入力してください。

user@vultr:~/zabbix-keys$ openssl req -x509 -new -key zabbix-ca.key -sha256 -days 3560 -out zabbix-ca.crt
Enter pass phrase for zabbix-ca.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:IN
State or Province Name (full name) [Some-State]:My State
Locality Name (eg, city) []:My City
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:My Unit
Common Name (e.g. server FQDN or YOUR name) []:Zabbix CA
Email Address []:[email protected]

CA証明書が正常に生成されました。Zabbixサーバーの秘密鍵とCSRを生成します。

openssl genrsa -out zabbix-server.key 2048
openssl req -new -key zabbix-server.key -out zabbix-server.csr

上記のコマンドを実行するときは、秘密鍵を暗号化するためのパスフレーズを指定しないでください。CSRを使用して、Zabbixサーバーの証明書を生成します。

openssl x509 -req -in zabbix-server.csr -CA zabbix-ca.crt -CAkey zabbix-ca.key -CAcreateserial -out zabbix-server.crt -days 1825 -sha256

同様に、Zabbixホストまたはエージェントの秘密鍵とCSRを生成します。

openssl genrsa -out zabbix-host1.key 2048
openssl req -new -key zabbix-host1.key -out zabbix-host1.csr

証明書を生成します。

openssl x509 -req -in zabbix-host1.csr -CA zabbix-ca.crt -CAkey zabbix-ca.key -CAcreateserial -out zabbix-host1.crt -days 1460 -sha256

証明書をZabbix設定ディレクトリにコピーします。

sudo mkdir /etc/zabbix/keys
sudo cp zabbix-ca.* zabbix-server.* /etc/zabbix/keys

Zabbixユーザーに証明書の所有権を提供します。

sudo chown -R zabbix: /etc/zabbix/keys

Zabbixサーバーの構成ファイルを開いて、証明書のパスを更新します。

sudo nano /etc/zabbix/zabbix_server.conf

構成ファイルでこれらの行を見つけ、以下に示すように変更します。

TLSCAFile=/etc/zabbix/keys/zabbix-ca.crt
TLSCertFile=/etc/zabbix/keys/zabbix-server.crt
TLSKeyFile=/etc/zabbix/keys/zabbix-server.key

ファイルを保存して、エディターを終了します。Zabbixサーバーを再起動して、構成の変更を有効にします。

sudo systemctl restart zabbix-server

scpコマンドを使用して、監視するホストコンピュータに証明書をコピーします。

cd ~/zabbix-keys
scp zabbix-ca.crt zabbix-host1.* [email protected]:~

192.0.2.2Zabbixエージェントをインストールするリモートホストの実際のIPアドレスに置き換えてください。

Zabbixホストをインストールする

証明書をホストシステムにコピーしたので、Zabbixエージェントをインストールする準備ができました。

これ以降、監視するホストですべてのコマンドを実行する必要があります

Zabbixリポジトリをシステムに追加します。

wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+xenial_all.deb
sudo dpkg -i zabbix-release_3.4-1+xenial_all.deb
sudo apt update

Zabbixエージェントをシステムにインストールします。

sudo apt -y install zabbix-agent

Zabbixの設定とセットアップについては、CentOS 7用のZabbixガイドのZabbixホストインストールステップに進んでください。



Leave a Comment

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

Ubuntu 14.10へのMcMyAdminのインストール

Ubuntu 14.10へのMcMyAdminのインストール

McMyAdminは、サーバーの管理に使用されるMinecraftサーバーコントロールパネルです。McMyAdminは無料ですが、複数のエディションがあり、一部はパイです

LinuxでTeamTalk Serverをセットアップする

LinuxでTeamTalk Serverをセットアップする

TeamTalkは、ユーザーが高品質のオーディオ/ビデオ会話、テキストチャット、ファイルの転送、および画面の共有を可能にする会議システムです。それは

CentOS 7サーバーにCyber​​Panelをインストールして構成する方法

CentOS 7サーバーにCyber​​Panelをインストールして構成する方法

別のシステムを使用していますか?はじめにCyber​​Panelは、オープンソースでありOpenLiteSpeedを使用する市場で最初のコントロールパネルの1つです。なんてこった

Ubuntu 17.04でRbenv、Rails、MariaDB、Nginx、SSL、およびPassengerを使用してRubyをインストールおよび構成する方法

Ubuntu 17.04でRbenv、Rails、MariaDB、Nginx、SSL、およびPassengerを使用してRubyをインストールおよび構成する方法

Ruby on Railsは、プログラマーの生産性を向上させるために開発されたRubyの人気のあるWebフレームワークです。ただし、さまざまな宝石と依存関係を取得する

Vultr VPSにアクセスする方法

Vultr VPSにアクセスする方法

Vultrは、VPSにアクセスして構成、インストール、および使用するためのいくつかの異なる方法を提供します。アクセス認証情報VPS arのデフォルトのアクセス認証情報

CentOS 7、Ubuntu 16.04、Debian 9にGolang 1.8.3をインストールする方法

CentOS 7、Ubuntu 16.04、Debian 9にGolang 1.8.3をインストールする方法

GolangはGoogleが開発したプログラミング言語です。汎用性、シンプルさ、信頼性のおかげで、Golangは最も人気のあるものの1つになりました

Debian、CentOS、およびFreeBSDでSudoを使用する方法

Debian、CentOS、およびFreeBSDでSudoを使用する方法

LinuxおよびUnixのシステム管理者の間では、sudoユーザーを使用してサーバーにアクセスし、コマンドをルートレベルで実行することは非常に一般的です。sudの使用

Ubuntu 16.04 LTSにDokuWikiをインストールする方法

Ubuntu 16.04 LTSにDokuWikiをインストールする方法

別のシステムを使用していますか?DokuWikiは、データベースを必要としないPHPで記述されたオープンソースのWikiプログラムです。データをテキストファイルに保存します。ドクウィク

DebianでのChrootのセットアップ

DebianでのChrootのセットアップ

この記事では、Debianでchroot jailをセットアップする方法を説明します。私はあなたがDebian 7.xを使っていると思います。Debian 6または8を実行している場合、これは機能する可能性があります、bu

DebianにPiVPNをインストールする方法

DebianにPiVPNをインストールする方法

はじめにDebianでVPNサーバーを設定する簡単な方法は、PiVPNを使用することです。PiVPNは、OpenVPNのインストーラーおよびラッパーです。それはあなたのための簡単なコマンドを作成します

Ubuntu 18.04 LTSにCyber​​Panelをインストールして構成する方法

Ubuntu 18.04 LTSにCyber​​Panelをインストールして構成する方法

別のシステムを使用していますか?はじめにCyber​​Panelは、オープンソースでありOpenLiteSpeedを使用する市場で最初のコントロールパネルの1つです。なんてこった

Ubuntu 16.04 LAMP VPSにBigTree CMSをインストールする方法

Ubuntu 16.04 LAMP VPSにBigTree CMSをインストールする方法

別のシステムを使用していますか?BigTree CMS 4.2は、高速で軽量な無料のオープンソースのエンタープライズグレードのコンテンツ管理システム(CMS)であり、

Debian 9でソースからBrotliをビルドする方法

Debian 9でソースからBrotliをビルドする方法

別のシステムを使用していますか?Brotliは、Gzipよりも圧縮率が高い新しい圧縮方法です。そのソースコードはGithubで公開されています。ティ

PleskサーバーでHTTP / 2を有効にする方法

PleskサーバーでHTTP / 2を有効にする方法

PleskはネイティブのHTTP / 2サポートを備えています。PleskでのHTTP / 2のロールアウトは、他のコンポーネントに比べてはるかに簡単ですが、その導入プロセスには慎重な計画が必要です

FreeBSD 12にosTicketをインストールする方法

FreeBSD 12にosTicketをインストールする方法

別のシステムを使用していますか?osTicketは、オープンソースのカスタマーサポートチケットシステムです。osTicketのソースコードはGithubで公開されています。このチュートリアルでは

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。