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. ネットワークの監視 • 死活監視 ◦ Management IP への疎通可否 • 性能監視 ◦

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

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

    トラフィック量 ◦ CPUや電源などハードウェアの状況 • アラート受信 ◦ Active / Standby が入れ替わった ◦ リンクがダウンした • ログ監視 • 外形監視 ◦ BGP ハイジャックの検知 ◦ グローバルからの疎通性と遅延 Ping SNMP SNMP Trap Syslog ping / traceroute 今日はここの話をします
  4. Datadog のキホン • キホン的に Agent を入れて監視する ◦ dd-agent をサーバに入れる ◦

    yaml で conf を書いて監視 • 足りないものはカスタムメトリクス ◦ 自分で check.d 配下にお手製のプログラムをおけば OK ◦ python OK ◦ yaml で conf を書いて監視 • インテグレーションの活用 ◦ AWS や GCP 連携 ◦ Kubernetes のリアルタイムモニタリング
  5. で、Datadog ってネットワークに監視に使えるの? • SNMP Integration がある ◦ https://docs.datadoghq.com/ja/integrations/snmp/ ◦ ネットワークエンジニアにも馴染みの感じ

    ◦ 特にカスタムはいらない。つまり yaml を書くだけ ◦ Agent を監視用のサーバにいれて tag で制御 ◦ Zabbix でいう LLD 的なこともできる ◦ インスタンス単位で ip_address のシーケンスの塊を書く 必要がある
  6. 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
  7. Zabbix の LLD 的なところを • IF-MIB の中の ifTable から ifInOctets

    や ifOutOctets などを引っ張ってきている • 左記のように書くと tag は hostname や location などをつけて、さらに interface: <ifDescのvalue> という tag もつくようになる
  8. NW × Datadogで得られる大きなメリット • 全体を俯瞰して見るのがすごく楽 ◦ tag での分析がとにかくいい。スクリーン作るの面倒だな・・からの解放 ◦ Host

    Map、TopN など可視化の手段が豊富 ◦ 積算グラフもすごく使いやすい ◦ 変数を使ってリージョンごとなどの単位に切り替えることも可能 • インテグレーションで作り込みを避けられる ◦ AWS の DirectConnect のインテグレーションとか ◦ docker や kubernetes とか ダッシュボードをフル活用すれば「なんか最近エラー出るんだけど、何か起きてます か?」などの障害分析が楽になる。
  9. あれ?Pingは?SNMP Trapは?Syslogは? 基本的にはなんとかできるる。しかも全台に Agent 入れる必要はない。 • Ping ◦ これも代表ホストから fping

    を打てば OK ◦ カスタムメトリクスで対応 • SNMP Trap ◦ snmptrapd + snmptt をインストールしたサーバを datadog logs で監視すれば OK • Syslog ◦ rsyslog で受けてそこを datadog logs で監視すれば OK ◦ キーワードで引っ掛けて monitor でアラート通知をする
  10. 個人的に気になるところ • ポーリング間隔の制御 ◦ min_collection_interval で制御はできる ◦ instance ごとに記載しないといけない •

    メトリクスを確認する時に古いものが丸まる ◦ zabbix でいうトレンド設定的なもの • アラートの評価のタイミングに注意 • ログの量によっては Datadog logs の課金が大変なことに ◦ Firewall とか結構ログ吐き出すので気をつけないと・・・
  11. 用途に合わせた使いわけ Zabbix と Datadog を併用しています。 • Zabbix ◦ 監視のメイン ◦

    SNMP Trap、SNMP Polling、Ping による死活監視 ◦ Auto discovery で登録するので基本は触らないしログインもほぼしない ◦ 物理ネットワーク用で用途ごとに別のものが存在している ◦ 通知は主にこちらから • Datadog ◦ 分析用、開示用 ◦ 何かあれば頻繁にログインしている。サーバの NICの情報も混ぜて取っているので、分析もしや すいし、他のエンジニアにも見てもらえるものになっている。 ◦ 傾向監視なども使っていたが今は利用していない
  12. 他の運用周りの話 • 監視・運用系のサーバは VM 2台 ◦ zabbix + datadog agent

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