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
情報集約×機械学習で目指す「次」がわかる運用 / OSC2019_Tokyo_Enterprise
Search
TakuyaNaito
October 10, 2019
Technology
290
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
情報集約×機械学習で目指す「次」がわかる運用 / OSC2019_Tokyo_Enterprise
TakuyaNaito
October 10, 2019
Other Decks in Technology
See All in Technology
データエンジニアリングワークショップ:Auto LoaderとSparkで学ぶデータパイプライン構築
databricksjapan
PRO
0
180
少人数データチームのDevin活用実践事例
runandy16
2
440
振り返りこそエンジニアの本領
negima
0
310
20260906 「AWS運用入門」著者が教える、運用業務への生成AI活用入門
masaruogura
0
240
V8コントリビュート超入門
riyaamemiya
0
140
Jetpack Compose で挑む新聞紙面UI ─ 複合ジェスチャー・ポリゴン記事領域・適応的ページ構成という3つの壁/droidkaigi2026
nikkei_engineer_recruiting
0
220
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
3
370
PfEingのアプローチで働こう
rindrics
0
180
動画配信アプリでの Engage SDK 導入 — TVer Android が Play ストアにコンテンツを届けるまで
techtver
PRO
0
120
module Synths; end
asonas
1
120
『止めない』を設計する — 制約の中で、事業の根幹を支える判断
hiroyaterui
0
200
ペアプロの価値はコードを書くことだけじゃない
codmoninc
PRO
0
110
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
We Are The Robots
honzajavorek
0
340
Why Our Code Smells
bkeepers
PRO
340
58k
RailsConf 2023
tenderlove
30
1.5k
The untapped power of vector embeddings
frankvandijk
2
1.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
770
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Raft: Consensus for Rubyists
vanstee
141
7.7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
530
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Transcript
情報集約 x 機械学習で目指す 「次」がわかる運用 TIS株式会社 内藤 拓也 2019/10/10 オープンソースカンファレンス 2019
.Enterprise
自己紹介 内藤 拓也 TIS株式会社 IT基盤エンジニアリング第1部 氏名: 所属: 業務: ~5月 インフラ構築・移行・保守運用等
5月~ 運用レコメンドプラットフォーム開発 Python, React , Docker, 等 技術要素:
1. 保守運用作業をもっとうまくやるには 2. 運用レコメンドプラットフォーム紹介 3. まとめとお願い アジェンダ
保守運用作業もっとうまくやるには (自動化、効率化、脱属人化…)
- アップデート - 設定変更 - 障害調査・対応 … - ツールの導入 -
スクリプト、 IaC - ドキュメント化 (マニュアル、ノウハウ) 定常作業 - 起動・停止 - バックアップ - 監視検知対応 … 非定常作業 改善策 未知の事象にどう対応? ? 保守運用作業をもっとうまくやるには 既知 未知 保守運用作業の種類と改善策 改善策
保守運用作業をもっとうまくやるには 障害調査・対応を例に考えてみる 障害特定 - リソース確認 - プロセス確認 - ログ確認 -
操作履歴確認 … 影響調査 - 障害範囲 - 業務影響 … 対応方法検討 - 暫定 - 恒久 障害調査・対応が出来る人 システムの理解 障害対応の経験・スキル システム情報を 適切に引き出せる 障害と関連しそうな箇所を 特定し次の行動を考えられる
保守運用作業をもっとうまくやるには - システム構成 - ログ - リソース状態 - 設定ファイル -
変更履歴 … 原因の検討、確認 ログ確認 Error1 Warning1 Warning2 Info … リソース状態の確認 - 疎通は可能か - 誤った操作はないか - 設定に問題はないか … 障害調査・対応を例に考えてみる システム情報 次の行動 これらをうまく組み合わせて考えられる人 = 未知の事象にも対応できる 不審 異常…? 問題 なし
保守運用作業をもっとうまくやるには - システム構成 - ログ - リソース状態 - 設定ファイル -
変更履歴 … 原因の検討、確認 ログ確認 Error1 Warning1 Warning2 Info … リソース状態の確認 - 疎通は可能か - 誤った操作はないか - 設定に問題はないか … 障害調査・対応を例に考えてみる これらをうまく組み合わせて提供できるツール = 未知の事象にも対応できる 不審 異常…? 問題 なし システム情報 情報の収集・整理 情報集約 情報を分析→異常特定・対応検討 機械学習 次の行動
保守運用作業をもっとうまくやるには - システム構成 - ログ - リソース状態 - 設定ファイル -
変更履歴 … 原因の検討、確認 ログ確認 Error1 Warning1 Warning2 Info … リソース状態の確認 - 疎通は可能か - 誤った操作はないか - 設定に問題はないか … 障害調査・対応を例に考えてみる これらをうまく組み合わせて提供できるツール = 運用レコメンドプラットフォーム 不審 異常…? 問題 なし システム情報 情報の収集・整理 情報集約 情報を分析→異常特定・対応検討 機械学習 次の行動
2. 運用レコメンドプラットフォーム紹介
運用レコメンドプラットフォーム概要 OSSで構成。コンテナ上で稼働し、APIを介して システムの情報収集、分析を行うマイクロサービス(開発中) Backend Frontend Data Analytics ・InfluxDB Database ・Neo4j
・Docker ・Kubernetes Infrastructure Other ・GitLab CE ・Fluentd ・Go ・Python ・Flask ・Falcon ・Kong ・JavaScript ・React ・Python ・scikit-learn ・MLflow
Core-api 構成情報 Neo4j ダッシュ ボード 参照 データ システム 時系列データ InfluxDB
運用者 コレクタ … Zabbix Git + rsync Fluentd 設定ファイル GitLab CE GW Kong 機械学習 時系列データ異常検出 (単体・複数) ログキーワード分析 運用作業レコメンド … 運用レコメンドプラットフォーム概要 API実行 蓄積 分析 設定ファイル 構成情報 リソース 監視データ ログ フィード バック 運用レコメンドプラットフォーム
ダッシュ ボード 参照 運用者 機械学習 時系列データ異常検出 (単体・複数) ログキーワード分析 運用作業レコメンド 運用レコメンドプラットフォーム概要(情報集約)
分析 フィード バック システム コレクタ … Zabbix Git + rsync Fluentd … 設定ファイル 構成情報 リソース 監視データ ログ Core-api API実行 構成情報 Neo4j データ 時系列データ InfluxDB 設定ファイル GitLab CE 蓄積 運用レコメンドプラットフォーム 収集したいシステム情報に 対応するコレクタを導入 コレクタからAPIを介してデータを収集・蓄積 GW Kong
システム コレクタ … Zabbix Git + rsync Fluentd … 設定ファイル
構成情報 リソース 監視データ ログ 機械学習 時系列データ異常検出 (単体・複数) ログキーワード分析 運用作業レコメンド 運用レコメンドプラットフォーム概要(情報集約) 分析 Core-api API実行 構成情報 Neo4j データ 時系列データ InfluxDB 設定ファイル GitLab CE 蓄積 運用レコメンドプラットフォーム ダッシュ ボード 参照 運用者 ダッシュボードを通して 運用者が必要な情報を提供 GW Kong
ダッシュボード (イベントデータ) 運用レコメンドプラットフォーム機能(情報集約) ヒートマップによる 異常イベント可視化 イベントリストの表示
運用レコメンドプラットフォーム機能(情報集約) ダッシュボード (構成情報) 構成情報の検索 リスト表示 グラフ表示
運用レコメンドプラットフォーム機能(情報集約) ダッシュボード (監視データ) 構成情報
運用レコメンドプラットフォーム機能(情報集約) ダッシュボード (設定ファイル) 構成情報
運用レコメンドプラットフォーム機能(情報集約) 情報比較およびレポート機能 保守運用作業における「次」を考えられる情報を提供
Core-api 構成情報 Neo4j ダッシュ ボード 参照 データ システム 時系列データ InfluxDB
運用者 コレクタ … Zabbix Git + rsync Fluentd 設定ファイル GitLab CE GW Kong 機械学習 時系列データ異常検出 (単体・複数) ログキーワード分析 運用作業レコメンド … 運用レコメンドプラットフォーム概要 API実行 蓄積 分析 設定ファイル 構成情報 リソース 監視データ ログ フィード バック 運用レコメンドプラットフォーム
システム コレクタ … Zabbix Git + rsync Fluentd … 設定ファイル
構成情報 リソース 監視データ ログ 運用レコメンドプラットフォーム概要(機械学習) Core-api API実行 蓄積 運用レコメンドプラットフォーム ダッシュ ボード 参照 運用者 フィード バック 機械学習 時系列データ異常検出 (単体・複数) ログキーワード分析 運用作業レコメンド 分析 分析結果の参照 分析に関するフィードバック 構成情報 Neo4j データ 時系列データ InfluxDB 設定ファイル GitLab CE 蓄積されたデータをもとに分析 運用者からのフィードバックを受けて精度向上 GW Kong
正常パターン 数値データ 収集した運用情報から正常パターンを作成。 正常パターンから外れた値を異常として検出。 (瞬間的な外れ値は検出しない) 運用レコメンドプラットフォーム機能(機械学習) 時系列データ異常検出(単体) 瞬間的な外れ値≠異常 異常
運用レコメンドプラットフォーム機能(機械学習) 収集した運用情報から正常パターンを作成。 正常パターンから外れた値を異常として検出。 (瞬間的な外れ値は検出しない) 時系列データ異常検出(単体) 正常パターン 数値データ フィードバックによる正常パターン更新 異常検出 異常検出
フィード バック
収集した運用情報より複数要素間の相関状態を作成 相関が崩れることを異常として検知 通信 例:ネットワークのI/O 運用レコメンドプラットフォーム機能(機械学習) 時系列データ異常検出(複数) サーバAの通信量が増加すれば サーバBの通信量も増加する = 正の相関
正常時 サーバA サーバB サーバA Network output サーバB Network input
収集した運用情報より複数要素間の相関状態を作成 相関が崩れることを異常として検知 サーバA サーバB 通信 運用レコメンドプラットフォーム機能(機械学習) 時系列データ異常検出(複数) 異常 正常時 異常時
サーバAの通信量が増加したのに サーバBの通信量が低下する = 相関の崩れ 例:ネットワークのI/O サーバA Network output サーバB Network input
正常時 異常検知 運用レコメンドプラットフォーム機能(機械学習) 時系列データ異常検出(複数) 収集した運用情報より複数要素間の相関状態を作成 相関が崩れることを異常として検知 相関パターン 色の濃淡=相関の大きさ 赤枠の部分の相関が変化
運用レコメンドプラットフォーム機能(機械学習) ログキーワード分析 ログに含まれるキーワードを分析 異常時に頻出しているような不審なキーワードを検出し、 運用者に提示 通知 キーワード一覧 不審と思われる キーワード
運用レコメンドプラットフォーム機能(機械学習) 運用作業レコメンド 過去の障害情報や対応履歴などをもとに 次に実施したほうが良いと思われる行動を提示
まとめ 運用保守作業をより改善するために 情報集約を行い、機械学習により分析することで異常状態を検出、 運用作業をレコメンドするプラットフォームを開発中 お願い - 試験導入 - 改善のご意見 システムの情報や監視情報を有効に活用して運用に役立てたい方
(例:単なる閾値ベースの監視では気付けない異常状態を早期検出したい等) - 開発のご協力 まとめ・お願い こんな機能やこんな画面があったらより運用に役立つとか使ってみたい等 問い合わせ宛先
[email protected]