Citrix ADMを使用してCitrixクラウドネイティブネットワークのトラブルシューティングを行う
概要
このドキュメントでは,Citrix ADMを使用してKubernetesマイクロサービスアプリケーションを配信および監視する方法について説明します。CLI,またサービスグラフ,トレースを使用して,プラットフォームと行为チームがトラブルシューティングを行えるようにする方法についても説明します。
アプリケションパフォマンスとレテンシの概要
TLS暗号化
TLSは,etc / etc / etc / etc / etc / etc / etc / etc / etc。TLSハンドシェaapl . exeクは,TLS暗号化を使用する通信セッションを開始するプロセスです。TLSハンドシェイク中,2つの通信側はメッセージを交換して,相互の確認,相互の検証,使用する暗号化アルゴリズムの確立,セッションキーの合意を行います。TLSハンドシェaapl . exeクは,httpsの仕組みの基本的な部分です。
TLSとSSLハンドシェescク
SSL(セキュア・ソケット・レイヤー)は,HTTP用に開発されたオリジナルの暗号化プロトコルでした。tls(トランスポ,ト層セキュリティ)はしばらく前にsslに取って代わりました。SSLハンドシェイクは TLS ハンドシェイクと呼ばれるようになりましたが、「SSL」名は今でも広く使われています。
TLSハンドシェ▪▪▪▪クはい▪▪▪▪発生しますか。
TLSハンドシェイクは,ユーザーがHTTPS経由でWebサイトに移動し,ブラウザーが最初にWebサイトのオリジンサーバーへのクエリを開始したときに実行されます。TLSハンドシェイクは,API呼び出しやDNS / HTTPSクエリなど,他の通信がHTTPSを使用する場合にも発生します。
TLSハンドシェaapl . exeクは,tcpハンドシェaapl . exeクを介してtcp接続が開かれた後に発生します。
TLSハンドシェereplicationク中には何が起こりますか?
- TLSハンドシェク中,クラアントとサバは共に次の処理を行います。
- 使用するTLSのバジョン(TLS 1.0, 1.2, 1.3など)を指定します。
- 使用する暗号スetc / etc / etc / etc / etc / etc / etc / etc / etc / etc。
- サバの公開鍵とSSL認証局のデジタル署名を使用して,サバのidを認証します。
- ハンドシェ@ @クが完了したら,対称暗号化を使用するセッションキ@ @を生成します。
TLSハンドシェescクの手順を教えてください。
- TLSハンドシェイクは,クライアントとサーバーによって交換される一連のデータグラム,つまりメッセージです。TLSハンドシェescクには複数の手順が伴います。これは、クライアントとサーバーがハンドシェイクを完了し、さらに会話を可能にするために必要な情報を交換するためです。
TLSハンドシェイク内の正確な手順は,使用する鍵交換アルゴリズムの種類と,両者がサポートする暗号スイートによって異なります。Rsa鍵交換アルゴリズムが最もよく使用されます。それは次のようになります。
- “客户你好”メッセージ:クライアントは“hello”メッセージをサーバーに送信してハンドシェイクを開始します。このメッセージには,クライアントがサポートしているTLSバージョン,サポートされている暗号スイート,“クライアントランダム”と呼ばれるランダムなバイト文字列が含まれます。
- “服务器你好”メッセージ:クライアントの你好メッセージに応答して,サーバーは,サーバーのSSL証明書,サーバーが選択した暗号スイート,および“服务器随机”(サーバーによって生成されたもう1つのランダムなバイト文字列)を含むメッセージを送信します。
- 認証:クラアントは,サバのSSL証明書を,その証明書を発行した認証局と照合します。これにより,サーバーが本人であり,クライアントがドメインの実際の所有者とやり取りしていることが確認されます。
- premaster秘密:クライアントは,ランダムなバイト文字列“premaster秘密”をもう1つ送信します。预masterシ,クレットは公開鍵で暗号化され,サ,バ,は秘密鍵でのみ復号できます。クラアントはサバのSSL証明書から公開鍵を取得します.)
- 使用した秘密鍵:サ,バ,はプレマスタ,シ,クレットを復号化します。
- 作成されたセッションキー:クライアントとサーバーの両方が,クライアントランダム,サーバーランダム,およびプレマスターシークレットからセッションキーを生成します。彼らは同じ結果になるはずです。
- 客户准备好了:クライアントは,セッションキーで暗号化された“完”了メッセージを送信します。
- サーバー準備完了:サーバーは,セッションキーで暗号化された“完”了メッセージを送信します。
- 安全な対称暗号化を実現:ハンドシェクが完了し,セッションキを使用して通信が継続されます。
すべてのTLSハンドシェイクは非対称暗号化(公開鍵と秘密鍵)を使用しますが,セッション鍵を生成する過程で秘密鍵を使用するわけではありません。たとえば,エフェメラルな迪菲-海尔曼ハンドシェ麦克雷クは次のように処理されます。
- 客户你好:クライアントは,プロトコルバージョン,クライアントランダム,および暗号スイートのリストを含むクライアント你好メッセージを送信します。
- 服务器你好:サーバーは,SSL証明書,選択した暗号スイート,およびサーバーランダムで応答します。前のセクションで説明したRSAハンドシェイクとは対照的に,このメッセージにはサーバに次の内容も含まれています(ステップ3)。
- サーバーのデジタル署名:サーバーは秘密鍵を使用して,クライアントランダム,サーバーランダム,およびDHパラメーター*を暗号化します。この暗号化されたデータはサーバーのデジタル署名として機能し,SSL証明書の公開キーと一致する秘密キーがサーバーにあることを証明します。
- デジタル署名の確認:クライアントは,公開鍵を使用してサーバーのデジタル署名を復号化し,サーバーが秘密鍵を制御していること,および本人であることを確認します。客户端DHパラメタ:クラアントはDHパラメタをサバに送信します。
- クライアントとサーバがプレマスターシークレットを計算する:RSAハンドシェイクのように,クライアントがプレマスターシークレットを生成してサーバに送信する代わりに,クライアントとサーバは交換したDHパラメータを使用して,一致するプレマスターシークレットを個別に計算します。
- 作成されたセッションキー:クライアントとサーバーは,RSAハンドシェイクと同様に,プレマスターシークレット,クライアントランダム,およびサーバーランダムからセッションキーを計算するようになりました。
- クラaapl . exeアントの準備完了:rsaハンドシェaapl . exeクと同じ
- サ,バは準備完了です
- セキュアな対称暗号化を実現
*DHパラメ,タ,:DHはDiffie-Hellmanの略です。diffie - hellmanアルゴリズムは,指数計算を使用して同じpremasterシークレットに到達します。サーバーとクライアントはそれぞれ計算用のパラメーターを提供し,これらを組み合わせると,両側で異なる計算が行われ,結果は等しくなります。
エフェメラルなdiffie - hellmanハンドシェイクと他の種類のハンドシェイクの対比,およびこれらがどのように前方秘匿性を実現するかについての詳細は,このTLSプロトコルのドキュメントを参照してください。
暗号スeconp econp,トって何ですか?
- 暗号スetc / etc / etc / etc / etc / etc。暗号化アルゴリズムとは,データをランダムに見せるためにデータに対して実行される一連の数学的演算です。さまざまな暗号スイートが広く使用されており,TLSハンドシェイクの重要な部分は,そのハンドシェイクにどの暗号スイートを使用するかを合意することです。
開始するには,”リファレンス:TLSプロトコルのドキュメント"を参照してください。
Citrix Application Delivery Management SSLダッシュボ,ド
Citrix应用程序交付管理(ADM)により,証明書管理のあらゆる側面が合理化されるようになりました。1つのコンソールから,使われていない,または期限切れが近い証明書のタブは閉じたまま,正しい発行者,キーの強度,および正しいアルゴリズムを確保する自動化されたポリシーを作成することができます。Citrix ADMのSSLダッシュボードとその機能の使用を開始するには,SSL証明書とは何か,およびCitrix ADMを使用してSSL証明書を追跡する方法を理解する必要があります。
SSLトランザクションの一部であるセキュアソケットレイヤー(SSL)証明書は,企業(ドメイン)または個人を識別するデジタルデータフォーム(X509)です。この証明書には,サーバーとの安全なトランザクションを開始しようとするすべてのクライアントが確認できる公開キーコンポーネントが含まれます。対応する秘密キーは,Citrix应用程序交付控制器(ADC)アプライアンスに安全に配置され,非対称キー(または公開キー)の暗号化と復号化を完了するために使用されます。
ssl証明書およびキは,次のいずれかの方法で入手できます。
- 認可された認証局(ca)から
- Citrix ADCアプラaapl . exeアンスで新しいSSL証明書とキ,を生成する
Citrix ADMは,すべての管理対象Citrix ADCインスタンスにインストールされたSSL証明書を一元的に表示します。SSLDashboard では、証明書の発行者、キーの強度、署名アルゴリズム、期限切れまたは未使用の証明書などを追跡するのに役立つグラフを表示できます。また、仮想サーバーで実行されているSSLプロトコルの分布および各サーバーで有効化されているキーも確認できます。
また,証明書の有効期限が近づいたときに通知を設定し,その証明書を使用するCitrix ADCインスタンスに関する情報を含めることもできます。
Citrix ADC aaplンスタンスの証明書をCA証明書にリンクできます。ただし,同じca証明書にリンクする証明書のソ,スと発行元が同じであることを確認してください。証明書をca証明書にリンクしたら,それらのリンクを解除できます。
開始するには,SSLダッシュボ,ドのドキュメントを参照してください。
サ,ド,パ,ティとの連携
アプリケーションのレイテンシーはミリ秒単位で測定され,使用するメトリクスに応じて2つのうちの1つを示すことができます。レイテンシを測定する一般的な方法は”ラウンドトリップ時間”(RTT)と呼ばれます。RTTは,データパケットがネットワーク上のある地点から別の地点に移動して,応答が送信元に返されるまでにかかる時間を計算します。もう1つは”最初のバイトまでの時間”第一个字节(时间)(またはTTFB)と呼ばれ,パケットがネットワーク上のある地点を出発してから宛先に到着するまでにかかる時間を記録します。RTTは,ネットワーク上の1つのポイントから実行でき,(TTFBのように)データ収集ソフトウェアを宛先ポイントにインストールする必要がないため,レイテンシの測定によく使用されます。
ADMサービスでは,アプリケーションの帯域幅の使用量とパフォーマンスをリアルタイムで監視することで,問題を簡単に特定し,潜在的な問題が顕在化してネットワーク上のユーザーに影響を及ぼす前に先制的に対処できます。このフローベースのソリューションは,インターフェイス,アプリケーション,カンバセーションごとに使用状況を追跡し,ネットワーク全体のアクティビティに関する詳細情報を提供します。
Splunkルを使う
。全体像を把握するために,SignalFXはクラウドインフラストラクチャとその上で実行されるマイクロサービスとのシームレスな相関関係を提供します。メモリリーク、ノイズの多いネイバーコンテナー、その他のインフラストラクチャ関連の問題が原因でアプリケーションが動作した場合、SignalFX から通知されます。全体像を把握するために、コンテキスト内で Splunk のログとイベントにアクセスすることで、より詳細なトラブルシューティングと根本原因の分析が可能になります。
SignalFXマイクロサービスAPMとSplunkによるトラブルシューティングの詳細については,DevOps向けSplunkの情報をご覧ください。
MongoDBサポト
MongoDBは,柔軟なJSONに似たドキュメントにデ,タを格納します。つまり,フィールドはドキュメントごとに異なり,データ構造は時間の経過とともに変化する可能性があります。
ドキュメントモデルはアプリケーションコード内のオブジェクトにマップされるため,データの操作が容易になります。
オンデマンドクエリ,インデックス作成,リアルタイム集約により,データにアクセスして分析するための強力な方法が提供されます。
MongoDBは中核をなす分散データベースであるため,高可用性,水平スケーリング,地理的分散が組み込まれており,使いやすくなっています。
MongoDBは,以下を実現するテクノロジー基盤により,最新のアプリケーションの要求を満たすように設計されています。
- ドキュメントデタモデル—デタを操作する最適な方法を提供します。
- 分散システム設計-デタを必要な場所にンテリジェントに配置できます。
- どこにいても自由に実行できる統合エクスペリエンスにより,将来を見据えた作業が可能になり,ベンダーロックインを排除できます。
これらの機能により,MongoDBに支えられたインテリジェントな運用データプラットフォームを構築できます。詳細にいては,MongoDBのドキュメントを参照してください。
入口トラフィックをTCPまたはUDPベ,スのアプリケ,ションに負荷分散する方法
Kubernetes環境では,入口はKubernetesクラスターの外部からKubernetesサービスへのアクセスを許可するオブジェクトです。標準のKubernetes入口リソースは,すべてのトラフィックがHTTPベースであり、TCP、UDP TCP-SSL,などのHTTPベース以外のプロトコルには対応していないと想定しています。したがって、DNS、FTP、LDAPなどの地级プロトコルに基づく重要なアプリケーションは,標準のKubernetes入口を使用して公開することはできません。
Kubernetesの標準ソリューションは,loadbalanceタイプのサービスを作成することです。詳細にいては,Citrix ADCのサ,ビスタ,プLoadBalancerを参照してください。
2番目のオプションは,入口オブジェクトに注釈を付けることです。Citrix ingress controller を使用すると、TCPまたはUDPベースのIngressトラフィックの負荷を分散できます。Kubernetes Ingressリソ,ス定義で以下のアノテ,ションを使用して, TCPまたはUDPベ,スの进入トラフィックの負荷を分散できます。
- ingress.citrix.com/insecure-service-type:このアノテーションにより,Citrix ADCプロトコルとしてTCP、UDP,または任何を使用したL4負荷分散が可能になります。
- ingress.citrix.com/insecure-port:アノテーションはTCPポートを構成します。このアノテションは,非標準ポトでマクロサビスアクセスが必要な場合に役立ます。デフォルトでは,ポ,ト80が設定されています。
詳細にいては,”入口トラフィックをTCPまたはUDPベ,スのアプリケ,ションに負荷分散する方法を参照してください。
TCPまたはudpベ,スのアプリケ,ションのパフォ,マンスを監視し,改善する
アプリケーション開発者は,Citrix ADCのリッチモニター(TCP-ECV, UDP-ECVなど)を使用して,TCPまたはUDPベースのアプリケーションの状態を綿密に監視できます。ECV(拡張コンテンツ検証)モニターは,アプリケーションが予期したコンテンツを返しているかどうかを確認するのに役立ちます。
また,ソースIPなどの永続化方法を使用することで,アプリケーションのパフォーマンスを向上させることができます。これらのCitrix ADC機能は,Kubernetesのスマ,トアノテ,ションを通じて使用できます。その一例を以下に挙げます。
apiVersion:扩展/ v1beta1种类:入口元数据:的名字:mongodb注释:ingress.citrix.com/insecure-port:“80”ingress.citrix.com/frontend-ip:“192.168.1.1”ingress.citrix.com/csvserver:”{l2conn”:“在“}”ingress.citrix.com/lbvserver:”{mongodb-svc”:{“lbmethod”:“SRCIPDESTIPHASH}}”ingress.citrix.com/monitor:”{mongodbsvc”:{“类型”:“tcp-ecv}}”规范:规则:-宿主:mongodb.beverages.comhttp:路径:-路径:/后端:名:mongodb-svcservicePort:80<!--NeedCopy-->
Citrix Application Delivery Management (ADM)サ,ビス
Citrix ADMサ,ビスには次の利点があります。
- 機敏性——運用,更新,使用が容易Citrix ADM服务のサービスモデルはクラウド経由で利用できるため,提供される機能の操作,更新,および使用が簡単に行えます。更新の頻度と自動更新機能の組み合わせにより,Citrix ADC展開が迅速に強化されます。
- タムバリュの短縮——ビジネス目標の達成を迅速化従来のオンプレミス展開とは異なり,Citrix ADM服务は数回クリックするだけで使用できます。インストールと設定の時間を節約できるだけでなく,潜在的なエラーに時間とリソースを浪費することもありません。
- マルチサ@ @ト管理——複数のサイトデータセンターにまたがるインスタンスを1つのガラスで管理できます。Citrix ADM サービスを使用すると、さまざまな種類の展開環境にあるCitrix ADCを管理および監視できます。オンプレミスとクラウドに展開されたCitrix ADCは、ワンストップで管理できます。
- 運用効率-運用生産性を向上させる最適化および自動化された方法。Citrix ADM Serviceを使用すると、従来のハードウェア展開の保守とアップグレードにかかる時間、コスト、およびリソースを節約できるため、運用コストが削減されます。
Kubernetesアプリケ,ションのサ,ビスグラフ
Citrix ADMのクラウドネイティブアプリケーション機能のサービスグラフを使用すると,次のことができます。
- エンド·エンドのアプリケマンスを確保
- アプリケ,ションのさまざまなコンポ,ネントの相互依存性によって生じるボトルネックを特定
- アプリケ,ションのさまざまなコンポ,ネントの依存関係に関する洞察を集める
- Kubernetesクラスタ,内のサ,ビスを監視する
- 問題のあるサ,ビスを監視する
- パフォ,マンスの問題に寄与する要因を確認する
- サビスHTTPトランザクションの詳細な可視性を表示
- Http, tcp, sslメトリックの分析
Citrix ADMでこれらのメトリックを視覚化することで,問題の根本原因を分析し,必要なトラブルシューティングアクションを迅速に行うことができます。サ,ビスグラフには,さまざまなコンポ,ネントサ,ビス内のアプリケ,ションが表示されます。Kubernetesクラスター内で実行されるこれらのサービスは,アプリケーション内外のさまざまなコンポーネントと通信できます。
はじめに,”サ,ビスグラフの設定をご参照ください。
3層Webアプリケションのサビスグラフ
アプリケ,ションダッシュボ,ドのサ,ビスグラフ機能を使用すると,次の項目を表示できます。
- アプリケションの構成方法の詳細(コンテンスッチング仮想サバと負荷分散仮想サバを使用)
- GSLBアプリケーションの場合,データセンター,ADCインスタンス,CS,および磅仮想サーバーを表示できます。
- クラエンドのトランザクション
- クラ▪▪アントがアプリケ▪▪ションにアクセスしている場所
- クライアント要求が処理されるデータセンターの名前と,関連するデータセンターCitrix ADCメトリック(GSLBアプリケーションのみ)
- クラアント,サビス,仮想サバのメトリックの詳細
- エラがクラアントまたはサビスからのものである場合
- 「緊急」、「レビュ」、「良好などのサ,ビスステ,タス。Citrix ADM は、サービスの応答時間とエラー数に基づいてサービスステータスを表示します。
- 重大 (赤)—平均サビス応答時間が200ミリ秒を超え,エラカウントが0より大きいことを示します。
- 回顾(オレンジ)——平均サービス応答時間が200ミリ秒を超えるか,エラーカウントが0より大きいことを示します。
- 良好 (緑)—エラ,がなく,平均サ,ビス応答時間が200ミリ秒未満であることを示します
- 至关重要的、审查、好などのクラ▪▪アントのステ▪▪タス。Citrix ADM は、クライアントネットワークの遅延とエラー数に基づいてクライアントのステータスを表示します。
- 紧急(赤)——平均クライアントネットワーク遅延が200ミリ秒を超え,エラーカウントが0より大きいことを示します
- 回顾(オレンジ)——平均クライアントネットワーク遅延が200ミリ秒を超えるか,エラーカウントが0より大きいことを示します。
- 良好 (緑)—エラがなく,平均クラアントネットワク遅延が200ミリ秒未満であることを示します。
- クリティカル、レビュ、良好(好)などの仮想サ,バのステ,タス。Citrix ADM は、アプリのスコアに基づいて仮想サーバーのステータスを表示します。
- クリティカル(赤)-アプリのスコアが40未満になったことを示します
- 回顾(オレンジ)-アプリのスコアが40~75の間であることを示します
- 好(緑)-アプリのスコアが75を超えることを示します。
注意事項:
- サビスグラフには,負荷分散,コンテンスッチング,gslb仮想サバのみが表示されます。
- 仮想サーバがカスタムアプリケーションにバインドされていない場合,その詳細はそのアプリケーションのサービスグラフに表示されません。
- 仮想サーバとWebアプリケーションの間でアクティブなトランザクションが発生した場合にのみ,クライアントとサービスのメトリックをサービスグラフに表示できます。
- 仮想サーバーとWebアプリケーション間でアクティブなトランザクションを利用できない場合は,負荷分散,コンテンツスイッチング,GSLB仮想サーバー,サービスなどの構成データに基づくサービスグラフにのみ詳細を表示できます。
- アプリケ,ション設定の更新がサ,ビスグラフに反映されるまで10分かかる場合があります。
詳細にいては,”アプリケ,ション用サ,ビスグラフを参照してください。
開始するには,服务图のドキュメントを参照してください。
Citrix ADCチ,ムのトラブルシュ,ティング
Citrix ADCプラットフォームのトラブルシューティングで最も一般的な属性のいくつかと,これらのトラブルシューティング手法がマイクロサービストポロジの一级展開にどのように適用されるかについて説明します。
Citrix ADCには,コマンドをリアルタイムで表示するコマンドラインインターフェイス(CLI)があり,ランタイム構成,静的,およびポリシー構成を決定するのに役立ちます。これは“表演”コマンドで簡単に行えます。
Show-adc cliオペレ,ションを実行します。
>Show running config (-summary -fullValues)搜索能力(grep命令)> " sh running config | -i grep vserver "检查版本。>显示license" sh license"
SSL統計情報の表示
>Sh ssl System front - Backend Encryption
Citrix ADCには7秒のカウンタ間隔に基づいてすべてのオブジェクトの統計を列挙するコマンドがあります。これは"统计"コマンドによって容易になります。
Citrix ADCによるきめ細かなL3-L7テレメトリ
- システムレベル:adcのCPUおよびメモリ使用率。
- HTTPプロトコル:#请求/レスポンス,GET / POSTスプリット,nおよび南临のHTTPエラー(サービスメッシュライトのみ,サイドカーはまもなく)。
- SSL: #会话および#握手は,サービスメッシュLite専用のnおよび南临トラフィック用です。
- IPプロトコル:#包受信/送信,#字节受信/送信,#截断パケット,# IPアドレスルックアップ
- Citrix ADC AAA: #Activeセッション
- インターフェイス:#总マルチキャストパケット,#总転送バイト,および送受信された#巨型パケット
- 負荷分散仮想サーバーとコンテンツスイッチング仮想サーバー:#包,#,#字节が受信/送信されました。
Stat-adc cliオペレ,ションを実行します。
>统计信息" stat ssl "
Citrix ADCにはログア,カ," nsconmsg "コマンドを使用して特定のエラ,をトラブルシュ,ティングするときに統計とカウンタを検索できます。
NSCONMSG
-メeconeconンログファeconeconeconル(nsデタ形式)
Cd/var/nslog " Mac Moves " nsconfig -d current -g nic_err
Nstcpdump
nstcpdump
は,低レベルのトラブルシュ,ティングに使用できます。nstcpdump
は,nstrace
より詳細な情報を収集しません。Adc cliを開き,壳牌
と入力します。フィルタはnstcpdump
と使用できますが,adcリソ,ス固有のフィルタとともには使用できません。ダンプ出力はcli画面内で直接表示できます。
CTRL + C-これらのキを同時に押すと,nstcpdump
が停止します。
Nstcpdump.sh分级存储主机X.X.X.X
-宛先ホストに送信されたトラフィックを表示します。
Nstcpdump.sh -n SRC主机X.X.X.X
—指定されたホストからのトラフィックを表示し,IPアドレスを名前に変換しない(-n)。
Nstcpdump.sh主机X.X.X.X
-指定したホストIP地址との間で送受信されるトラフィックを表示します。
(例子!nstcpdump
) (/ en - us / citrix-adc /媒体/ nstcpdump.png)
NSTRACE
—パケットトレスファル
NSTRACEは,ネットワークをトラブルシューティングするための低レベルのパケットデバッグツールです。これにより,アナラルを保存できます。一般的なルは,ネットワザとWiresharkの2。
! (nstrace
输出](/ en - us / citrix-adc /媒体/ nstrace.png)
NSTRACEキャプチャファイルがADCの/var/nstraceに作成されると,キャプチャファイルをWiresharkにインポートして,パケットキャプチャとネットワーク分析を行うことができます。
Sysctl -詳細なadc情報:説明,モデル,プラットフォ,ム,cpuなど
Sysctl -a grep hw。physmem hw。Physmem: 862306304 netscaler。Hw_physmem_mb: 822
aad.debug-認証デバッグ情報のためにパaapl .プをオ.プンする
aaad.debugモジュールを使用したADCまたはADCゲートウェイ経由での認証問題のトラブルシューティング方法の詳細については,aad.debugのサポ,ト記事を参照してください。
また,adcのパフォマンス統計やベント·ログを直接取得することもできます。詳細にいては,Adcサポ,トドキュメントを参照してください。
Sreチ,ムとプラットフォ,ムチ,ムのトラブルシュ,ティング
Kubernetesトラフィックフロ
北/南:
- 北/南トラフィックは,イングレス経由でユーザからクラスタに流れるトラフィックです。
东/西:
- 东/西トラフィックは,Kubernetesクラスタの周りを流れるトラフィック(サービス間またはサービス間データストア)です。
Citrix ADC CPXがKubernetes環境で东西方トラフィックフローを負荷分散する方法
Kubernetesクラスターをデプロイしたら,ADMでKubernetes環境の詳細を指定して,クラスターをADMと統合する必要があります。ADMは,サービス,エンドポイント,入口ルールなどのKubernetesリソースの変更を監視します。
KubernetesクラスターにADC CPXインスタンスをデプロイすると,ADMに自動的に登録されます。登録プロセスの一環として,ADMはCPXインスタンスのIPアドレスと,硝基REST APIを使用してインスタンスに到達して構成できるポートについて学習します。
次の図は,ADC CPXがKubernetesクラスターで东西方トラフィックフローを負荷分散する方法を示しています。
この例の説明を次に示します。
Kubernetesクラスターのノード1とノード2には,フロントエンドサービスとバックエンドサービスのインスタンスが含まれています。ADC CPXインスタンスがノード1とノード2にデプロイされると,ADC CPXインスタンスは自動的にADMに登録されます。ADMでKubernetesクラスターの詳細を設定して,KubernetesクラスターをADMに手動で統合する必要があります。
クライアントがフロントエンドサービスを要求すると,入口リソースは,2つのノード上にあるフロントエンドサービスのインスタンスの間で要求を負荷分散します。フロントエンドサービスのインスタンスがクラスター内のバックエンドサービスからの情報を必要とする場合,要求はノード内のADC CPXインスタンスに転送されます。このADC CPXインスタンスは,クラスター内のバックエンドサービス間でリクエストの負荷を分散し,东西方トラフィックフローを提供します。
アプリケション用のadmサビスグラフ
Citrix ADMサービスグラフ機能を使用すると,すべてのサービスをグラフィカルに監視できます。この機能は,詳細な分析と有用なメトリックも提供します。次のサ,ビスグラフを表示できます。
開始するには,サ,ビスグラフの詳細を参照してください。
マクロサビスアプリケションカウンタの表示
サービスグラフには,Kubernetesクラスターに属するすべてのマイクロサービスアプリケーションも表示されます。ただし、サ、ビスにマウスポ、ンタを置くと、メトリクスの詳細が表示されます。
以下を表示できます:
- サ,ビス名
- SSL, HTTP, TCP, SSL over HTTP, SSLなどのサ,ビスで使用されるプロトコル
- 支安打—サビスによって受信されたヒットの総数
- サ,ビス応答時間—サビスから取得した平均応答時間。(応答時間=クラaapl RTT +要求の最後のバaapl RTT -要求の最初のバaapl RTT)
- エラ- 4xx, 5xxなどのエラ,の総数
- 数据量—サビスによって処理されるデタの総量
- 名前空間—サビスの名前空間
- クラスタ,名—サビスがホストされているクラスタ名
- SSLサバエラ—サビスからのSSLエラの合計
これらの特定のカウンターとトランザクションログは,サポートされているさまざまなエンドポイントを使用して,Citrix可观测性出口国(COE)で抽出できます。Coeの詳細にいては,次のセクションを参照してください。
Citrix ADC統計情報のエクスポ、タ、
これは,Citrix ADC統計情報をスクレイピングし,HTTP経由で普罗米修斯にエクスポートするシンプルなサーバーです。その後,普罗米修斯をデータソースとしてGrafanaに追加して,Citrix ADCの統計情報をグラフィカルに表示できます。
Citrix ADC商城ンスタンスの統計情報とカウンタ,を監視するために,citrix-adc-metric-exporter
をコンテナまたはスクリプトとして実行できます。エクスポーターは,仮想サーバーへの総ヒット数,HTTP要求レート,SSL暗号化/復号化レートなど,Citrix ADCインスタンスからCitrix ADC統計を収集し,普罗米修斯サーバーが統計情報を取得してタイムスタンプ付きで保存するまで保持します。その後,Grafanaを普罗米修斯サーバーにポイントして,Citrix ADC統計の分析に必要な統計情報の取得,プロット,アラームの設定,ヒートマップの作成,テーブルの生成などを行うことができます。
以下のセクションでは,図に示すような環境でエクスポータが動作するように設定する方法について詳しく説明します。エクスポーターがデフォルトでスクレイピングするCitrix ADCエンティティ/メトリックとその変更方法についても説明します。
Citrix ADC用エクスポ、タ、に、メトリクスエクスポ,タ,GitHubを参照してください。
Admサ,ビス分散トレ,シング
サ,ビスグラフでは,分散トレ,シングビュ,を使用して次の操作を実行できます。
- サ,ビス全体のパフォ,マンスを分析します。
- 選択したサ,ビスとその相互依存サ,ビス間の通信フロ,を視覚化します。
- エラ,を示すサ,ビスを特定し,エラ,のあるサ,ビスをトラブルシュ,ティングする
- 選択したサ,ビスと相互依存する各サ,ビス間のトランザクション詳細を表示します。
Adm分散トレ,シングの前提条件
サ,ビスのトレ,ス情報を表示するには,次の操作を行う必要があります。
- 东西方トラフィックを送信する間,アプリケーションが次のトレースヘッダーを保持していることを確認します。
- CPX YAMLファイルをNS_DISTRIBUTED_TRACINGで更新し,値を”はい”に設定します。はじめに,”分散トレ,シングを参照してください。
Citrix ADCオブザ,バビリティエクスポ,タ,(COE)の解析
Citrix可观测性出口国は,Citrix ADCからメトリックとトランザクションを収集し,サポートされているエンドポイントに適した形式(JSON, AVROなど)に変換するコンテナです。Citrix可观测性出口国で収集したデータを,目的のエンドポイントにエクスポートできます。エンドポイントにエクスポートされたデータを分析することで,Citrix ADCによってプロキシされるアプリケーションについて,マイクロサービスレベルで貴重なインサイトを得ることができます。
Coeの詳細にいては,CoeGitHubを参照してください。
Elasticsearchをトランザクションエンドポesc escントとするCOE
Elasticsearchがトランザクションエンドポイントとして指定されている場合,CitrixオブザーバビリティエクスポーターはデータをJSON形式に変換します。Elasticsearchサーバーでは,Citrixオブザーバビリティエクスポーターが各ADCのElasticsearchインデックスを時間単位で作成します。これらのインデックスは,データ,時間,ADCのUUID,およびHTTPデータのタイプ(http_eventまたはhttp_error)に基づいています。その後,Citrixオブザーバビリティエクスポーターは,各ADCの弹性検索インデックスの下にデータをJSON形式でアップロードします。通常のトランザクションはすべてhttp_eventインデックスに配置され,異常はhttp_errorインデックスに配置されます。
Zipkinによる分散トレ,スのサポ,ト
マイクロサービスアーキテクチャでは,1つのエンドユーザー要求が複数のマイクロサービスにまたがる場合があるため,トランザクションの追跡やエラーの原因の修正が困難になります。このような場合,従来のパフォーマンス監視方法では,障害が発生した場所やパフォーマンスの低下の原因を正確に特定することはできません。リクエストを処理する各マイクロサービスに固有のデータポイントをキャプチャし,分析して有意義なインサイトを得る方法が必要です。
分散トレーシングは,トランザクションをエンドツーエンドで追跡し,複数のマイクロサービスにわたってトランザクションがどのように処理されているかを理解する方法を提供することで,この課題に対処します。
OpenTracingは,分散トレ,スを設計および実装するためのAPIの仕様および標準セットです。分散トレーサを使用すると,マイクロサービス間のデータフローを視覚化し,マイクロサービスアーキテクチャのボトルネックを特定するのに役立ちます。
Citrix ADCオブザーバビリティエクスポーターは,Citrix ADCの分散トレースを実装しており,現在,分散トレ,サ,としてZipkinをサポ,トしています。
現在,Citrix ADCを使用してアプリケ,ションレベルでパフォ,マンスを監視できます。Citrix ADCでCitrix Observability Exporterを使用すると、Citrix ADC CPX、MPX、またはVPXによってプロキシされた各アプリケーションのマイクロサービスのトレースデータを取得できます。
はじめに,GitHubオブザ,バビリティエクスポ,タ,を参照してください。
アプリケションデバッグ用のZipkin
Zipkinは,[谷歌の衣冠楚楚の論文に基づいたオ,プンソ,スの分散トレ,スシステムです) (https://storage.googleapis.com/pub-tools-public-publication-data/pdf/36356.pdf)。衣冠楚楚は,本番環境での分散トレ,スのための谷歌のシステムです。谷歌はこれを彼らの論文“谷歌の開発者に複雑な分散システムの振る舞いに関するより多くの情報を提供するために衣冠楚楚的を構築した”で説明している。トラブルシュ,ティングを行う場合、特にシステムが複雑で分散している場合には、さまざまな角度からシステムを観察することが重要です。
次のZipkinトレースデータは,手表サンプルアプリケーションに関連する合計5つのスパンと5つのサービスを識別します。。
開始するには,Zipkinを参照してください。
最初のペジ読み込みリクエストのアプリケションレテンシを示すZipkinスパンの例:
デ,タを見るためのKibana
Kibanaは,Elasticsearchデータを視覚化して弹性堆栈をナビゲートできるオープンなユーザーインターフェイスです。クエリのロ,ドの追跡から,アプリ内でのリクエストの流れの把握まで,あらゆることを行えます。
アナリストでも管理者でも,Kibanaは次の3つの重要な機能を提供することで,データをアクション可能にします。
- オ,プンソ,スの分析および可視化プラットフォ,ム。Kibanaを使用してElasticsearchデータを探索し,美しいビジュアライゼーションとダッシュボードを構築できます。
- 弹性スタックを管理するためのUI。セキュリティ設定の管理,ユーザーロールの割り当て,スナップショットの作成,データのロールアップなど,すべてKibana UIから実行できます。
- 弹性のソリュ,ションの一元化されたハブ。ログ分析からドキュメント検出,SIEMに至るまで,Kibanaはこれらの機能やその他の機能にアクセスするためのポータルです。
Kibanaは,Elasticsearchをデ,タソ,スとして使用するように設計されています。Elasticsearchは,Kibanaを一番上に置き,データを保存して処理するエンジンだと考えてください。
Kibanaはホ,ムペ,ジから,デ,タを追加するための次のオプションを提供します。
- ファトします。
- 組み込みのチュートリアルを使用して,Elasticsearchへのデータフローをセットアップします。デ,タに関するチュ,トリアルがない場合は,Beatsの概要に移動して,Beatsファミリの他のデタシッパにいて学習します。
- サンプルデ,タセットを追加して,自分でデ,タを読み込まなくてもKibanaを試乗できます。
- REST APIまたはクラ▪▪アントラ▪▪ブラリを使用して, Elasticsearchにデタのンデックスを作成します。
Kibanaは▪▪ンデックスパタ▪▪ンを使用して,どのElasticsearch esc escンデックスを調べるかを指示します。ファイルをアップロードしたり,組み込みのチュートリアルを実行したり,サンプルデータを追加したりすると,無料でインデックスパターンが得られ,探索を開始するのに適しています。独自のデ,タをロ,ドする場合は,堆栈管理で▪▪ンデックスパタ▪▪ンを作成できます。
ステップ1:Logstashの. cerンデックスパタ. cerンを構成する
ステップ2:电子邮箱ンデックスを選択し,电子邮箱入力するトラフィックを生成します。
ステップ3:ログフィ,ドの非構造化デ,タからアプリケ,ションを生成します。
ステップ4:KibanaはLogstash入力をフォーマットしてレポートとダッシュボードを作成します。
- 時間範囲
- 表形式表示
- ヒット数はアプリケ,ションに基づきます。
- 時刻ip,エ,ジェント,マシン。Os,レスポンスコ,ド(200),url
- 値によるフィルタリング
ステップ5:集計レポ,トでデ,タを視覚化します。
- チャ,ト·レポ,ト(円,グラフなど)での結果集計