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
第123回 雲勉【オンライン】Lookerによる運用分析
Search
iret.kumoben
December 21, 2023
Technology
0
160
第123回 雲勉【オンライン】Lookerによる運用分析
下記、勉強会での資料です。
https://youtu.be/BNxtT2biRm4
iret.kumoben
December 21, 2023
Tweet
Share
More Decks by iret.kumoben
See All by iret.kumoben
第149回 雲勉 AWS ベストプラクティスの最新と実態 AWS Well-Architected
iret
0
39
第148回 雲勉 Web アプリケーションセキュリティ
iret
0
30
第147回 雲勉 Amazon CloudWatchをウォッチ!
iret
0
53
第146回 雲勉 BLEAを眺めてCDKの書き方について学ぶ
iret
1
55
第145回 雲勉 Amazon ECSでサービス間通信する方法を調べてみよう
iret
0
51
第144回 雲勉 Amazon Aurora Serverless v2の基礎とアーキの裏側を覗いてみる
iret
0
99
第143回 雲勉 [New Relic]インフラストラクチャ監視と気をつけたいポイント
iret
0
45
第142回 雲勉 AWS Backupの復元テストで自動化できること・できないこと
iret
0
110
第141回 雲勉 Amazon Inspectorによる脆弱性管理~ECR コンテナイメージ編~
iret
0
300
Other Decks in Technology
See All in Technology
DevFest 2024 Incheon / Songdo - Compose UI 조합 심화
wisemuji
0
200
MasterMemory v3 最速確認会
yucchiy
0
230
メンタル面でもつよつよエンジニアになる/登壇資料(井田 献一朗)
hacobu
0
150
ISUCON、今年も参加してみた / ISUCON, I challenged it again this year.
dero1to
0
110
UI State設計とテスト方針
rmakiyama
4
890
LINE Developersプロダクト(LIFF/LINE Login)におけるフロントエンド開発
lycorptech_jp
PRO
0
150
[JAWS-UG新潟#20] re:Invent2024 -CloudOperationsアップデートについて-
shintaro_fukatsu
0
130
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
410
大規模言語モデルとそのソフトウェア開発に向けた応用 (2024年版)
kazato
1
160
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
340
マイクロサービスにおける容易なトランザクション管理に向けて
scalar
0
200
2024年にチャレンジしたことを振り返るぞ
mitchan
0
160
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Designing Experiences People Love
moore
139
23k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
97
17k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Testing 201, or: Great Expectations
jmmastey
41
7.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
230
52k
Music & Morning Musume
bryan
46
6.2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
820
Building an army of robots
kneath
302
44k
Unsuck your backbone
ammeep
669
57k
Transcript
第123回 雲勉【オンライン】 Lookerによる運⽤分析
話すこと 2 • 自己紹介(所属、PR) • Lookerについて(座学) ◦ Lookerとは ◦ Lookerでよく使う機能
◦ HelpやTips ◦ Looker APIの紹介(応用的な使い方を紹介) • 活用事例(事例紹介) ◦ 最近携わったこと ◦ 運用分析プラットフォームとは(構成も含めて解説) ◦ Lookerを導入したあとの構成 ◦ Lookerの導入理由(簡単に) ◦ New Relic FutureStack Tokyo 2023 • まとめ
経歴含め自己紹介 3 経歴 • 2022年10月~現在 アイレット株式会社 ◦ Multi Cloud Developer
• (2016年~2022年9月)某通信キャリアの子会社 ◦ ITスペシャリスト github,zenn,Qiita,X(旧Twitter),@ymd65536
PR 4 2022/8/31 発売 2023/9/2 発売 コンピュータ・IT部門で1位 アプリケーション部門で1位 Amazon ベストセラー獲得
5 Lookerについて(座学)
Lookerとは 6 統合されたビジネス インテリジェンス プラットフォーム! Google が提供するデータ可視化プラットフォーム ほぼすべてのデータソースを元に可視化を提供するところがポイント!
Lookerでよく使う機能 7 さまざまな機能がありますが、よく利用する機能にフォーカスして紹介! 今回紹介する機能 • LookMLプロジェクト • SQL Runner •
Explore +アルファで「難しいな」と思ったポイントを一つ紹介 https://cloud.google.com/looker?hl=ja
8 SQLのバージョン管理ができていない before LookMLプロジェクトでSQLに対するバージョン管理を導 入 after LookMLプロジェクト SQLをプロジェクト毎に保存することでバージョン管理ができる! SQLの変更管理が可能となる。 プロジェクト単位で管理できるのでSQLの再利用性が高まる。
Point
LookML(Looker Modeling Language)とは 9 Looker独自のクエリ管理言語 LookML は、Looker Modeling Language の略です。セマンティック
データモデルを作成するため に Looker で使用される言語です。LookML を使用して、SQL データベース内のディメンション 、集計、計算、およびデータの関係を記述できます。 公式:LookMLの紹介 | Looker | Google Cloud LookerでSQLを実行するときはLookMLを活用する。 SQLを実行するときはLookMLの文法(ディメンションやメジャーなど)を覚える必要がある。 LookMLではデータモデル(以下、View)を作成できる、 Point
ディメンションやメジャーとは 10 系列と計測値のこと ディメンションは系列のこと メジャーは計測値(表計算でいうところのCountやSum関数などで取得した数値) Point ディメンション メジャー 系列 計測値
※系列:特定の項目を指す。時間ならば時系列
11 Amazon Athena SQL Runner Looker SQL Runner Lookerの接続先にスクラッチで書いたSQLを実行できる機能です。 ex)
SQL Runner を活用してAmazon Athenaのクエリを実行! →現行の分析環境と同じ結果を取得できるため、精度が非常に高く、Lookerに依存しない。 実行 結果取得 既存のSQL資産を活用してクエリを実行できます。 ※Amazon AthenaとLookerのJDBC接続が必要です。 Point
12 Explore SQL Runnerで作成できない可視化に対応できる。定義されたLookMLをViewとして閲覧できる。 SQL Runnerの欠点 SQLで定義したカラム情報は全てディメンションとして定義されてしまう。 グラフを作成するためにはメジャーも指標として必要であるため、SQL Runnerのみでグラフを作成するのは 難しい。
メジャー(計測値)がない場合はExploreで作成する。 定義されたLookMLをViewとして閲覧できる。 グラフを作成する際に必要なメジャーを作成できる。 Point
13 次の項目を説明するまえに3つの機能と関係をおさらい • SQLをLookMLという形式に解釈し、ExploreでViewとして閲覧できる • SQLからLookMLの形式に変換する過程ではSQLRunnerが利用できる • 変換したLookMLはLookMLプロジェクトに保存できる
SQL Runner 14 次の項目を説明するまえに3つの機能と関係をおさらい • SQLをLookMLという形式に解釈し、ExploreでViewとして閲覧できる • SQLからLookMLの形式に変換する過程ではSQLRunnerが利用できる • 変換したLookMLはLookMLプロジェクトに保存できる
SQL LookML 変換 LookMLプロジェクト Explore View 解釈 LookMLで定義された Viewを参照
Look(visualization)とは 15 Viewを保存する機能、ダッシュボードにおいては可視化の単位 別の呼び方:ダッシュボードに配置できる単位 ダッシュボード Look Look Look Look Look
Look Look Look Look
ダッシュボードとは 16 Lookやその他UIを複数保持できる画面のこと Look以外にはテキストボックスやButton、マークダウンを配置できる。 ダッシュボード テキストボックス Button Look マークダウン
ここが難しいよ!Looker!!! 17 LookML?モデル?ビュー?ディメンション?メジャー?とにもかくにも用語のオンパレー ド
ここが難しいよ!Looker!!! 18 赤枠で囲ったところが理解できれば、分析作業ができます。特にLookMLが難しい。
Lookerの活用で得た知見は随時、iret.mediaで発信しています。 https://iret.media/tag/looker help:Lookerでわからない用語があったらiret.mediaを閲覧しよう!! 19
LookerのAPI(ここから先は応用的な使い方を紹介)初公開! 20 Lookerの機能を外部から利用できるインターフェイス 2023年12月においてはV3とV4バージョンがありますが、V4が推奨されています。 ※APIの実行にはLookerのライセンスとCLIENT_IDとアクセスキーが必要です。 なお、プログラミング言語に知見のある方はLooker SDKの利用を推奨します。
LookerのAPI(利用手順1) 21 Lookerの機能を外部から利用できるインターフェイス 利用手順 1. クライアントキーとクライアントシークレットキー(以下、アクセスキー)を発行 1
LookerのAPI(利用手順2) 22 Lookerの機能を外部から利用できるインターフェイス 利用手順 1. クライアントキーとクライアントシークレットキー(以下、アクセスキー)を発行 2. アクセスキーを使ってアクセストークンをリクエスト 1 2
LookerのAPI(利用手順3) 23 Lookerの機能を外部から利用できるインターフェイス 利用手順 1. クライアントキーとクライアントシークレットキー(以下、アクセスキー)を発行 2. アクセスキーを使ってアクセストークンをリクエスト 3. アクセストークンを取得
1 2 3
LookerのAPI(利用手順4) 24 Lookerの機能を外部から利用できるインターフェイス 利用手順 1. クライアントキーとクライアントシークレットキー(以下、アクセスキー)を発行 2. アクセスキーを使ってアクセストークンをリクエスト 3. アクセストークンを取得
4. アクセストークンをヘッダーに含めてリクエスト(APIの実行) 1 2 3 4
Looker APIを動かしてみる(構成) 25
Looker APIを動かしてみる(構成) 26
Looker APIを動かしてみる(構成) 27
活用方法 28 Lookerに対してはさまざまなコネクタが存在するので必要に応じて活用すべし 具体的には以下 • Looker StudioからLookerへの接続 • SpreadSheetからLookerに接続(いわゆる、コネクティッドシート) •
PowerBIからLookerに接続
29 Looker活用事例の紹介
最近携わっていること 30 マネージドサービスプロバイダ(MSP)の運用分析プラットフォームの運用がメイン 具体的には下記の業務 • MSPメンバーと協力してcloudpackのサービス品質向上 ◦ 有人監視アラートにおける対応スピードをあげる取り組み ◦ アラート対応にあたって見つかる課題の解消
• Lookerを扱えるメンバーの拡充 ※MSP:弊社ではcloudpackというサービスを24h365d運用するためのチームあるいはセクションが存在しま す。MSPはあまりよく知られていませんが、一般用語です。業界内にはさまざまなMSPが存在します。
運用分析プラットフォームとは(構成も含めて解説) 31 cloudpackの運用状況を可視化するアイレット唯一のプラットフォーム 運用分析プラットフォーム=cloudpackの運用状況を可視化するプラットフォーム 参考:クラウド監視・運用保守の品質がさらに進化。AMS 適用やインシデント対応品質を高める「運用分析プラットフォーム」を短期間で構築
補足:運用分析プラットフォームとつながるシステム 〜AMSについて〜 32 運用分析プラットフォームではさまざまなサービスおよびAMSを分析対象にしています! モニタリングの体制、次世代監視基盤AMS(AdvancedMonitoringSystem)の分析を担う! 参考:クラウド監視・運用保守の品質がさらに進化。AMS 適用やインシデント対応品質を高める「運用分析プラットフォーム」を短期間で構築
Lookerの導入理由(簡単に) 33 組織/運用における課題 • 組織的な課題 • 運用における課題
組織的な課題 34 手探りが多く、不明な点が多いRedashをMSPに広めていくのはかなり難易度が高い • MSPの要望に応えるのが難しくなってきた。。。。 • MSPのメンバーにも分析をしてもらうということを考えるとモチベーションと説明が必要 ◦ 「なぜ、Redashなのか」と聞かれたら答えられないぜい弱さ!
運用における課題 35 クエリ実行による計算量が多いとサーバエラーになることもそれなりにあった。。。。 • Redashでは障害が度々起きていたのでそれが分析の足枷になっていた ◦ ECS Fargateにしたけども運用負荷が高い 以前の構成(コンピューティングのところだけ抜粋)
ここでLookerの登場! 36 Lookerが今の課題を解決する銀の弾丸だと思った! Lookerは何もわからんという状態だったけども。。。。 • Redashのコンテナ運用から解放されるから👉ヨシッ • MSPメンバーの新しいスキルとして「分析どうですか」と提案できるから👉ヨシッ • Google
Cloudに触るキッカケとなるからとりあえず👉ヨシッ ということで実際の運用を目指して検証を始めた。
Lookerを導入した運用分析プラットフォーム 37 部分的に分析環境を構築し、現行の分析環境と同じ分析作業ができるかどうかを検 証 →Redash上のダッシュボードを移行して動作確認した
実際にLookerを使ってみて 38 結論:Lookerの機能を活用すれば、運用分析プラットフォームと同じ分析作業が実行できる ※活用した機能 • LookMLプロジェクト • SQL Runner •
Explore
NewRelic FutureStack Tokyo 2023の展示ブースで出してみたら。。。 39 予想以上の反響!!弊社の営業も絶賛! 手応え • 100 人近くがブースに来場
◦ 66 名の皆様と名刺交換 ▪ そのうち9割が興味があると回答 ※名刺交換できなかったり、弊社営業サイドのキャパシティが問題で対応できなかった来場者の方も数人 イベント参加者は1,000人くらいなので単純計算では1/10 がブースに来場!?
実際に展示した画面:AMS分析用の画面イメージ 40 発生したインシデント件数に対してAMSがいくつ対応したかの割合 検索期間によっては有人対応しかない場合もあり、0%になることもあります。 ダイナミックに平均を算出することや 達成ラインを引くこともできます。 また引いたラインについては何のラインであるかを 説明することも可能です。 ダッシュボードでAMSの対応率を可視化すること で
AMSのパフォーマンスを細かく分析できます。 95%を固定値にした達成ライン 数値の平均を自動で算出して自動的にラインを引く
実際に展示した画面:監視運用保守サービスの画面イメージ 41 有人対応の人数を調整する時など どの時間帯に人を必要としているかが分析できます。 時間帯毎に絞ったグラフを積み上げ棒毎にすることで 何が原因かを詳しく分析できます。
まとめ 42 Lookerはイイぞ • Lookerの基本をおさらいした! ◦ ついでにLooker APIについて見ました • 活用事例の紹介として障害が多かった分析プラットフォームを改善していく過程でLookerを導入した!
• 他にもいろんな活動してるよ!