SlideShare a Scribd company logo
Grafana + Prometheusで
SNS分析用のダッシュボードを作る
日本アイ・ビー・エム株式会社
テクノロジー事業本部 カスタマーサクセス
カスタマーサクセスマネージャー
黒沢 勇
2022/10/21
注釈
© 2022 IBM Corporation 2
今回のお話の主題はダッシュボードの作り方、
作るにあたっての考え方です。
SNS分析に関する手法はあんまりでません。
なぜなら私がSNS分析をするほど
バズるツイートをまだしていないからです
この取り組みは
私がいつインフルエンサーになってもいいように
前準備をすることが目的です
Who Are you?
3
自己紹介 氏名:黒沢 勇
出身:神奈川県川崎市
現職: IBM CSM
趣味: 自宅ラボ、ゲーム、積みプラモ
得意技術:仮想化、k8s、クラウド管理自動化可視化
8月に肋骨を折ってニュースで報道されました
気になる方は横浜 釣り船 事故で検索してみてください。
お見舞い待ってます。
Twitter: https://twitter.com/Torlek96
Linkedin: https://www.linkedin.com/in/kurosaway
© 2022 IBM Corporation
そもそも監視はなんのために行うか?
4
Container
Web
App
DB
VM
Cloud
Service
On-prem DC
システム
Ø 監視は以下の要件が満たせればok
ü システムの正常性を確認
ü システムが異常になりそうな予兆を検知
ü 将来の拡張に備えた参考情報を取得
Ø 最近はシステムの状況を把握している状況を
“Observability”があると呼ぶ
Server
Storage Network
Cloud
Service
ICMP, SNMP, Metric Alert, Log
API, Service Assurance... etc
© 2022 IBM Corporation
ObservabilityとCloud Native Trail map
5
よくみるトレイルマップを出してみる
Ø クラウドネイティブになりたいなら
このマップに従って進むと良いとされている
(個人的に1がコンテナ化よりはCI/CDが先な気がする)
Ø Observabilityは4番目にある
(コンテナ化-> CI/CD -> Orchestration -> Observability)
• コンテナ化してCI/CDが進み、
オーケストレーションされた結果
Observabilityが必要になるとも読み取れる
• CI/CDやオーケストレーションが進んだ結果
システムコンポーネントが増えたり減ったりするので、
従来監視とは違う考え方が必要になる
© 2022 IBM Corporation
今回のモチベーション
6
Grafana触ってみたい
OSSの限界値が
知りたい
SNS分析はじめたい
弱み強みが知りたい
(自社の可視化製品と比較)
意外と触っている人が
少なかった
どういうワードがバズっている
のか、バズりの推移を知りたい
© 2022 IBM Corporation
主な監視の方式
7
メトリクス ログ トレーシング
監視対象が
何を行ったのかを文で記述
ex: プロセスAをUser BがKillした
数値データとして
監視対象の情報を取得
ex: CPU使用率、電源on/off
ユーザのリクエストに対して、
どのコンポーネントがどれだけ
の時間をかけたか表示
© 2022 IBM Corporation
Prometheusとは
8
ü オープンソースの監視システムの一種
ü Sound Cloud 社のエンジニアによって2012年に開発
ü Google社のBorgmonにインスパイアを受けて開発
• BorgmonはBorg (k8sの前身)の監視システムとして開発
• Borgmonは分散システムのモニタリング用として最適化
(この特徴をPrometheusは継承)
ü 2016年にCNCFのプロジェクトメンバーとして追加
ü 2018年にCNCFのGraduated Project化
(CNCFが十分成熟したとみなした)
© 2022 IBM Corporation
Prometheusは何を取得するためのものか?
9
メトリクスを取得するためのツールである
© 2022 IBM Corporation
おすすめの書籍
10
Docs/Gitを眺めるだけでは全体感を知るのは厳しい
私もこれから読むレベルですが内容が少し高度らしいです
基礎から学べるとの文言に偽りなし。
© 2022 IBM Corporation
まずは分析ツールを用意する
11
今回はVMwareの星野大先輩のコードを拝借してデータを得る
(Cloud Native dayのObservabilityの裏側というセッションで大体の内容はわかります)
https://github.com/cloudnativedaysjp/social-analysis
コードはこちらから
https://youtu.be/dRNHK6uElTc
セッション動画
直近100件のtweetのRT、Favを取得し、
それに辞書ベースでポジティブな言葉が含まれていればスコアが+となり、
+のスコアをPrometheusのメトリック形式で出力を行う
例
social_twitter_retweets{queryString="#o11y2022",screenName="cloudnativedays",tweetId="1477776728152240129",} 4.0
social_twitter_retweets{queryString="#o11y2022",screenName="cloudnativedays",tweetId="1476023933744910340",} 6.0
social_twitter_sentiment{queryString="#o11y2022",screenName="cloudnativedays",tweetId="1477776728152240129",} 0.0
social_twitter_sentiment{queryString="#o11y2022",screenName="cloudnativedays",tweetId="1476023933744910340",} 1.0
social_twitter_favorites{queryString="#o11y2022",screenName="cloudnativedays",tweetId="1477776728152240129",} 5.0
social_twitter_favorites{queryString="#o11y2022",screenName="cloudnativedays",tweetId="1476023933744910340",} 9.0
© 2022 IBM Corporation
とりあえずダッシュボードを作ってみた
12
© 2022 IBM Corporation
各パネルの機能説明
13
Positive スコアの最大値 Positive スコアの最低値 RTの最大値 いいねの最大値
スコアの時間ごとの平均値推移 スコアの時間ごとの平均値推移 RTの時間ごとの平均値推移 いいねの時間ごとの平均値推移
各パラメータのヒートマップ
各パラメータのランキング
誰のどのTweetがスコア、RT、いいねが高かったか
© 2022 IBM Corporation
ここで黒沢に電流走る
14
Prometheus + Grafana は
PromQLを使いこなすことが全てである
© 2022 IBM Corporation
PromQL
15
ü PromQLについて
• Prometheus Query Languageの略
• その名の通りPrometheusの独自クエリ
• ブラウザ上で簡単に投げて値を確認できる
• SQLでは冗長になるメトリクスを簡単に記述可能
• 数式で入力すれば欲しいデータがすぐ手に入る
例:メモリの使用率
1- (node_memory_MemFree_bytes / node_memory_MemTotal_bytes)
この数式を考えるのが全てである
(数式を思いつくのが全て)
© 2022 IBM Corporation
メトリクスとラベル
16
PrometheusはラベルとメトリクスをKeyにして値を引いてくる
node_cpu_seconds_total {instance=“localhost:9100“} 0.9
メトリクス名 ラベル
Key Value
ü 上記例はCPUの利用時間を取得するnode_cpu_seconds_totalの例
ü 実際にはrate (node_cpu_seconds_total[5m])のような形でPromQLクエリを実行して値を取得
※ node_cpu_seconds_total で絞り込みをかけるときには
instanceラベル以外にもCPU番号ラベル、CPUのモード(idleなど)を表すラベルも使う
© 2022 IBM Corporation
Grafana UI はPromQLが全てであると思った理由
17
どのようなものを図にしたいか
例:CPU Busyの値を下記のような形で知りたい場合のNode Exporterの実装
各CPUの使用時間を表すPromQLであるnode_cpu_seconds_totalがあるのでそれを使う
言葉でCPUコアNの使用率の式は
コアNの総使用時間 コアNのidle時間
コアNの総使用時間
で表現され、
これを合計してコア数で割るとCPU Busyの平均値が出る
これをPromQLで表現する場合は以下の形となる。時間の代わりにcount関数を使用
(((count(count(node_cpu_seconds_total{instance="$node",job="$job"})by(cpu)))
- avg(sum by (mode)(rate(node_cpu_seconds_total
{mode='idle',instance="$node",job="$job"}[$__rate_interval])))))
/ count(count(node_cpu_seconds_total{instance="$node",job="$job"}) by (cpu))* 100
© 2022 IBM Corporation
現在を知りたいか、
過去からの推移を知りたいかで見た目は選ぶ
18
現在の値を知りたい 過去からの推移を知りたい
平均値を時間ごとにしりたいのでGraphを使う
各値の個数が知りたいのでHeatmapを使う
今やばいものランキングを知りたいのでGraphを使う
今の状態がやばいのか知りたいのでStatやGuageを使う
© 2022 IBM Corporation
他使えそうなパネルについて
19
GEO Map
PrometheusではなくDBから情報を引っ張ってくる時に使えそう
Prometheusで引っ張ると後述の問題が出そう。
使い方にクセがありそうなので、要確認
Graphノード(beta)
各ノード間が別のどのノードと通信をしているのか可視化できる。
vRNIにも同じ機能あった記憶があるが、
あちらはパスの可視化がより深い。
(どのポートでどれぐらいの量を通信しているのか可視化可能)
GraphノードはまだBetaなので機能開発に期待
https://grafana.com/docs/grafana/v9.0/visualizations/node-graph/
© 2022 IBM Corporation
ここで問題点
20
検索にひっかかりやすいワード(例えば “DX” )を入力し、
なおかつ時間レンジを広く取るとPrometheusが落ちる
Prometheusのログを見ると
runtime: out of memory:
cannot allocate 4194304-byte block
(2422571008 in use)
fatal error: out of memory
メモリ不足になっとるやんけ!!!!
48GBメモリ積んだ仮想マシンなのに!!
おそらくTwitter IDや、Usernameなど固有のラベルがあるのが問題
あとはTwitterを一度に100件検索してるので一気に情報が引っ張られるため?
(Prometheusはラベルの種類が増えるとストレージやメモリを食うらしい)
これは今後改善の余地あり。うまくPrometheus形式の形に出力してあげないとまともに見れなくなります。
© 2022 IBM Corporation
今後やりたいこと
21
先を読む
O11yの実現
落ちないクエリの実装 ログの可視化
Prometheusが不得意な部分を
コードでカバーする
メトリクスとアラートを駆使し
て先の予測をグラフで立てる
Grafana Lokiを試す
© 2022 IBM Corporation
IBM Cloud Pak for Watson AIOps は、AIを活⽤して、システム環境全体でデータを解析することで、IT運⽤データのサイロを
解消することができます。
IBM Cloud Pak for Watson AIOps
モニタリング
チケット・データ
(例: ServiceNow ITSM)
メトリックと
イベント
APM トポロジー トレース
(例: ServiceNow ITOM)
ログ・データ
不具合と DevOps
ツールチェーンのデータ
⾮構造化
構造化
従来の⽅法では、
各データ・サイロ内でしか
AIと機械学習を活⽤できません。
説明可能なAIで
⾃動化
収集
検知
実⾏
決定
データサイロを超えて
あらゆるデータタイプから
予測とアドバイス
AIの洞察
Watson AIOps がもたらす決定的な
違いはAIと機械学習を使⽤して、
多様なデータソース にわたって
異常を検出・推論できることです。
データ・サイロを解消することで、
Watson AIOps は隠れた問題を
明らかにしていきます。
23

More Related Content

PDF
デザイナーとしてのHTML5への向き合い方 | HTML5 Conference MIYAZAKI
Hideki Akiba
 
PDF
HTML5な今日この頃に贈る、Webデザイナーこれからの生きる道
Hideki Akiba
 
PDF
プロダクト開発を支えるデータ分析の紹介とエンジニアとしてのPdM業への染み出し方
yuta341
 
PDF
プロダクト開発を支えるデータ分析の紹介とエンジニアとしてのPdM業への染み出し方
yuta341
 
PDF
第79回 Machine Learning 15minutes ! 生成AIをエンタープライズで活用するWatsonx.aiの紹介
Tsuyoshi Hirayama
 
PDF
チャットボットの自然言語処理
Yoshitaka Seo
 
PDF
Bot Framework 最新情報 2018
Yoshitaka Seo
 
PPTX
非エンジニアに人工知能に 興味を持ってもらう話
Satoru Mikami
 
デザイナーとしてのHTML5への向き合い方 | HTML5 Conference MIYAZAKI
Hideki Akiba
 
HTML5な今日この頃に贈る、Webデザイナーこれからの生きる道
Hideki Akiba
 
プロダクト開発を支えるデータ分析の紹介とエンジニアとしてのPdM業への染み出し方
yuta341
 
プロダクト開発を支えるデータ分析の紹介とエンジニアとしてのPdM業への染み出し方
yuta341
 
第79回 Machine Learning 15minutes ! 生成AIをエンタープライズで活用するWatsonx.aiの紹介
Tsuyoshi Hirayama
 
チャットボットの自然言語処理
Yoshitaka Seo
 
Bot Framework 最新情報 2018
Yoshitaka Seo
 
非エンジニアに人工知能に 興味を持ってもらう話
Satoru Mikami
 

Similar to TUNA_con_kurosaway.pdf (20)

PDF
非エンジニア系CEOのためのエンジニアの採用&マネジメントの話
Masahiro Morita
 
PDF
RTC2023_ChatGPT_YukiTsukamae.pdf
hossenkamal2
 
PPTX
RTC2023_ChatGPT_YukiTsukamae.pptx
hossenkamal2
 
PPTX
ゼロから深層学習を学ぶ方法 - CMS大阪夏祭り2017
Tomo Masuda
 
PDF
Jetson TX2での顔認識+Annotation用UIの実装
Akihiro ITO
 
PPTX
javascriptの基礎
Masayuki Abe
 
PDF
Unityでつくるデジタルサイネージ
Nohina Hidenari
 
PDF
21-11-17 東大工学部 産業総論 問題把握・解決力を鍛え、将来を自分の手でつかむには?
ブレークスルーパートナーズ 赤羽雄二
 
PDF
アプリの「無事故リリース」を目指して~品質管理部によるSmartBeat活用事例~
CYBIRD Co.,Ltd.
 
PDF
JAWS-UG東京 - 2019-09-26 - Gateway祭
Yutaro Ono
 
PDF
クラッシュフィーバー開発の裏側
Tomotsune Murata
 
PPTX
人類kintoneマスター化計画
Cybozucommunity
 
PDF
BigQuery で 150万円 使ったときの話
itkr
 
PDF
JPC2018[D1]「信頼できるCloud」のために ― マイクロソフト法務部門からお伝えしたいこと
MPN Japan
 
PPTX
企業向けUXデザイン導入のポイント
Roy Kim
 
PPTX
Azure(クラウド)を使った堅牢なシステムを考える
Tsubasa Yoshino
 
PPTX
20180621_Node学園LT
Kahori Takeda
 
PDF
[G-Tech2015]インフラエンジニア、アプリ開発者集まれ!今注目のIBMのクラウド「SoftLayer」「Bluemix」とは? - 日本アイ・ビー...
Trainocate Japan, Ltd.
 
PDF
20150205 schoo Webディレクションに必要なスキルセットとマインドセット
Satoru MURAKOSHI
 
PPT
How are AsakusaSatellite growing with mzp
Ryo Suetsugu
 
非エンジニア系CEOのためのエンジニアの採用&マネジメントの話
Masahiro Morita
 
RTC2023_ChatGPT_YukiTsukamae.pdf
hossenkamal2
 
RTC2023_ChatGPT_YukiTsukamae.pptx
hossenkamal2
 
ゼロから深層学習を学ぶ方法 - CMS大阪夏祭り2017
Tomo Masuda
 
Jetson TX2での顔認識+Annotation用UIの実装
Akihiro ITO
 
javascriptの基礎
Masayuki Abe
 
Unityでつくるデジタルサイネージ
Nohina Hidenari
 
21-11-17 東大工学部 産業総論 問題把握・解決力を鍛え、将来を自分の手でつかむには?
ブレークスルーパートナーズ 赤羽雄二
 
アプリの「無事故リリース」を目指して~品質管理部によるSmartBeat活用事例~
CYBIRD Co.,Ltd.
 
JAWS-UG東京 - 2019-09-26 - Gateway祭
Yutaro Ono
 
クラッシュフィーバー開発の裏側
Tomotsune Murata
 
人類kintoneマスター化計画
Cybozucommunity
 
BigQuery で 150万円 使ったときの話
itkr
 
JPC2018[D1]「信頼できるCloud」のために ― マイクロソフト法務部門からお伝えしたいこと
MPN Japan
 
企業向けUXデザイン導入のポイント
Roy Kim
 
Azure(クラウド)を使った堅牢なシステムを考える
Tsubasa Yoshino
 
20180621_Node学園LT
Kahori Takeda
 
[G-Tech2015]インフラエンジニア、アプリ開発者集まれ!今注目のIBMのクラウド「SoftLayer」「Bluemix」とは? - 日本アイ・ビー...
Trainocate Japan, Ltd.
 
20150205 schoo Webディレクションに必要なスキルセットとマインドセット
Satoru MURAKOSHI
 
How are AsakusaSatellite growing with mzp
Ryo Suetsugu
 
Ad

Recently uploaded (10)

PDF
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
PDF
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
PDF
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 
PDF
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 
PDF
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
PPTX
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
PDF
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
PDF
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
 
PPTX
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
PDF
20250729_Devin-for-Enterprise
Masaki Yamakawa
 
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
 
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
20250729_Devin-for-Enterprise
Masaki Yamakawa
 
Ad

TUNA_con_kurosaway.pdf