Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Oracle Functionsのオブザーバビリティ / Oracle Functions O...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
oracle4engineer
PRO
May 31, 2022
Technology
1.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Oracle Functionsのオブザーバビリティ / Oracle Functions Observability
oracle4engineer
PRO
May 31, 2022
More Decks by oracle4engineer
See All by oracle4engineer
OracleTechnologyNight101_Oracle_Backup_Recovery_Strategy_from_REDO_UNDO
oracle4engineer
PRO
1
470
Oracle Cloud Infrastructure:2026年7月度サービス・アップデート
oracle4engineer
PRO
1
610
Lakehouseの要!Open Table Format深掘り(OCHaCafe Season 11 #6)
oracle4engineer
PRO
2
130
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
[JPOUG Tech Talk Night #16]1歩踏み込むSQLの結合方法
oracle4engineer
PRO
4
310
『モデル + ハーネス』で読み解く AIエージェント入門
oracle4engineer
PRO
2
340
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.7k
Deep Data Security 機能解説
oracle4engineer
PRO
2
470
Oracle Cloud Infrastructure:2026年6月度サービス・アップデート
oracle4engineer
PRO
1
1k
Other Decks in Technology
See All in Technology
2026-08-15 JAWS-UG 茨城 #16 Secrets ManagerにおけるSecret値の管理(Terraformの場合) / Secrets Manager Secrets
masasuzu
0
550
猫付きpingコマンドを自作
uyuki234
0
290
AI for Science時代を切り開く、政府の次世代HPC戦略の展望
gpuunite_official
0
220
内製AIチャットボット開発で学んだ Datadog Agent Observability活用術
mkdev10
0
120
FDEの心得
noriakioji
5
6.4k
あなたの知らないバージョン命名規則
sat
PRO
2
220
なぜ Temporal の大小比較には compare しかないのか / Why Does Temporal Only Have compare() for Comparisons
kazukihayase
1
200
国家プロジェクトを支える「さくらONE」 大規模LLM開発におけるGPU障害を乗り越えるクラスター運用戦略
gpuunite_official
0
260
平文パスワードはログに“残り” ── 肝心の侵入は“痕跡すら残らない”
kuroneko13
0
120
ハッカソンで入賞した話 @ Findy LT
asari194617
0
1.5k
Android skills に学ぶ
kokiko
0
160
LLM Internals: 언어 모델의 계보와 알고리즘 진화 (2023~2026)
inureyes
PRO
1
890
Featured
See All Featured
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
220
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
490
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Skip the Path - Find Your Career Trail
mkilby
1
190
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
HDC tutorial
michielstock
2
810
The SEO identity crisis: Don't let AI make you average
varn
0
530
Odyssey Design
rkendrick25
PRO
2
770
Color Theory Basics | Prateek | Gurzu
gurzu
0
430
Building Adaptive Systems
keathley
44
3.2k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Transcript
Oracle Functionsのオブザーバビリティ Subhead goes here on one line Name 日本オラクル株式会社
May, 2022
Copyright © 2022, Oracle and/or its affiliates 2 1. Oracle
Functions – Metrics 2. Oracle Functions – Logs 3. Oracle Functions – Traces Agenda
Oracle Cloud Observability and Management Platform Copyright © 2022, Oracle
and/or its affiliates 3 Logging Logging Analytics Application Performance Monitoring Database Management Operations Insights Service Connector Hub オンプレミス、クラウドのOracle DBの リソース監視、パフォーマンス分析 OSやDBのキャパシティプランニングや リソースの需要予測 Monitoring Events Notifications Streaming OS Management Functions コンピュート、ネットワークなど各OCIリソー スの状態を監視するメトリックを管理 メール、SMS、Slack等のアラート メッセージを発信 クラウド上のリソースの変化を捉え、検知 した内容に応じたアクションの実行 インフラストラクチャを必要としないサー バーレスなアプリケーション実行環境 大量のデータストリームを処理するフルマ ネージドな分散メッセージング基盤 OS上で稼働するアプリケーションのワーク ロードの管理やリソース監視 Observability & Management サービス Platform サービス 監査ログやネットワーク、ストレージ・ログ などのOCIサービスに関するログ管理 様々な種類のログを集約し、機械学習 を用いた高度な分析とビジュアライズ Loggingのログを別のサービスに 転送するサービス連携基盤 Javaアプリケーションやマイクロサービスの パフォーマンス分析 Logs Metrics Traces
Copyright © 2022, Oracle and/or its affiliates 4 Oracle Functions
– Metrics
• OCIの各サービスの性能や状態を表すメトリックを収集・監視 • コンピュート・インスタンスのCPU, メモリ, ネットワーク送受信 • ロードバランサーのインバウンドリクエスト, 帯域幅 •
ブロック・ボリュームのI/Oスループットなど • 事前定義済みのダッシュボードが提供され特別な設定は必要なし • メトリック・エクスプローラーによる詳細なメトリック分析 • ユーザー自身によるカスタム・メトリックの作成 • ヘルスチェックによるコンピュートのサービス・ポートを監視 • メトリックの保持期間は90日間 • メトリックに対してアラームを作成可能 • アラームはNotificationsサービスと連携する事で、メール、 Slack等による通知やFunctionsサービスを起動し、特定のア クションを実行するなど、対応を自動化することも可能 Monitoring Copyright © 2022, Oracle and/or its affiliates 5 CPU: 80 CPU: 90 CPU: 40 CPU: 50 Customer Applications, Services, Resources OCI Services METRICS ALARMS Notifications Monitoring
Oracle Functionsの実行をモニターし、以下のメトリックを自動的に収集 ディメンション: メトリック・データをフィルターしたりグルーピングするもの • applicationId: ファンクションを管理するアプリケーションのOCID • resourceId: ファンクションのOCID
• responsetype: ファンクションが呼び出されたときのレスポンス(Success, Error, Throttled) Oracle Functionsのメトリック Copyright © 2022, Oracle and/or its affiliates 6 メトリック ディメンション 概要 FunctionExecutionDuration applicationId, resourceId ファンクションの合計実行時間 [ms] FunctionInvocationCount applicationId, resourceId ファンクションの呼び出しの合計数 [count] FunctionResponseCount applicationId, resourceId, responseType ファンクション・レスポンスの合計数 [count]
収集したメトリックは、事前定義済みのダッシュボードとして提供 Function Metric Copyright © 2022, Oracle and/or its affiliates
7
Copyright © 2022, Oracle and/or its affiliates 8 Oracle Functions
– Logs
OCI内のログを有効化し、ログデータの簡易的な分析と連携管理を提供 以下の3種類のログに対応 監査ログ • デフォルトで収集されるOCIコンソールやAPIの操作ログ サービス・ログ • OCIネイティブなサービスから生成されるログ • ファンクション,
ロードバランサー, オブジェクト・ストレージ, VCN Flow Logs等 カスタム・ログ • Linux syslogやWindows イベント等のOSで管理されるログ 監査ログは最大365日、サービス/カスタムログは最大6カ月保持 オブジェクトストレージやLogging Analyticsをログデータを移動して、ログの 永続的な保管が可能 高度なログ分析やアラート、ビジュアライゼーションにはLogging analyticsと 連携して使用するのがもっとも効果的 Logging Copyright © 2021, Oracle and/or its affiliates 9 サービス・ログ Logging Object Storage VCN Flow Logs Load Balancer Auditing 監査・ログ カスタム・ログ
Functionsのログを有効化した場合、サービス・ログとしてOCI Loggingに出力される • アプリケーション(=ファンクションの管理単位)単位に出力される • 呼びだし時のログ(呼び出しに要した時間、失敗時のエラーコード)は自動的に収集される • 実行ログは、標準/標準エラー出力に出力したものが自動的に収集される OCI上で統合的な運用が可能 •
Service Connector Hubとの併用で、ログ出力を元にした操作が可能 OCI Functionsのログ Copyright © 2022, Oracle and/or its affiliates 10 console.log(‘debug log’); // Node.js System.err.println(“debug log”); // Java logステートメント アプリケーション単位に ログを有効化 標準/標準エラー出力に出力したログをLoggingの インターフェースを利用して参照
Oracle Functionsのログは、アプリケーション(=ファンクションの管理単位)単位に特定のログ・グループ (=ログの管理単位)に出力される ログの管理単位 Copyright © 2022, Oracle and/or its
affiliates 11 function-a function-b アプリケーション #1 ・・・ function-c function-d アプリケーション #2 ・・・ ・・・ Oracle Functions Functions OCI Logging Logging ログ・グループ #1 app1_invoke app2_invoke ・・・ ログ・グループ #2 app3_invoke app4_invoke ・・・ function-a ログ function-b ログ ・・・
出力される内容 Copyright © 2022, Oracle and/or its affiliates 12 {
"datetime": 1636351104724, "logContent": { "data": { "applicationId": "ocid1.fnapp.oc1.ap-tokyo-1.aaaaaaaaagi5fasv4qxkb3vootiz77ugdozpqnqvnxvruusa2pzioyb7pptq", "containerId": "01FKZ208K3000000000000024J", "functionId": "ocid1.fnfunc.oc1.ap-tokyo-1.aaaaaaaaei3thjhk56scniiex44zthk7osi22aay4cjomkumgtmtfd34y67a", "message": "INFO: tracingContext.functionName: fn-tracing", "opcRequestId": "/01FKZ1ZVFZ000000000000V7NJ/01FKZ1ZVFZ000000000000V7NK", "requestId": "/01FKZ1ZVFZ000000000000V7NJ/01FKZ1ZVFZ000000000000V7NK", "src": "STDERR" }, "id": "2cf9c27d-c11f-4d6a-ae84-ced28c7b5bae", "oracle": { "compartmentid": "ocid1.compartment.oc1..aaaaaaaanjtbllhqxcg67dq7em3vto2mvsbc6pbgk4pw6cx37afzk3tngmoa", "ingestedtime": "2021-11-08T05:58:36.340Z", "loggroupid": "ocid1.loggroup.oc1.ap-tokyo-1.amaaaaaassl65iqambbuvvbisri2xehhg274e4fjej2qod4v7raw32dr253a", "logid": "ocid1.log.oc1.ap-tokyo-1.amaaaaaassl65iqauyddmj3zzrfgbvoublwzxrvktwmdeutz2jjuqxcgasiq", "tenantid": "ocid1.tenancy.oc1..aaaaaaaa3mb7wrcy2ls3u3jsy2soq5ck3lc3q4mczitpdaymbuazc5tkguca" }, "source": "sandbox-app", "specversion": "1.0", "subject": "fn-tracing", "time": "2021-11-08T05:58:24.724Z", "type": "com.oraclecloud.functions.application.functioninvoke" } } 出力内容 アプリケーション名 Function名 同一Functionの複数コンテナの出力が混在する場合これで識別可能 標準出力(STDOUT) or 標準エラー出力(STDERR)
Copyright © 2022, Oracle and/or its affiliates 13 Oracle Functions
– Monitoring
アプリケーションのパフォーマンスを可視化し、問題の根本的原因を サーバーおよびユーザー・サイドから分析し解決をサポート • 分散トレーシング • トレースデータに基づいてアプリケーションのどの箇所が、または、 サービス間の連携でどのサービスがボトルネックなのかを可視化 • Open Tracing,
OpenTelemetry互換 • Javaアプリケーション実行環境の監視 • WebLogic, Tomcat, TomEE, Spring Boot • ブラウザ・エージェントにより、実際のユーザーのブラウザ操作を記 録しページ・ロードやパフォーマンスを監視 • アプリケーションやAPIのエンドポイントに対して定常的にリクエスト を実行し、死活監視およびパフォーマンス監視を実行 • 定義済みダッシュボードによる効率的なモニタリング Application Performance Monitoring(APM) Copyright © 2022, Oracle and/or its affiliates 14 Application Performance Monitoring アプリケーション 監視 エンドユーザー 性能監視
Application Performance Monitoring (APM) との統合によってFunctionのトレースが可能に • Function間の呼び出しや、他サービスの呼び出しに関連する情報をAPMでend-to-endに可視化 • 障害発生時の原因特定や性能上のボトルネックとなっている箇所の特定に貢献 Application
Performance Monitoring(APM)を用いたFunctionのトレース Copyright © 2022, Oracle and/or its affiliates 15 スパンの詳細情報 • 操作/処理名 • トレース開始からの経過時間 • スパンの実行時間 • トレースID • スパンID • etc.
• デフォルト・スパン • 関数呼び出し全体(リクエスト~レスポンス)の実行コンテキストの情報を提供する • ポリシーやFunctionの設定を実施後、関数コードに変更なしで自動的に提供される(※後述) • カスタム・スパン • 任意の範囲(スパン)の情報を提供する
• メソッドの処理開始~終了、メソッド内の特定処理の開始~終了 etc. • デフォルト・スパンよりも細かい単位で情報の取得が可能 • Zipkin等のクライアント・ライブラリを用いて、関数コード中に直接スパン定義を埋め込む デフォルト・スパン/カスタム・スパン Copyright © 2022, Oracle and/or its affiliates 16 デフォルト・スパン カスタム・スパン トレース: コンポーネント間を跨ぐイベントまたはトランザクションの因果連鎖の指標のことで、1つ以上のスパンで構成される スパン: トレース内の名前、開始時間や期間の情報を持つ操作・作業の論理単位のこと
関数呼び出し全体(リクエスト~レスポンスまで)の実行コンテキストの情報をOCI上の設定のみで自動的に提供 トレースの有効化 Copyright © 2022, Oracle and/or its affiliates 17
Functions Policies Allow service FaaS to use apm-domains in compartment <compartment-name> Allow group <group-name> to use apm-domains in comparetment <compartment-name> アプリケーション単位のトレース可否の設定 + ファンクション単位のトレース可否の設定 Application Performance Monitoring
Copyright © 2022, Oracle and/or its affiliates 18 Thank you
None