Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Datadog_で作る_NW_監視のメリット_デメリット.pdf / Datadog_NW_Monitoring

komeinw
June 28, 2019

Datadog_で作る_NW_監視のメリット_デメリット.pdf / Datadog_NW_Monitoring

komeinw

June 28, 2019
Tweet

More Decks by komeinw

Other Decks in Technology

Transcript

  1. Datadog で作る NW 監視の
    メリット/デメリット
    ネットワークプログラマビリティ勉強会 #17
    サイバーエージェント 山本 孔明
    @komeinw

    View Slide

  2. ❏ 山本 孔明@komeinw
    アドテク本部のインフラ組織(SIA)所属のネットワークエン
    ジニア 兼 責任者
    主な業務
    ● オンプレとパブリックのネットワーク(物理/仮想)
    ● OpenStack / CircleCI Enterprise
    ● Aritifactory ...etc
    ● チームマネジメント
    自己紹介

    View Slide

  3. 1998年の創業以来、インターネットを軸に事業を展開し
    現在では代表的なサービスである「Ameba」をはじめ、
    スマートフォン向けに多数のコミュニティサービスやゲームを
    提供しています。
    and
    m
    ore
    !!
    サイバーエージェントについて

    View Slide

  4. サイバーエージェントの事業内容

    View Slide

  5. アドテクスタジオについて
    インターネット広告において、広告配信の最適化やメディアの収益最大化という観点から
    アドテクノロジーの重要度が高まっています。
    サイバーエージェントではアドテクノロジー分野における
    これらのサービスについて各子会社を通じ開発しておりましたが、
    各サービスの開発部門を横断して組織化する専門部署として
    アドテク本部・アドテクスタジオが設立されました。

    View Slide

  6. https://adtech.cyberagent.io/aboutus/

    View Slide

  7. サイバーエージェントのアドテク
    詳細は「日本一やさしいアドテク教室」を御覧ください!
    https://adtech.cyberagent.io/pr/archives/3601

    View Slide

  8. まずは NW 監視について整理

    View Slide

  9. ネットワークの監視
    ● 死活監視
    ○ Management IP への疎通可否
    ● 性能監視
    ○ トラフィック量
    ○ CPUや電源などハードウェアの状況
    ● アラート受信
    ○ Active / Standby が入れ替わった
    ○ リンクがダウンした
    ● ログ監視
    ● 外形監視
    ○ BGP ハイジャックの検知
    ○ グローバルからの疎通性と遅延

    View Slide

  10. ネットワークの監視
    ● 死活監視
    ○ Management IP への疎通可否
    ● 性能監視
    ○ トラフィック量
    ○ CPUや電源などハードウェアの状況
    ● アラート受信
    ○ Active / Standby が入れ替わった
    ○ リンクがダウンした
    ● ログ監視
    ● 外形監視
    ○ BGP ハイジャックの検知
    ○ グローバルからの疎通性と遅延
    Ping
    SNMP
    SNMP Trap
    Syslog
    ping / traceroute

    View Slide

  11. ネットワークの監視
    ● 死活監視
    ○ Management IP への疎通可否
    ● 性能監視
    ○ トラフィック量
    ○ CPUや電源などハードウェアの状況
    ● アラート受信
    ○ Active / Standby が入れ替わった
    ○ リンクがダウンした
    ● ログ監視
    ● 外形監視
    ○ BGP ハイジャックの検知
    ○ グローバルからの疎通性と遅延
    Ping
    SNMP
    SNMP Trap
    Syslog
    ping / traceroute
    今日はここの話をします

    View Slide

  12. アンケート取らせてください

    View Slide

  13. www.menti.com
    code: 910052

    View Slide

  14. 本題へ

    View Slide

  15. Datadog について
    ● クラウド型のモニタリングツール
    ● Integration が豊富。2019/06時点で280種類以上。
    ● ダッシュボードのカスタマイズ性が高い
    ● tag を用いて効率的な分析が可能
    ● イベントと紐付けて分析が可能

    View Slide

  16. Datadog について
    ● Slack との連携が容易
    ● API で外部データも投げ込むことができる
    ● Kubernetes や docker との親和性
    ● 画面のシェアが容易

    View Slide

  17. Kubernetes との親和性について

    View Slide

  18. Datadog のキホン
    ● キホン的に Agent を入れて監視する
    ○ dd-agent をサーバに入れる
    ○ yaml で conf を書いて監視
    ● 足りないものはカスタムメトリクス
    ○ 自分で check.d 配下にお手製のプログラムをおけば OK
    ○ python OK
    ○ yaml で conf を書いて監視
    ● インテグレーションの活用
    ○ AWS や GCP 連携
    ○ Kubernetes のリアルタイムモニタリング

    View Slide

  19. で、Datadog ってネットワークに監視に使えるの?
    ● SNMP Integration がある
    ○ https://docs.datadoghq.com/ja/integrations/snmp/
    ○ ネットワークエンジニアにも馴染みの感じ
    ○ 特にカスタムはいらない。つまり yaml を書くだけ
    ○ Agent を監視用のサーバにいれて tag で制御
    ○ Zabbix でいう LLD 的なこともできる
    ○ インスタンス単位で ip_address のシーケンスの塊を書く
    必要がある

    View Slide

  20. yaml 書くのがめんどくさい問題
    ● Ansible などの構成管理ツール使えば OK
    ○ ansible の group_vals にホストを登録すれば追加できるようにしています
    ○ templates に conf ファイルを定義、 for と if を使ってマルチベンダーに対応できる
    ● Monitor の設定が上記でカバーできないので別のツールを使うと良いです。
    ○ https://github.com/codenize-tools/barkdog
    ○ https://www.terraform.io/docs/providers/datadog/r/monitor.html

    View Slide

  21. Zabbix の LLD 的なところを
    ● IF-MIB の中の ifTable から ifInOctets や
    ifOutOctets などを引っ張ってきている
    ● 左記のように書くと tag は hostname や location
    などをつけて、さらに interface:
    という tag もつくようになる

    View Slide

  22. Dashboard

    View Slide

  23. Dashboard

    View Slide

  24. Dashboard

    View Slide

  25. NW × Datadogで得られる大きなメリット
    ● 全体を俯瞰して見るのがすごく楽
    ○ tag での分析がとにかくいい。スクリーン作るの面倒だな・・からの解放
    ○ Host Map、TopN など可視化の手段が豊富
    ○ 積算グラフもすごく使いやすい
    ○ 変数を使ってリージョンごとなどの単位に切り替えることも可能
    ● インテグレーションで作り込みを避けられる
    ○ AWS の DirectConnect のインテグレーションとか
    ○ docker や kubernetes とか
    ダッシュボードをフル活用すれば「なんか最近エラー出るんだけど、何か起きてます
    か?」などの障害分析が楽になる。

    View Slide

  26. あれ?Pingは?SNMP Trapは?Syslogは?
    基本的にはなんとかできるる。しかも全台に Agent 入れる必要はない。
    ● Ping
    ○ これも代表ホストから fping を打てば OK
    ○ カスタムメトリクスで対応
    ● SNMP Trap
    ○ snmptrapd + snmptt をインストールしたサーバを datadog logs で監視すれば OK
    ● Syslog
    ○ rsyslog で受けてそこを datadog logs で監視すれば OK
    ○ キーワードで引っ掛けて monitor でアラート通知をする

    View Slide

  27. デモ
    https://app.datadoghq.com/logs?

    View Slide

  28. ここまで褒めてきたがデメリットの話を

    View Slide

  29. 個人的に気になるところ
    ● ポーリング間隔の制御
    ○ min_collection_interval で制御はできる
    ○ instance ごとに記載しないといけない
    ● メトリクスを確認する時に古いものが丸まる
    ○ zabbix でいうトレンド設定的なもの
    ● アラートの評価のタイミングに注意
    ● ログの量によっては Datadog logs の課金が大変なことに
    ○ Firewall とか結構ログ吐き出すので気をつけないと・・・

    View Slide

  30. 用途に合わせた使いわけ
    Zabbix と Datadog を併用しています。
    ● Zabbix
    ○ 監視のメイン
    ○ SNMP Trap、SNMP Polling、Ping による死活監視
    ○ Auto discovery で登録するので基本は触らないしログインもほぼしない
    ○ 物理ネットワーク用で用途ごとに別のものが存在している
    ○ 通知は主にこちらから
    ● Datadog
    ○ 分析用、開示用
    ○ 何かあれば頻繁にログインしている。サーバの NICの情報も混ぜて取っているので、分析もしや
    すいし、他のエンジニアにも見てもらえるものになっている。
    ○ 傾向監視なども使っていたが今は利用していない

    View Slide

  31. 他の運用周りの話
    ● 監視・運用系のサーバは VM 2台
    ○ zabbix + datadog agent + rsyslog が入った VM
    ○ 雑多に docker コンテナが動いている VM
    ● 1台目のサーバは Ansible で全部立ち上がる
    ● docker コンテナは以下のようなものが動いている
    ○ バックアップなどの定期ジョブが動く job サーバ
    ○ 任意の show コマンドを叩ける bot
    ○ netflow や sflow のサーバ
    ● 割とカジュアルに作ったり壊したりできるので環境構築は
    楽です

    View Slide

  32. View Slide

  33. 広告プロダクトに携わりたい

    インフラエンジニアを募集しています

    View Slide

  34. ご清聴ありがとうございました


    View Slide