ネットデータによる隠れたインフラストラクチャ問題の修正


からのグラフィックスNetdata blog

ネットデータによる隠れたインフラストラクチャ問題の修正


開発者として、私たちは毎日バグを修正に対処します.あなたのエラーメッセージが明確であるならば、それはしばしばこれらの問題を解決するのが非常に簡単です.単一のアプリケーションの問題を修正するも、世界で最も困難なことではありません.あなたは潜在的に間違って行く可能性のある可動部分の限られた量を追跡する必要があります.しかし、あなたが複数のサービスから成るプラットフォーム全体を開発しているとき、何が起こりますか?どのようにスケールでそれらの間の潜在的な問題を追跡するのですか?そして、異なったサービスが複数のノードの上で広げられるならば、どのように、あなたは問題を発見することに対処しますか?
より大きなインフラストラクチャを扱うとき、あなたは非常に簡単に同時に複数のノードに配備することができる良いモニタリング解決を必要とするつもりです.この記述に完全に適合する監視ソリューションの一つはnetdataです.
このポストでは、NetDataがインフラストラクチャ監視のための大きなオプションである理由を説明しています.また、どのようにして、サーバーにインストールした最初の1時間以内に、私のインフラストラクチャに大きな問題を修正することができました.

netdataとは


NetDataはサーバ用のソフトウェアを監視していますが、実際にはLinuxで動作するものは何もありません.それで、あなたはあなたのワークステーションでこれをインストールして、トップまたはHtopの代わりにNetDataを使用しているシステム資源を追跡することもできました.NetDataは付属のダッシュボードに付属していますhttps://localhost:19999 ローカルマシンでは、すべてのシステム情報が表示されます.ただし、複数のノードでこれを展開した場合は、このデータをNetDataクラウドに、同時にダッシュボード内のすべてのデータにフィードできます.あなたは一目であなたのインフラ全体のすべてのリソース使用量を見ることができます.
複数のサーバーを持つNetDataクラウドダッシュボード

なぜnetdata?


NetDataはインストールするのが非常に簡単です、そして、それがインフラストラクチャー監視に絶好にするいくつかの良い特徴とともに来ます.NetDataクライアントをあなたのデバイス(インフラストラクチャ内のすべてのノードを含む)にインストールし、単一のダッシュボードに接続できます.これは、すべてのノードの情報をあなたのサーバーとその健康状態のクリーンな概要を作成するためにすべてのフィードを無料ダッシュボードです.このダッシュボードは、CPU使用量、RAM使用量、インバウンド/アウトバンドの帯域幅、およびあなたのノードの健康を把握するために使用できる多くの情報を示しています.
情報はすべて素晴らしいですが、すべてのサーバーにNetDataを展開する場合、自動的に十分ではありません.幸いにも、bashスクリプトを使用してnetdataをインストールすることができますし、それぞれのノードをNetDataクラウドダッシュボードに追加するには、再びbashスクリプトです.これにより、このプロセスを自動化することができます.Ansibleは、複数のノード上で同じスクリプトを自動的に実行するのに役立ちます.インストールが簡単で再現性があるので、これはNetdataとの完全なマッチです.NetDataのインストールスクリプトを使用して、常に起動した時点で、ノードの状態を監視できることを確認します.
いくつかのbashスクリプトを実行すると、簡単に、ちょうどあなたがインターネットからbashスクリプトを実行するときに実行しているかを確認してください.
クライアントのインストールは1行で、ターゲットノード(サーバ)で実行する必要があります.
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
アカウントを作成した後Netdata Cloud , NetDataクライアントをクラウドアカウントにリンクするために必要なのは、ターゲットノード上のスクリプトと同様です.
sudo netdata-claim.sh -token=your_token -rooms=your_room -url=https://app.netdata.cloud
あなたはNetData雲でトークンと部屋識別子を与えられます、したがって、上記のこの線をコピーして/ペーストすることについて心配しないでください.今すぐあなたのサーバーが自動的にNetData雲に接続され、あなたはメトリックのすべての種類を見ることができるでしょう.以下はダッシュボードで見られるメトリックです
Netdataシステムの概要
データ転送は、SSHのトンネルを介して行われるので、それが安全であることを安心することができます.

NetDataは、私が最初の時間以内に大きな問題を解決するのを助けた方法


NetDataが何であるかを知っていて、それがあなたに示すことができるものの少しの概要を得たので、私が私の基盤でそれを展開している最初の時間以内に主要な(隠れている)問題を修正するのを手伝った方法に行きましょう.
少しのバックストーリーとして、サーバーの1つはApache Solrインスタンスを実行しており、検索エンジンとして機能しており、過去数ヶ月間はかなり遅いです.Apache Solrはメモリ使用量とJVMメモリ使用量を示しています.
Apache SORメモリ使用の概要
これは常にメモリ使用量の90 %前後にあったので、パフォーマンスの問題はRAMの制限と何らかの関係があると仮定しました.これにより、ASR内のサーバをアップグレードするパスがあり、SORRインスタンスにより多くのメモリを提供することができました.
このサーバーにNetDataをインストールした後、私はCPUがほとんど常に100 %の使用を打つということを見ました.RAM制限は結局問題ではなかったようでした、しかし、CPUは少しの時間を持ちました.それで、我々の大好きな検索エンジンの上で少しの検索の後、私はこれを見つけましたJira issue . それは我々が走っていたバージョン(7.7.1)がメモリ問題を引き起こしていて、それが次のバージョン(7.7.2)でパッチされたと指摘しました.Apache Solrサーバを最新の7.7にアップグレードした後.Xバージョン(7.7.3)問題が解決されました.大量のドキュメントをインデックスしている間、検索エンジンはより重い荷の下でさえ少なくとも3回速くなりました.
NetDataの使用統計が問題の本当の原因を示した間、Apache Solrダッシュボードのメモリ統計が誤っていたので、それはNetDataなしでこの問題を解決するのに非常に長くかかりました.また、トップまたはHtopを使用して、この問題を解決することができたかもしれませんが、すでにあなたが探していたものを知っている必要があります.私は間違った場所を見ていました、そして、Netdataは正しい方向で私を指すのを助けました.

結論


いくつかのノードの健康を視覚化するためにNetDataを使用すると、以前に隠された問題を見つけることができました.私にとって利用可能な監視ソリューションはすべてRAMの制限を示していましたが、NetDataはCPUの制限を指し示しました.この異なった視点は、私がソフトウェアをインストールする最初の時間以内に何ヶ月もの間、主要な問題を見つけて、修正するのを助けました.これは、プラットフォーム上でより安定し、はるかに高速な検索体験に貢献している.