Oracle Cloud Hangout Cafe Season4 #4「Observability 再入門」(2021年9月8日開催)

2024年4月23日(火)
市川 豊
第2弾の連載第5回では、2021年9月8日に開催された「Oracle Cloud Hangout Cafe Season4 #4『Observability 再入門』」の発表内容に基づいて紹介していきます。

Observability Practice

発表では、Oracle Cloud Infrastructure(OCI)のKubernetesのマネージドサービスであるOracle Container Engine for Kubernetes(OKE)上で以下のOSSを利用して、メトリクス、ログ、トレースの状況を確認するデモを行いました。サービスメッシュはIstio、サンプルアプリケーションはBookinfo Applicationを利用しました。

  • Prometheus
  • Grafana
  • Grafana Loki
  • Kiali
  • Jaeger

Istio + Prometheus + Grafana + Kiali + Jaeger + Lokis【出典】Jaeger’s Architecture Components

本記事ではデモの概要を説明します。動画は公開済みなので、実際のデモの詳細は動画で確認してください。また、デモの手順や使用したマニフェストはGitHubで公開しています。

Prometheus

Prometheusのデモでは、node-exporterを利用してKubernetesクラスタの各ノードの空きメモリ量、直近5分における各ノードの空きメモリ量、3ノード全体の空きメモリ量の合計をPromQLで検索し、WebUIで確認するデモを実施しました。

Prometheus DEMO

検索フォームに以下を入力して、各ノードのメモリ空き容量を確認します。

node_memory_MemAvailable_bytes

各ノードのメモリ空き容量

直近3分の場合は、以下のように入力します。

node_memory_MemAvailable_bytes[3m]

各直近3分での各ノードのメモリ空き容量

3ノード全体のメモリ空き容量の場合は、以下のように入力します。

sum without (instance, kubernetes_node) (node_memory_MemAvailable_bytes)

3ノードの空き容量サイズ合計

グラフとして状況を確認することもできます。

3ノードの空き容量サイズ合計 グラフ

Grafana Loki

Grafana LokiのデモではGrafanaにData SourceとしてLokiを追加し、lokiistiodのログをGrafana のWebUIで確認するデモを実施しました。

Grafana Loki

検索フォームに以下を入力して、lokiのログを検索して確認します。

{app=“loki”}

lokiのログ確認

検索フォームに以下を入力して、istiodのログを検索して確認します。

{app=“istiod”}

istiodのログ確認

Istio & Grafana

IstioのアドオンとしてPrometheusとGrafanaがインストールされているので、Istio環境の状況をGrafanaで確認するデモも実施しました。

Istio 環境の状況

ここでIstioの概要を補足します。Istioはマイクロサービスの通信を管理してセキュリティ、接続性、モニタリングを強化するオープンソースのサービスメッシュです。主な特徴は以下の通りです。

  • トラフィック管理:Istioはマイクロサービス間のトラフィックの流れを制御して、ルーティング規則、リトライ、フェールオーバー、断続的なテストなどを提供
  • セキュリティ強化:Istioはサービス間の通信をセキュアにして、アイデンティティとアクセス管理を提供、信頼できるサービス間でのみデータを共有できる
  • 監視と可視化:Istioはマイクロサービス間の通信データを収集し、これを使って監視と可視化ツールを提供、パフォーマンスの問題やボトルネックを簡単に特定できる
  • ポリシーとコンプライアンス:Istioは組織のポリシーに基づいてサービス間の通信を管理する

Istioは、特にクラウドネイティブなアプリケーションや複数のマイクロサービスを使用する大規模なアプリケーションにおいて、その価値を最大限に発揮します。Kubernetesと組み合わせることで、より強力なマイクロサービス管理プラットフォームを構築できると言われています。

Istioのアーキテクチャは下図の通りです。

Istio’s Architecture【出典】Istio’s Architecture

デモでは、Istio Control Plane DashboardとIstio Performance Dashboardを確認しました。

Istio Control Plane Dashboard & Istio Performance Dashboard

Istioについては、本連載の過去記事「Oracle Cloud Hangout Cafe Season6 #1『Service Mesh がっつり入門!』(2022年9月7日開催)」でも取り上げています。ご参照ください。

Istio + Bookinfo + Kiali + Jaeger

最後に、Istio環境上にBookInfoというマイクロサービスアプリケーションを利用し、Kialiでトラフィック、Jaegerでトレースを確認するデモを実施しました。

Istio + Bookinfo + Kiali + Jaeger

Bookinfoは書籍情報を表示するマイクロサービスアプリケーションです。各言語で作られたアプリケーションサービスが疎結合して、1つのシステムを形成しています。

Bookinfoマイクロアプリケーションの概要

KialiはIstioサービスメッシュを視覚化、監視、管理するためのOSSです。Kiali の主な特徴は以下の通りです。

  • トポロジーの視覚化: Kialiはマイクロサービス間の通信パターンを視覚的に表示して、どのサービスがどのサービスと通信しているか、トラフィックの流れがどのようになっているかを可視化できる
  • ヘルスチェックとメトリクス: サービスの健康状態やパフォーマンスメトリクスを確認できるエラー、遅延、その他の問題を迅速に特定し、解決策を見つけることができる
  • トラフィック管理: Istioのトラフィック管理機能(ルーティング規則、断続的なテストなど)を視覚化
  • セキュリティ設定: Istioによるセキュリティポリシーと設定を視覚的に理解して管理できる
  • 構成の検証: Istioの設定エラーや不整合を識別して、改善のためのヒントを提供

デモでは、Kialiを利用してサービス間のトラフィックの状況を確認しました。

Kialiによるサービス間のトラフィック状況の確認

JaegerのWebUIを利用して、処理におけるTraceとSpanの状況を確認しました。

JaegerによるTraceとSpanの確認

おわりに

発表時から3年の月日が経ったこともあり、発表時の内容から少し変更、追加した情報もありました。クラウドネイティブにおけるオブザーバビリティの概要を掴むきっかけとなれば幸いです。

ツールに関してはOSSを中心とした内容ですが、各ベンダーが提供するサービスやサードパティーのツールも豊富にあります。マネージドサービスによる利点もあると思います。実際に導入する際は色々と検討するのが良いでしょう。

日本オラクル株式会社

Oracle Groundbreaker Advocate
Principal Cloud Solution Engineer

これまで、インフラエンジニア、フロントエンドエンジニアとして官公庁のシステム基盤を中心としたサーバの設計構築、運用保守、Webシステム開発を担当。技術教育者として専門学校でクラウド技術やOSS(Linux、Docker、Kubernetes)の授業を担当し、企業様向けプライベートトレーニング講師も担当。 アドボケート/エバンジェリストとしてミートアップ、カンファレンスで登壇。現在は、クラウドネイティブ技術を中心とするソリューションエンジニアとして活動。クラウドネイティブ技術に関連するコミュニティの運営にも積極的に参加。

Community:
Oracle Cloud Hangout Cafe メンバー (#ochacafe)
CloudNative Days Tokyo 実行委員会メンバー (#CNDT)

Book:
著書「Dockerコンテナ開発・環境構築の基本」(インプレス)
共著「RancherによるKubernetes活用完全ガイド」(インプレス)、「コンテナ・ベース・オーケストレーション Docker/Kubernetesで作るクラウド時代のシステム基盤」(翔泳社)

連載バックナンバー

仮想化/コンテナ技術解説
第5回

Oracle Cloud Hangout Cafe Season4 #4「Observability 再入門」(2021年9月8日開催)

2024/4/23
第2弾の連載第5回では、2021年9月8日に開催された「Oracle Cloud Hangout Cafe Season4 #4『Observability 再入門』」の発表内容に基づいて紹介していきます。
仮想化/コンテナ技術解説
第4回

Oracle Cloud Hangout Cafe Season6 #4「Pythonで作るAPIサーバー」(2022年12月7日開催)

2024/3/21
第2弾の連載第4回では、2022年12月7日に開催された 「Oracle Cloud Hangout Cafe Season6 #4『Pythonで作るAPIサーバー』」の発表内容に基づいて紹介していきます。
仮想化/コンテナ技術解説
第3回

Oracle Cloud Hangout Cafe Season 4 #2「Kubernetesのネットワーク」(2021年5月12日開催)

2024/2/20
第2弾の連載第3回では、2021年5月12日に開催された 「Oracle Cloud Hangout Cafe Season4 #2『Kubernetesのネットワーク』」の発表内容に基づいて紹介していきます。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています