Linuxシステムのメンテナンスと管理にとって、そのパフォーマンスの監視は非常に重要であり、特にリアルタイムの監視データです。このデータは、サーバーの負荷圧力を判断し、時間内にリソース割り当てを調整し、ビジネスへのサービスを向上させるのに役立ちます。そのため、今日、移民労働者はLinuxパフォーマンスのリアルタイム監視ツールであるNetdataをすべての人に提供しています。
まず効果の絵を作ってみましょう
ネットデータ紹介
Netdataは、Linuxシステムパフォーマンスのリアルタイム監視ツールです。これは高度に最適化されたLinuxデーモンであり、Linuxシステム、アプリケーション(Webサーバー、データベースなどを含むがこれらに限定されない)、SNMPサービスなどのリアルタイムのパフォーマンス監視を提供できます。
Netdataは視覚的な手段を使用して監視情報を表示するため、システム、プログラム、アプリケーションのリアルタイムの動作状態を明確に理解でき、Prometheus、Graphite、OpenTSDB、Kafka、Grfanaなどと統合することもできます。
Netdataは無料でオープンソースのソフトウェアであり、現在Linux、FreeBSD、macOS、およびそれらから派生した他のシステム(KubernetesやDockerなど)で利用できます。
Netdataウェアハウスアドレス:_ github.com/netdata/ne ...
Netdataの機能
1.フレンドリーで美しいビジュアルインターフェース2.カスタマイズ可能な制御インターフェース3.高速で効率的なインストール4.構成がゼロ、構成がゼロ5.依存性がゼロ6.拡張可能、プラグインAPIが付属7.サポートされるシステムプラットフォームワイド
Netdataはどのように機能しますか?
Netdataは効率的で高度にモジュール化されたインジケーター管理エンジンです。ロックのない設計により、メトリックの同時操作に最適です。
上図の各コンポーネントの役割の説明については、興味のある方は公式説明を参照してください。ここでは繰り返されません。
Netdataは何を監視できますか?
Netdataは、200を超える一般的なサービスとアプリケーションのインジケーター、およびCPU、メモリ、ディスク、ファイルシステム、ネットワークなどのシステム関連のインジケーターを収集できます。これらはコレクタと呼ばれ、GoやPythonなどの複数のプログラミング言語をサポートするプラグインによって管理されます。
人気のあるコレクターには、Nginx、Apache、MySQL、statsd、cgroups(コンテナー、Docker、Kubernetes、LXCなど)、Traefik、Webサーバーのaccess.logファイルなどがあります。
詳細なサポートリストについては、次の手順を参照してください:_ github.com/netdata/ne ...
Netdataインストール1、直接インストール
最初にシステムカーネルといくつかの依存ライブラリファイルを更新する必要があります
[root@CentOS7-1 ~]# yum update -y
复制代码
何も操作しない場合、直接インストールすると以下のプロンプトが表示されますが、yを入力してシステムを自動更新することもできます。
更新操作を実行した後、次のコマンドを直接実行してNetdataをインストールします。
[root@CentOS7-1 ~]# bash <(curl -Ss https://my-netdata.io/kicksta...
复制代码
次に、プログラムは自動的にインストールアクションを実行して、インストールする一連のパッケージをダウンロードします。次のように、操作を1回確認する必要があります。
外部リソースへのアクセスが原因である可能性があり、ネットワーク接続によっては、待機時間が長くなる場合と短くなる場合があります。
上の図に示すように、インストールプロセスからいくつかの重要な情報を確認することもできます。
上の図の情報から、サービスを開始および停止するためのアクセス方法とコマンドを確認できます。
以下に示すように、インストールは完了です
これは、Netdataが開始されたことを示しています。このコマンドを使用して、起動が完了したかどうかを確認できますか?
[root@CentOS7-1 ~]# lsof -i :19999
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
netdata 14787 netdata 4u IPv4 27995 0t0 TCP *:dnp-sec (LISTEN)
netdata 14787 netdata 5u IPv6 27996 0t0 TCP *:dnp-sec (LISTEN)
[root@CentOS7-1 ~]# ps -ef|grep netdata
netdata 14787 1 2 23:24 ? 00:00:06 /usr/sbin/netdata -P /var/run/netdata/netdata.pid -D
netdata 14800 14787 0 23:24 ? 00:00:00 /usr/sbin/netdata --special-spawn-server
netdata 14954 14787 0 23:24 ? 00:00:01 bash /usr/libexec/netdata/plugins.d/tc-qos-helper.sh 1
netdata 14974 14787 0 23:24 ? 00:00:02 /usr/bin/python /usr/libexec/netdata/plugins.d/python.d.plugin 1
root 14975 14787 1 23:24 ? 00:00:04 /usr/libexec/netdata/plugins.d/ebpf.plugin 1
netdata 14976 14787 0 23:24 ? 00:00:01 /usr/libexec/netdata/plugins.d/go.d.plugin 1
netdata 14977 14787 1 23:24 ? 00:00:05 /usr/libexec/netdata/plugins.d/apps.plugin 1
root 15277 1149 0 23:29 pts/0 00:00:00 grep --color=auto netdata
复制代码
2. Dockerのインストール
最初にDocker環境を準備してから、次のコマンドを直接実行してインストール操作を完了します。
docker run -d --name=netdata
-p 19999:19999
-v netdatalib:/var/lib/netdata
-v netdatacache:/var/cache/netdata
-v /etc/passwd:/host/etc/passwd:ro
-v /etc/group:/host/etc/group:ro
-v /proc:/host/proc:ro
-v /sys:/host/sys:ro
-v /etc/os-release:/host/etc/os-release:ro
--restart unless-stopped
--cap-add SYS_PTRACE
--security-opt apparmor=unconfined
netdata/netdata
复制代码
インストールが完了したら、次の方法でアクセスできます。
インターフェース表示
1.全体的なデータインターフェイス
2.メモリ
3、CPU
4.ディスク
5.ネットワーク
6.アプリケーション
7.ネットワークインターフェイス
8.データ同期機能
Netdataダッシュボードのグラフは互いに同期されており、メインのグラフはありません。任意のチャートをいつでもパンまたはズームでき、他のすべてのチャートも表示されます。
マウスをドラッグしてチャートをパンできます。マウスポインターをグラフの上に置くと、Shiftキーを押しながらマウスホイールチャートを拡大/縮小できます。
ネットデータの力
非常に強力なのは、さまざまなアプリケーションとの連携とサポートが理由です。
Netdataクラスター管理ソリューション
上記は単一のサーバーの監視データのみを示していますが、netdataにはすべての監視対象サーバーにエージェントをインストールする必要があるという欠点があるため、監視データを統一的に管理・表示する方法に問題があります。
Netdataは正式にマスタースレーブモードを設計していません。zabbixと同様に、一方をマスターサーバーとして使用し、もう一方をスレーブサーバーとして使用して、マスターサーバーにデータを収集して統合処理および表示することができます。ただし、関連ソリューションも提供しています。 。
1. netdata.cloudは組み込みのnetdata.cloudを使用します。これは、各インストールノードのWEBインターフェースの右上隅にあるサインインです。同じアカウントを使用してnetdata.cloudにログインする限り(kexueインターネットアクセスが必要)、各ノードを1つのアカウントで簡単に制御できます。各ノードはポート19999を開き、管理者がデータを表示できるようにします。その後、コントロールセンターはフロントエンドを使用して各ノードのポートからデータを収集し、記録および表示のためにnetdata.cloudに送信します。
これはパッシブクラスターモニタリングであり、本質的に独立したマシンであり、カスタムクラスターダッシュボードを作成するのは不便です。
2.ストリームプラグインしたがって、上記のスキームの欠点を解決するために、netdataは各ノードのデータを1つの(メイン)サーバーに集中的に集約する別の方法を提供し、データ処理もこのサーバーと他のノードで行われますポート19999を開く必要はありません。収集されたデータをメインサーバーに送信するアクティブな転送モードと見なすことができるため、カスタムダッシュボードの開発をメインサーバーで実行できます。
短所:メインサーバーのトラフィックと負荷は比較的大きくなります(クラスターサーバーの数が多い場合)。メインサーバーの負荷が高すぎる場合は、ノードサーバーのデータ収集サイクル(すべて更新)を設定することでこの問題を解決できます。
Netdataクラスター監視構成
多くの記事では、インストールの表示結果と一部のインターフェースのみを紹介し、クラスター監視ソリューションとその特定の構成を提供していませんでした。移住労働者も多くの情報をチェックし、構成プロセスを全員と共有しています。
ストリーミングの設定に慣れていない方は、公式ドキュメントdocs.netdata.cloud/st ... を参照してください。
1.ノードサーバー構成
[root@CentOS7-1 ~]# cd /etc/netdata/
[root@CentOS7-1 netdata]# vim netdata.conf
#修改配置如下
[global]
memory mode = none
hostname = [建议修改成你的主机名]
[web]
mode = none
复制代码
次に、/ etc / netdata /ディレクトリに新しいファイルstream.confを作成し、次のように構成します。
[stream]
enabled = yes
destination = MASTER_SERVER_IP:PORT
api key = xxxx-xxxx-xxxx-xxxx-xxxx
#参数说明如下
destination = MASTER_SERVER_IP:PORT 主服务器地址与端口
api key 必需为uuid的字符串,Linux系统中可以使用下面的命令自动生成。
[root@CentOS7-1 netdata]# uuidgen
480fdc8c-d1ac-4d6f-aa26-128eba744089
复制代码
構成が完了したら、構成全体を完了するためにノードのnetdataサービスを再起動する必要があります。
[root@CentOS7-1 ~]# systemctl restart netdata
复制代码
2.メインサーバーの構成
netdata.confと同じディレクトリに新しいstream.confを作成し、次の構成を記述します。
[API_KEY]/[480fdc8c-d1ac-4d6f-aa26-128eba744089]
enabled = yes
default history = 3600
default memory mode = save
health enabled by default = auto
allow from = *
[API_KEY]
enabled = yes
default history = 3600
default memory mode = save
health enabled by default = auto
allow from = *
#其中,API_KEY对应节点服务器的api key(字符串),allow from可以设置数据流的允许来源以保证安全。
#如果有多个节点服务器,则一起写在stream.conf里面
复制代码
構成が完了したら、netdataを再起動します。
systemctl restart netdata
复制代码
すべての構成が完了すると、メインサーバーのWEBインターフェースの右上隅にドロップダウンメニュー(ホスト名)が表示されます。クリックすると、関連する監視情報が表示されます。
コントロールパネルをカスタマイズする必要がある場合は、公式ドキュメントを参照してxmlファイルを変更できます。