情シス戦線異状アリ!?...

42
@Clorets8lack July Tech Festa 2016 情シス戦線異状アリ!? 自作のパケットレコーダーで 海外拠点のLANを自動監視してみた

Upload: cloretsblack

Post on 21-Apr-2017

1.719 views

Category:

Internet


2 download

TRANSCRIPT

@Clorets8lackJuly Tech Festa 2016

情シス戦線異状アリ!?

自作のパケットレコーダーで海外拠点のLANを自動監視してみた

自己紹介

@Clorets8lackSlideshare http://www.slideshare.net/cloretsblack

某ユーザー企業の国際インフラ担当

トラブル大好き、パケットキャプチャで白いご飯が3杯いける

製造から経営まで「やってみたスペシャル」挑戦中

今日の流れ

開発の背景

海外で発生する問題

対策と結果

失敗/工夫したところ

やってみた感想

まとめ

告知

開発の背景

情シスのお仕事

SupportSupport CheckCheck

システムの安定稼働

企業活動をITで効率化

セキュリティ

ルールの策定や運用

費用対効果の計測

海外の情シス

とにかく遠距離遅延と損失が国内とは桁違い

インドではRTT平均300ms台(東京-福岡25ms)

言語、文化、宗教の違いお互いに母国語でないケースも多い

文字コードや夏時間、断食休み等システムに関係する相違点も多い

現地従業員の考え方も日本とは異なる

日本との違い

現地の様々な事情回線品質

静電気、雷、停電対策

Ethernetスイッチが店で買えない

法律中国の通信規制

タイのサイバー法(HTTPプロキシログの保存義務)

従業員のプライバシー

海外で発生する問題

ITガバナンスとは

ITへの投資・効果・リスクを継続的に最適化する仕組み

ITをあるべき姿にし、維持することルールが守られていますか

問題に素早く対応できますか

外部業者をコントロールできていますか

ITガバナンスにまつわる現実

情報伝達コストが高いルールの徹底、指導等が実効性を持ちにくい

現地の習慣従業員はチャットしながら仕事をする(中国)

仕事の責任範囲の考え方(インド カースト制度)

日本のやり方を踏襲しにくい

ガバナンスを評価するのは日本人

どうするか

Give & Take社内ユーザーに恩を売っておくと、仕事がスムーズ

厳しい事を言う時、すぐに動いてほしい時、謝る時、恩の蓄積がモノを言う

貸し借りは世界共通概念何事もまずは信頼ありき

頼りにされる情シスを目指す

ここで問題です

情報システム部門が、顧客である社内ユーザーに最も感謝される場面は、次のうちどれ?

A. 障害を未然に防いだ時

B. 専門的な立場から適切な助言を与えた時

C. ユーザーの困りごとを迅速に解決した時

ここで問題です

情報システム部門が、顧客である社内ユーザーに最も感謝される場面は、次のうちどれ?

A. 障害を未然に防いだ時

B. 専門的な立場から適切な助言を与えた時

C. ユーザーの困りごとを迅速に解決した時

課題

日本から遠隔で、海外に恩を売れるレベルの精度と速度でトラブルシューティングしたい

(現地業者を凌駕するレベルが求められる)

対策と結果

問題解決プロセス

各プロセスの精度と速度を向上させることがポイント

迅速な問題解決のために

可視化

• パケットキャプチャによる無敵の常時監視

• 障害の事後でも確実にトラップ

• ルール違反の証拠を押さえる

自動化

• パケットの統計処理によるアノマリ解析

• 過去データと比較して特異な兆候を検知->警告

パケットキャプチャとは

ネットワークのI/Oを取ること

デバッグレベルの解析が可能 = 無敵

常時監視のイメージ後輩君

ぼく

後輩君

先輩、ハワイ拠点のLANなんですけど、いつもよりもUDP通信が多いです。ちょっと見てもらえませんか?

そっか? 月末だからじゃないの?

いや、曜日や時間帯を考慮した上で先月末、先々月末と比べましたが、明らかに異常値です。なにかおかしなことが起きているかもしれません

こんな頼りになる後輩が居たら、監視業務は

全て任せてハワイに飛ぶしかない!

開発しました(自宅で趣味的に)

Sonarman ソナーマンパケットキャプチャと自動ローテーションを行うアプ

ライアンス

ファンレス小型筐体

Web UIX64アーキテクチャの小型サーバ

別途、スイッチのポートミラーリング機能が必須

VM版も販売中

概要

パケットキャプチャに時系列や問題の有無などでインデックスをつけ、探しやすくする

海外4拠点に設置

SonarmanVMを現地のサーバに配置

キャプチャ取得/保存はサーバが処理

VMで監視、警告を行う

ミラーリング

cap

SonarmanVM

警告メール

異常

パケットキャプチャ

結果

発見した問題(一部)

BYOD端末の不具合

拠点間で発生する大容量通信による帯域枯渇

現地無線APの電波障害

Bittorrentユーザー

日次夜間処理バッチの不具合

WSUS設計の不備

トラブルシューティング能力が大幅に向上

失敗/工夫したところ

パケットデータの特徴

ネットワークのI/Oそのもの

環境によって全く異なるデータになる

前後の文脈によってデータの意味が変わってくる

エラー検知自体は容易だが、必ずしも異常を意味するとは限らない

データの蓄積

パケットキャプチャをいくつかのパターンでカウントし、データベースに値を格納

パターン数は70項目ほど過去10年間に発生した様々な障害から得た経験をパ

ターン抽出モジュールとして実装

(機械学習でいうところのFeature Engineering)

過去データとの比較

情シスは前例踏襲が大好き自社の過去データと比較してどうなのか

普段とは違う兆候をとらえて警告

異常値を統計処理によって判別するシェルスクリプトで外れ値の識別関数を作成

統計処理イメージ

TCPシーケンスNo異常数の散布図

出現頻度の低い特異値に着目して警告

母数となるデータの抽出条件を調整することで精度を高められる

自動警告機能

シグネチャ(ルール)ベースの異常トラップ

移動平均と標準偏差による統計的な異常検知コンピュータに怪しい箇所を教えてもらう

その環境で過去に例の無い、特徴的なトラフィックを検知できる

予め設定された特徴について、どれだけ平均値から逸脱しているかで判断

↓警告

特徴

•身長•武器•トゲ•マスク•髪型•服装•化粧

失敗① 処理速度問題

サイズが巨大すぎる(一日辺り10G程度発生)

キャプチャのパターン検索に時間がかかる

ダウンロードが遅い (距離や回線品質)

解決策

C言語でDPIを実装し、高速に処理

キャプチャのダウンロード頻度を減らす工夫を施す

計算処理などでシェル芸を駆使

今後もチューニングに励む予定

ダッシュボード

どういう情報を見たいか?という観点からダッシュボードを設計

不必要な情報は画面に表示させない

2次調査くらいまではキャプチャを見ずにやりたい

シャバい問題発生時にパケットのサンプルをチョイ見せしてくれるダッシュボードを作る

失敗② お前誰よ?問題

不明なグローバルIPとの大容量通信

このMACと通信先IP誰よ?結局、問題把握後の調査に時間がかかる

Whoisでは正しい情報が取得できない

現地従業員への注意喚起はバイネームまで特定してから

考え方の違いが大きな摩擦を生むことも

解決策

IP-> DNS解決履歴DBMAC->POP通信のUSERパラメータとMAC対

応DB

BYOD端末のMAC以外は追跡可能

障害対応効率が向上

ただし多少処理速度が犠牲になった

失敗③ 仕事が増える問題

今まで見えなかった問題が可視化されるため一時的に仕事が増える。

致命的な障害を除き、マイペースで検討中

未解決(笑)

やってみた感想

ハンパない安心感

問題発生時に必ずパケットキャプチャがあるという事実は非常に心が休まる

時差のきつい地域のサポートや夜間処理などで大活躍

正常系と異常系を見比べる簡単な間違い探しで問題の原因究明が出来る

自分が動くと周りも変わる

切り分けの為にインフラが先回りした結果調査プロセスの初動が早くなる

挙動の分析を通してデバッグに貢献

アプリチームとの関係が改善

エビデンスベースの対応

「分からないけどとりあえず○○してみた」系の無根拠トライ&エラーが無くなる

現地業者とのやり取りが効率化

• 問題の本質や状況を伝達しやすい

• 修正の受け入れ基準が明確

英文メールの文章が減る

• ミスコミュニケーションも減る

まとめ

異文化コミュニケーションのコツは信頼

信頼はギブアンドテイクで築く

可視化レベルを上げることで、遠隔サポートの品質が向上した

挑戦してよかった

告知

本日ご紹介したソナーマンVMの全機能が無償で使える開発者ライセンスを特別にご提供させていただきます

懇親会等で講演者本人に直接お声がけいただくか、Twitterでメッセージをお寄せください。

ご感想、こんな所で使ってみたい等のアイデアも募集中です!