WSO 2マイクロ積分器による雲固有可観測性
8089 ワード
分散システム環境では、トラブルシューティングとデバッグは重要であり、また非常にチャレンジングなタスクです.WSO 2 Micro Integratorは、包括的な観測可能性解決を提供するために、クラウドネイティブのモニタリングツールと統合する可能性を提供します:ログ監視、メッセージ追跡とメトリックスモニタリング.
WSO 2 miでは、観測可能性に対処する2つのアプローチがあります.古典:WSO 2 EI AnalyticsとLog 4 J ネイティブの雲:Fluentbit、ロキ、ジャガー、プロメテウスとグラファナ このポストでは、Kubernetes環境で雲の自然な可観測性解決の簡単なセットアップを示します.
そのためには、observability-ei Githubリポジトリで利用可能なヘルムチャートを活用します.このレポは、MIのための古典的で雲のネイティブの観察性の両方を展開するためにヘルムチャートを含みます.
このポストの基礎として、私たちはEI docsで提供されたドキュメントを使用しました.
以下のイメージで、WSO 2 docsから取得された、我々が設定する観測可能性の解決策を見ることができます.
K 8 Sでこれらのツールをインストールするには、上記のセクションで述べたリポジトリからヘルムチャートを使用します.端末では、以下のgitコマンドを使ってリポジトリをチェックアウトできます.
デフォルトのプロメテウスがサービスポートを80に設定すると、prometheus -> serverの下に設定エントリサービスポートを追加することで8088に変更されます
Grafanaでは2つの変更を行います.
サービスポートの更新
以下のようにGrafana ->サービスの下にあるプロパティポートを使用して、サービスポートを9080に変更します.
更新データを更新
Grafanaの設定ではDataSourcesの設定があり、そのうちの1つはPrometheusです.プロメテウスのポートを8088に変更したので、以下のようなデータソースのURLをポートに追加する必要があります.
LOKIスタック構成については、以下の変更を行います.
有効フラグをtrueに変更して有効にする
この例では、ラベルアプリケーションをWSO 2 miと名前空間名にデフォルトに変更します
このフラグを有効にするには、有効なフラグを設定します.
有効なフラグをtrueに設定することで、メッセージ追跡のためのJaegerを有効にする必要があります.これをすることによって、それはクラスタでJaeger演算子をインストールします
上記の構成を実行した後、Objectability Edy/Cloudネイティブフォルダ内に次のコマンドを実行して、Kerbernetesクラスタに観測可能スタックをインストールできます.
Grafana UIにアクセスできます.
前に述べたように、今ではジャガー演算子をインストールし、インスタンスをインストールする必要があります.そのためには、最も単純な展開を使用します.次のように定義されています.
上記の構成で、我々は現在、使用可能にインストールされ、設定された観測可能性ツールを持っている.以下では、Kerbernetes用のWSO 2 mi展開を設定します.
MI展開のためのPrometheusモニタリングとJaeger観測可能性を可能にするために、配備にいくつかのセッティングを加えるのが必要です.ToMLとKubernetes定義にも.展開から始めましょう.トムール
展開.モニタリングと追跡のためのTOML変化
プロメテウスメトリックについては、次のハンドラを追加する必要があります.
Kubernetes環境で動作するので、この展開を焼く必要があります.Dockerイメージにtomlしたり、k 8 s展開のコンフィギュレーションとしてマウントします.
展開の設定
メトリクス監視とFluentBitを使用したログ解析の場合は、配置に次の注釈を追加する必要があります.
すべてが適切に設定されている場合は、統合クラスタダッシュボードをチェックすることができます.
ログパネルでは、どのデータソースとラベルを使用するかを指定する必要があるので、コンテンツを表示してはいけません.そのためには、編集オプションでクリックする必要があります.
データソース:ロキ
ログラベル:アプリ>WSO 2 MI
これらのパネルでプロメテウスとロキとの統合を見ることができます.JAEGERトレースをチェックするには、APIやサービスメトリクスダッシュボードに移動する必要があります.
応答時間パネルでは、“i”のアイコンがJaegerコンソールへのリンクがあります.それを動作させるには、ダッシュボードの設定でJaeger URLを指定する必要があります.ダッシュボードの設定に行くと、変数のセクションがあります.
それを更新した後、我々は現在、APIの呼び出しの追跡情報を確認するには、アイコンをクリックすることができます
このポストでは、WSO 2マイクロインテグレータのための雲の固有の可観測性解決を設定する簡単な方法を示しました.他のツールと一緒に解決策を監視する方法を持って、すぐに解決のコンポーネントが問題を抱えている識別します.
このような解決策を活用することによって、WSO 2マイクロインテグレータで開発されたクラウドネイティブアプリケーションを提供、監視、維持することができます.
私は、これが助けることを望みます!
次のポストでお会いしましょう.
WSO 2 miでは、観測可能性に対処する2つのアプローチがあります.
そのためには、observability-ei Githubリポジトリで利用可能なヘルムチャートを活用します.このレポは、MIのための古典的で雲のネイティブの観察性の両方を展開するためにヘルムチャートを含みます.
このポストの基礎として、私たちはEI docsで提供されたドキュメントを使用しました.
クラウドネイティブの可観測性スタックの設定
以下のイメージで、WSO 2 docsから取得された、我々が設定する観測可能性の解決策を見ることができます.
K 8 Sでこれらのツールをインストールするには、上記のセクションで述べたリポジトリからヘルムチャートを使用します.端末では、以下のgitコマンドを使ってリポジトリをチェックアウトできます.
git clone https://github.com/wso2/observability-ei.git
そうすると、クラウドネイティブディレクトリに行きます.cd observability-ei/cloud-native
簡単なインストールを実行するには、ヘルムチャートをインストールする必要があります.YAMLファイル.Prometheusサービスポートを更新します
デフォルトのプロメテウスがサービスポートを80に設定すると、prometheus -> serverの下に設定エントリサービスポートを追加することで8088に変更されます
...
server:
service:
type: LoadBalancer
servicePort: 8088
...
私たちはそれを変更しました.なぜなら、私たちは後で80番ポートを別のコンポーネントのために使うからです.今プロメテウスはOKです.Grafanaコンポーネントに移動します.グラファナの設定
Grafanaでは2つの変更を行います.
サービスポートの更新
以下のようにGrafana ->サービスの下にあるプロパティポートを使用して、サービスポートを9080に変更します.
enabled: true
service:
type: LoadBalancer
port: 9080
これはGrafana UIにアクセスするためのポートです.更新データを更新
Grafanaの設定ではDataSourcesの設定があり、そのうちの1つはPrometheusです.プロメテウスのポートを8088に変更したので、以下のようなデータソースのURLをポートに追加する必要があります.
- name: Prometheus
type: prometheus
url: http://{{ .Release.Name }}-prometheus-server:8088
access: proxy
isDefault: true
これらの設定でgrafanaは使用可能です.LOKIスタックの設定
LOKIスタック構成については、以下の変更を行います.
有効フラグをtrueに変更して有効にする
loki-stack:
enabled: true
展開ラベルと名前空間この例では、ラベルアプリケーションをWSO 2 miと名前空間名にデフォルトに変更します
...
labels:
app: wso2mi
release: release
namespace_name: default
...
を有効にするこのフラグを有効にするには、有効なフラグを設定します.
promtail:
enabled: true
それで、私たちは今ジャガーに移動しましょう.有効にする
有効なフラグをtrueに設定することで、メッセージ追跡のためのJaegerを有効にする必要があります.これをすることによって、それはクラスタでJaeger演算子をインストールします
jaeger:
enabled: true
可観測性スタックをインストールする
上記の構成を実行した後、Objectability Edy/Cloudネイティブフォルダ内に次のコマンドを実行して、Kerbernetesクラスタに観測可能スタックをインストールできます.
helm install wso2-observability . --render-subchart-notes
この後、以下のURLを使用してPrometheus UIにアクセスできます.http://localhost:8088/graph
LocalHostを使用しています.なぜなら、デスクトップKubernetesローカルクラスタのDockerで展開しているからです.Grafana UIにアクセスできます.
http://localhost:9080/
使用するユーザ名はadminです.パスワードを取得するには以下のコマンドを実行します.kubectl get secret --namespace default wso2-observability-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
さあ、Jaegerのインスタンスをインストールしましょう.Jaegerインスタンスのインストール
前に述べたように、今ではジャガー演算子をインストールし、インスタンスをインストールする必要があります.そのためには、最も単純な展開を使用します.次のように定義されています.
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: wso2-observability
spec:
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: nginx
次に、以下のコマンドを実行できます.kubectl apply -f jaeger-simplest.yaml
ポッドが稼働した後、私たちは、URLを使用して、Jaeger UIにアクセスすることができます.http://localhost/search
インクルードを使用しているため、Jegegerインスタンスを作成する前にNGinx Ingressコントローラをインストールする必要があります.上記の構成で、我々は現在、使用可能にインストールされ、設定された観測可能性ツールを持っている.以下では、Kerbernetes用のWSO 2 mi展開を設定します.
マイクロ・インテグレータ
MI展開のためのPrometheusモニタリングとJaeger観測可能性を可能にするために、配備にいくつかのセッティングを加えるのが必要です.ToMLとKubernetes定義にも.展開から始めましょう.トムール
展開.モニタリングと追跡のためのTOML変化
プロメテウスメトリックについては、次のハンドラを追加する必要があります.
[[synapse_handlers]]
name="CustomObservabilityHandler"
class="org.wso2.micro.integrator.observability.metric.handler.MetricHandler"
Jaeger追跡のために、我々はメッセージ追跡とjaeger構成を可能にする必要があります:[mediation]
flow.statistics.capture_all= true
stat.tracer.collect_payloads= true
stat.tracer.collect_mediation_properties= true
[opentracing]
enable = true
logs = true
jaeger.sampler.manager_host = "wso2-observability-agent"
jaeger.sender.agent_host = "wso2-observability-agent"
上記の構成では、WEO 2 miのターゲットサーバとしてJaegerエージェントのK 8 Sサービス名を使用してトレースを送信します.Kubernetes環境で動作するので、この展開を焼く必要があります.Dockerイメージにtomlしたり、k 8 s展開のコンフィギュレーションとしてマウントします.
展開の設定
メトリクス監視とFluentBitを使用したログ解析の場合は、配置に次の注釈を追加する必要があります.
prometheus.io.wso2/scrape: "true"
prometheus.io.wso2/port: "9201"
prometheus.io.wso2/path: /metric-service/metrics
fluentbit.io/parser: wso2
また、PrometheusメトリクスAPIを有効にするには、次のJava Systemプロパティを追加する必要があります.- name: JAVA_OPTS
value: "-DenablePrometheusApi=true
また、LOKIログ監視で使用するラベルを指定する必要があります....
template:
metadata:
labels:
app: wso2mi
release: release
...
これらの構成をK 8 s展開で使用すると、アプリケーションをKubernetesクラスタに展開することもできます.また、配備されたAPI/サービスにもいくつかの要求を行うことができます.セットアップの確認
すべてが適切に設定されている場合は、統合クラスタダッシュボードをチェックすることができます.
ログパネルでは、どのデータソースとラベルを使用するかを指定する必要があるので、コンテンツを表示してはいけません.そのためには、編集オプションでクリックする必要があります.
データソース:ロキ
ログラベル:アプリ>WSO 2 MI
これらのパネルでプロメテウスとロキとの統合を見ることができます.JAEGERトレースをチェックするには、APIやサービスメトリクスダッシュボードに移動する必要があります.
応答時間パネルでは、“i”のアイコンがJaegerコンソールへのリンクがあります.それを動作させるには、ダッシュボードの設定でJaeger URLを指定する必要があります.ダッシュボードの設定に行くと、変数のセクションがあります.
それを更新した後、我々は現在、APIの呼び出しの追跡情報を確認するには、アイコンをクリックすることができます
結論
このポストでは、WSO 2マイクロインテグレータのための雲の固有の可観測性解決を設定する簡単な方法を示しました.他のツールと一緒に解決策を監視する方法を持って、すぐに解決のコンポーネントが問題を抱えている識別します.
このような解決策を活用することによって、WSO 2マイクロインテグレータで開発されたクラウドネイティブアプリケーションを提供、監視、維持することができます.
私は、これが助けることを望みます!
次のポストでお会いしましょう.
Reference
この問題について(WSO 2マイクロ積分器による雲固有可観測性), 我々は、より多くの情報をここで見つけました https://dev.to/fjunior87/cloud-native-observability-with-wso2-micro-integrator-35k5テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol