ウェブサイト検索

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


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

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

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

それは大きな飛躍を遂げ、 これによりフォーブス2020クラウド100 社の新星に選ばれました。このリストは、プライベート クラウド企業の上位 100 社を構成しています。

この記事では、Netdata をCentOS 8/7 にインストールして、サーバーとアプリケーションのリアルタイム監視、パフォーマンス監視、健全性監視を行う方法を説明します。

サポートされているプラットフォーム

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

  • CentOS 8 および CentOS 7
  • RHEL 8 および RHEL 7
  • Fedora Linux

CentOS Linux に 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. 前提条件パッケージのインストールが完了したら、図に示すように Netdata git リポジトリのクローンを作成します。

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

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

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

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

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

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

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

sudo netstat -pnltu | grep netdata

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

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

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

http://centos8-ip:19999/

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

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

CentOS での Basic 認証によるネットデータの保護

驚くべきことに、ネットデータが提供する認証形式はありません。これは、Netdata の IP アドレスを取得すれば、事実上誰でもダッシュボードにアクセスできることを意味します。

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

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

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

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

sudo systemctl restart nginx

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

http://server-ip

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

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