Netdataを使用してCentOS8 / 7サーバーのパフォーマンスを監視する方法


システムのパフォーマンスを監視し、問題が発生した場合に通知を送信するために使用される監視ツールはたくさんあります。ただし、関連するインストールと構成の手順は、多くの場合面倒です。

Netdataは、インストールするのに数ステップしか必要としないオープンソースのリアルタイム監視およびトラブルシューティングツールです。 Gitリポジトリには、インストールと構成のプロセスの大部分を処理し、他の監視ツールに関連する面倒な構成を取り除く自動スクリプトが付属しています。

Netdataは、2013年10月の最初のリリース以来、非常に人気があります。CPUとRAMの使用量、帯域幅の統計、ディスク使用率などのリアルタイムメトリックを収集し、解釈しやすいグラフ/グラフに表示します。

それは大きな飛躍を遂げ、これはフォーブス2020クラウド100の新星の場所を獲得しました。このリストは、プライベートクラウド企業のトップ100を構成しています。

この記事では、CentOS 8/7にNetdataをインストールして、サーバーとアプリケーションのリアルタイム、パフォーマンス、およびヘルスの監視を監視する方法について説明します。

Netdataは、次のディストリビューションをサポートしています。

  • CentOS 8 and CentOS 7
  • RHEL 8 and RHEL 7
  • Fedora Linux

CentOSLinuxにNetdataをインストールする方法

1. Netdataのインストールに取り掛かる前に、いくつかの前提条件パッケージが必須です。ただし、最初に、システムを更新し、図のようにEPELリポジトリをインストールします。

$ sudo yum update
$ sudo yum install epel-release

2.次に、図のように必要なソフトウェアパッケージをインストールします。

$ sudo yum install gcc make git curl zlib-devel git automake libuuid-devel libmnl autoconf pkgconfig findutils

3.前提条件パッケージのインストールが完了したら、図のようにNetdatagitリポジトリのクローンを作成します。

$ git clone https://github.com/netdata/netdata.git --depth=100

4.次に、Netdataディレクトリに移動し、install-required-packages.shスクリプトを実行します。スクリプトはLinuxディストリビューションを検出し、Netdataのインストール中に必要な追加のパッケージをインストールします。

$ cd netdata/
$ ./packaging/installer/install-required-packages.sh --dont-wait --non-interactive netdata 

5.最後に、Netdataをインストールするには、以下に示すようにNetdata自動スクリプトを実行します。

$ sudo ./netdata-installer.sh

スクリプトを実行すると、重要なNetdataファイルが保存される場所について説明されます。これらには、構成ファイル、Webファイル、プラグイン、データベースファイル、ログファイルなどが含まれます。

6.「ENTER」を押して、インストールプロセスを開始します。インストールプロセス中に、ブラウザでNetdataにアクセスし、Netdataの起動や停止など、Netdataを管理する方法に関するヒントがいくつか提供されます。

スクリプトはかなりの時間実行され、インストールプロセス中に必要なすべての構成と調整を行います。私の場合、約3〜5分かかりました。完了すると、表示される出力は、インストールが成功したことの確認になります。

7.インストールしたら、Netdataデーモンを起動して実行する必要があります。開始するには、起動時にNetdataデーモンを有効にし、ステータスを確認して次のコマンドを呼び出します。

$ sudo systemctl start netdata
$ sudo systemctl enable netdata
$ sudo systemctl status netdata

8.デフォルトでは、Netdataはポート19999でリッスンします。これは、次のようにnetstatコマンドを使用して確認できます。

$ sudo netstat -pnltu | grep netdata

9.ブラウザ経由でNetdataにアクセスするには、ファイアウォールでこのポートを開く必要があります。したがって、以下のコマンドを実行します。

$ sudo firewall-cmd --add-port=19999/tcp --permanent
$ sudo firewall-cmd --reload

10. Netdataにアクセスするには、ブラウザを起動し、次のようにURLを参照します。

$ http://centos8-ip:19999/

直感的でクールなグラフでシステム全体のパフォーマンスを示すダッシュボードが表示されます。

右側のサイドバーにリストされているメトリックをクリックして、さまざまなグラフを自由に確認してください。たとえば、実行中のsystemdサービスを垣間見るには、図のように[systemdサービス]オプションをクリックします。

CentOSでの基本認証によるNetdataの保護

ご存知かもしれませんが、Netdataが提供する認証の形式はありません。これは、NetdataのIPアドレスを取得していれば、事実上誰でもダッシュボードにアクセスできることを意味します。

ありがたいことに、htpasswdプログラムとNginxWebサーバーをリバースプロキシとして使用して基本認証を構成できます。したがって、NginxWebサーバーをインストールします。

$ sudo dnf install nginx

Nginxをインストールしたら、/ etc/nginx /conf.dディレクトリ内に構成ファイルを作成します。ただし、Netdata以外の目的でNginxを使用している場合は、sites-availableディレクトリを自由に使用してください。

$ sudo vim /etc/nginx/conf.d/default.conf

次の構成全体を追加し、server_ipディレクティブとexample.comディレクティブを独自のサーバーIPアドレスとサーバー名に変更してください。

upstream netdata-backend {
    server 127.0.0.1:19999;
    keepalive 64;
}

server {
    listen server_ip:80;
    server_name example.com;

    auth_basic "Authentication Required";
    auth_basic_user_file netdata-access;

    location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://netdata-backend;
        proxy_http_version 1.1;
        proxy_pass_request_headers on;
        proxy_set_header Connection "keep-alive";
        proxy_store off;
    }
}

ユーザー認証では、htpasswdツールを使用してtecmintというユーザーのユーザー名とパスワードを作成し、netdata-accessファイルの下に資格情報を保持します。

$ sudo htpasswd -c /etc/nginx/netdata-access tecmint

パスワードを入力して確認します。

次に、変更を有効にするためにNginxWebサーバーを再起動します。

$ sudo systemctl restart nginx

構成が正しく行われたかどうかをテストするには、サーバーのIPアドレスを参照してください。

http://server-ip

その後、Netdataダッシュボードにアクセスできるようになります。

そして、それだけです、皆さん。 CentOS8へのNetdataMonitoringツールのインストールについて説明し、監視ツールを保護するための基本認証を構成しました。私たちに叫び声を送って、それがどのように進んだかを知らせてください。