ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
TRANSCRIPT
![Page 1: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/1.jpg)
P
オペレーション自動化と監視の取り組み
ヤフー株式会社 サイトオペレーション本部インフラ技術3部安藤 格也
![Page 2: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/2.jpg)
P自己紹介
安藤格也(あんどうかくや)
servak
2011年入社
決済チームで開発、運用
2015/10にNWチーム(現職)に異動
2
![Page 3: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/3.jpg)
P目次
オペレーション自動化
ネットワーク監視
3
![Page 4: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/4.jpg)
PP
オペレーション自動化
4
![Page 5: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/5.jpg)
P普段のオペレーション 5
利用者 NW担当者
専用ネットワークが欲しい
ネットワークを作ります
機器に応じた設定を人が投入
NW機器
![Page 6: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/6.jpg)
P問題点について
人による作業が多いため、ヒューマンエラーが発生してしまう
日常的ではない作業ではなおさら間違えやすい
ヒューマンエラーについて再発防止が難しい
オペレーションに時間がかかってしまい、多くの依頼をこなせない
Etc...
6
自動化を進めていこう
![Page 7: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/7.jpg)
P自動化の方針について
NW機器とのやりとりはCLI(SSH, TELNET), SNMP
CLIだとプログラムで扱いやすい形(JSON, XMLなど)になっていない
SNMPだと取得できる情報が不十分になってしまう
新しい機器、バージョンだとWebAPI、Netconfに対応しているもの
もあるが、古い機器でのオペレーションがまだ圧倒的に多い
7
極力構造化されたAPIを利用出来ないところは努力!
![Page 8: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/8.jpg)
P自動化の方針について
マルチベンダーを利用するがゆえの問題点
NW機器ベンダーによって使いかたが大きく違う。
同じベンダーでも複数のOSがあり、情報取得方法が違う。
8
抽象化を進める
自動化へ
![Page 9: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/9.jpg)
POS毎のアクセス方法を整理 9
OS API
Cisco IOS CLI
Cisco NXOS Netconf
Juniper JUNOS Netconf
Arista EOS EAPI
Brocade NetIron CLI
![Page 10: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/10.jpg)
POS毎のアクセス方法を整理 10
![Page 11: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/11.jpg)
Pしかし多くの問題が。。。 11
やっていくうちに出てくる問題たち(考慮漏れ)
NETCONFで取れるデータ != 構造化されたデータ
運用している機器すべてでWebAPIが利用できるわけでなかった
運用している機器すべてのバージョンを上げることが難しい
などなど ...
取得方法をCLIベースに変更
![Page 12: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/12.jpg)
P次のステップへ 12
ログイン時にOSを意識する必要性は無くなった
コマンド、コマンド結果は未だOSを意識する必要が残った
=> 抽象化は不完全
![Page 13: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/13.jpg)
P共通モデルの定義
取得したい内容を共通モデル化
コマンド結果の定義化
コアとなる考えのみ定義
すべてのOSで扱えるもの
13
![Page 14: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/14.jpg)
P共通関数の定義 14
共通で利用する関数を用意
共通モデルを取得できる関数
コマンドでのOSの意識を消す
![Page 15: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/15.jpg)
Pコマンド結果のパースが大変。。。 15
欲しい情報をコマンドから取得するのがとても大変。
既存のOSSを参考にすることに!
![Page 16: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/16.jpg)
Pgoogle/textfsm 16
CLIの結果を解析するライブラリ
テンプレート(独自DSL)を記載すると簡単にCLIをパース出来る
多くのテンプレート実装が用意されている
Networktocode Orgが多くのテンプレートを用意してくれてる
https://github.com/networktocode/ntc-templates/tree/master/templates
OSSとして公開されている
https://github.com/google/textfsm
![Page 17: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/17.jpg)
Pgoogle/textfsm利用のコード例 17
![Page 18: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/18.jpg)
Pgoogle/textfsmコード例 18
![Page 19: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/19.jpg)
P抽象化ひとまず完 19
IOS EOS
同じ方法で、色んなOSから情報が取得できるように!
![Page 20: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/20.jpg)
Pオペレーション自動化へ
fabric(python)ベースでオペレーションを関数化(タスク化)
20
VLAN3897をTrunkする作業
既にVLAN3897は存在している
Po1 Po1
Po205Po205
Po205 Po205まだVLAN3897設定して
ない
mnx04.*****.ynwp snx04.*****.ynwp
es-c1e-b007-1 es-c1e-b007-2
![Page 21: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/21.jpg)
Pメンテナンスの自動化
メンテナンスで行う内容
トラフィック寄せ(OSPF, VRRP)
インターフェースのダウンアップ
YAMLファイルに上記の内容を記載することでその状態にしてくれ
るコマンドを作成
設定を流すだけでなく、Before, Afterの状態を確認する
YAMLファイルも機器から情報を取得し自動生成
21
![Page 22: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/22.jpg)
Pメンテナンスの自動化
行いたいことを記載することでOSを意識する必要なく、インター
フェースのup/downを実施することが出来るように!
22
![Page 23: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/23.jpg)
Pまとめ
抽象化レイヤーの作成を行ったため、オペレーション自動化する
際のコーディングがとても楽に!
抽象化レイヤーのコードカバレッジが90%以上になるほどテストを
しっかりしたことも有り、バグがとても少なくなった
ベンダー毎に取り扱っている情報が違うため、すべてに置いて共
通化は出来なかったが重要概念はしっかり共通化できた
23
![Page 24: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/24.jpg)
PP
ネットワーク監視
24
![Page 25: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/25.jpg)
Pネットワーク監視の見直し 25
PING監視
smokeping
リソース監視
MRTG
問題点
情報が散らばってしまう
ツールがバラける(確認箇所の増加)
情報の詳細度が低い
UIがイケてない
![Page 26: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/26.jpg)
Pネットワーク監視でやったこと
PING監視
パケットが落ちていないこと
複数拠点から
NW機器のリソース監視
トラフィック使用率
トラフィックが溢れていないこと
SFP故障によるパケットのドロップ
監視のHA化
26
![Page 27: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/27.jpg)
P利用したツール Prometheus
Alertmanager
Grafana
27
![Page 28: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/28.jpg)
PPrometheusとは Pull型(HTTP)のメトリクス監視ツール
Inspired by Google’s Borgmon
Alert管理機能を標準装備
Alertを発生させることが出来るし、管理ができる
多彩なService Discoveryに対応
OpenStack, Kubernetes, StaticFile ...
監視対象を自動的に見つけてくれる
公式で様々なメトリクス取得方法を提供
snmp_exporter, blackbox_exporter, node_exporter ...
28
![Page 29: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/29.jpg)
PExporterについて
snmp_exporter
SNMPによる情報取得が出来る
node_exporter
*NIXのメトリクスを集めることが出来る
blackbox_exporter
外部監視をすることが出来る(pingなど)
29
Prometheus snmp_exporter
定期的に監視(HTTP) NW機器からトラフィック情報を取得(SNMP)
例: snmp_exporter
![Page 30: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/30.jpg)
P
Prometheus
Prometheusの集約について(Federation) 30
Prometheus同士の集約・監視が可能
Prometheus
Prometheus
snmp_exporter
snmp_exporter
blackbox_exporter
![Page 31: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/31.jpg)
P
Prometheus
Alertmanagerについて 31
• Prometheusから来たアラートをルールに応じてグループ化、通知先を変更可能• アラートの黙認など柔軟に設定が出来る
Alertmanager
Chatツール
メール送信
黙認
アラート
![Page 32: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/32.jpg)
Pネットワーク監視でやったこと PING監視
パケットが落ちていないこと
複数拠点から
NW機器のリソース監視
トラフィック使用率
トラフィックが溢れていないこと
SFP故障によるパケットのドロップ
監視のHA化
32
![Page 33: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/33.jpg)
PPING監視について 33
BlackboxExporterを利用
ICMP監視
Aggregateも2台構成
![Page 34: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/34.jpg)
PPING監視について 34
パケットが落ちていないこと
複数拠点(4箇所)すべてでPING失敗であったのが30s継続した場合、ア
ラートを発生させる監視設定を追加
![Page 35: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/35.jpg)
PPING監視について 35
![Page 36: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/36.jpg)
PPING監視について 36
![Page 37: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/37.jpg)
Pネットワーク監視でやったこと PING監視
パケットが落ちていないこと
複数拠点から
NW機器のリソース監視
トラフィック使用率
トラフィックが溢れていないこと
SFP故障によるパケットのドロップ
監視のHA化
37
![Page 38: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/38.jpg)
Pリソース監視について 38
SnmpExporterを利用
監視・可視化のため16指標
の情報を取得
情報量が多いため、短期用
のPrometheusと長期の
Prometheusを設置
![Page 39: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/39.jpg)
Pリソース監視について 39
![Page 40: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/40.jpg)
Pリソース監視について 40
以下は定常的にアラート化していないが、いつでも確認できる状態に
トラフィック使用率
![Page 41: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/41.jpg)
Pリソース監視について 41
トラフィック溢れによるパケットのドロップ
マイクロバーストや上限を超えるトラフィックがきたときに、
ifDiscardsが上昇するためそちらに閾値を設けアラートを実施
![Page 42: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/42.jpg)
Pリソース監視について 42
SFP故障によるパケットのドロップ
パケットが壊れている時など、ifErrorsが上昇するためそちらに閾値
を設けアラートを実施
![Page 43: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/43.jpg)
Pネットワーク監視でやったこと PING監視
パケットが落ちていないこと
複数拠点から
NW機器のリソース監視
トラフィック使用率
トラフィックが溢れていないこと
SFP故障によるパケットのドロップ
監視のHA化
43
![Page 44: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/44.jpg)
PHA化について 44
AlertManagerをHA構成で稼働
アラートは2つのAlertManagerに連携されるが実際に通知される
のは1件のみになる。
![Page 45: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/45.jpg)
Pアラート通知内容 45
![Page 46: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/46.jpg)
Pまとめ 情報を集約することで、適切なアラートだけ上げることが出来るようになった。
アラートに応じて、条件を細かく指定できることが良かった。
Alertmanagerによりアラートをグループ化することが出来るため、一気にア
ラートが来たときもグループでまとまりわかりやすくなった。
46
![Page 47: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/47.jpg)
P今後について 監視ツールとしての信頼性を高めていく
まだsmokeping, MRTGを利用して監視通知を上げている状態でもあるため、
それを完全に切り替えていきたい。
長期データの保持について考えていく
47
![Page 48: ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy](https://reader034.vdocuments.site/reader034/viewer/2022050614/5a6477b67f8b9afc4d8b483d/html5/thumbnails/48.jpg)
P
ご清聴ありがとうございました
48