ネットワーク機器でもリッチなLinuxやBSDが使える時代なのでmackerel-agentを入れてみた話です
© NTT Communications Corporation All Rights Reserved. 1ネットワーク機器もエージェントで監視できるのかやってみた2023/07/11, Mackerel Meetup #14 LT田島 照久NTTコミュニケーションズ[email protected]
View Slide
© NTT Communications Corporation All Rights Reserved. 2Take-home messages◼ ネットワーク機器の上でmackerel-agentが普通に動く◼ 本格的に運用しようとすると課題は結構あるネットワーク機器も簡単に監視したい!!!!運用に役立つかどうかわからない、ハックしてみた系のLTです
© NTT Communications Corporation All Rights Reserved. 3いきなり脇道:ご家庭の管理もpluginで追加すると面白い◼ センサを使って温度とか消費電力とか◼ 自宅GPS-NTPのジッタを測ったり、NAS(ZFS)のキャッシュを見たり
© NTT Communications Corporation All Rights Reserved. 4物理ネットワークが主体の「システム」を運用業界最大級(たぶん)の検証設備の運営とエンジニア育成https://speakerdeck.com/nttcom/operation-of-the-industrys-largest-verification-facilities-and-training-of-engineers?slide=8
© NTT Communications Corporation All Rights Reserved. 5「システム」の監視は大部分がpollingネットワーク機器 (500+) サーバ群 (10+) Mackerel他にもPrivate Cloudもありますが・・・Syslog📧router cpefirewallroutervpnswitch aptransponderSNMP
© NTT Communications Corporation All Rights Reserved. 6ネットワーク機器機器でもログはpushされるネットワーク機器 (500+) サーバ群 (10+) Mackerel他にもPrivate Cloudもありますが・・・Syslog📧router cpefirewallroutervpnswitch aptransponder
© NTT Communications Corporation All Rights Reserved. 7ネットワーク機器機器でもログはpushされるネットワーク機器 (500+) サーバ群 (10+) Mackerel他にもPrivate Cloudもありますが・・・Syslog📧router cpefirewallroutervpnswitch aptransponder🤔 そのままpushできれば楽なのでは 🤔
© NTT Communications Corporation All Rights Reserved. 8背景: Streaming Telemetry というpush型の構成がある次世代の監視技術 - Telemetry技術のご紹介https://engineers.ntt.com/entry/2021/09/02/162022
© NTT Communications Corporation All Rights Reserved. 9背景: Streaming Telemetry というpush型の構成がある次世代の監視技術 - Telemetry技術のご紹介https://engineers.ntt.com/entry/2021/09/02/162022🤔 複雑 🤔※Broker以降はPublic Cloud等に常設してコレクタだけ手元に置くのはできる
© NTT Communications Corporation All Rights Reserved. 10背景:最近のネットワーク機器はパソコンであるCisco C1100 Series Juniper NFX SeriesIOS XE (Linux based) HV (Linux based)Junos (BSD based)guest shell (container)mackerel-agent mackerel-agent
© NTT Communications Corporation All Rights Reserved. 11実際にやってみたらそのまま動いた(arm64)c1100.test#guestshell run bash[guestshell@guestshell ~]$ uname -aLinux guestshell 4.14.227-17.0.2 #1 SMP Wed Aug 11 15:22:34 UTC 2021 aarch64 aarch64 aarch64GNU/Linux[guestshell@guestshell ~]$ wget https://github.com/mackerelio/mackerel-agent/releases/download/v0.77.0/mackerel-agent_linux_arm64.tar.gz(snip)[guestshell@guestshell ~]$ tar zxf mackerel-agent_linux_arm64.tar.gz[guestshell@guestshell ~]$ cd mackerel-agent_linux_arm64[guestshell@guestshell mackerel-agent_linux_arm64]$ sudo ./mackerel-agent init -apikey=“***”[guestshell@guestshell mackerel-agent_linux_arm64]$ sudo ./mackerel-agent2023/07/10 22:46:18 INFO Starting mackerel-agent version:0.77.0, rev:4b0c6cc,apibase:https://api.mackerelio.com2023/07/10 22:46:26 INFO Start: apibase = https://api.mackerelio.com, hostName =guestshell, hostID = xxxxxxx2023/07/10 22:46:26 ERROR Panic: generating value in *linux.CPUUsageGenerator (skipthis metric): runtime error: index out of range [10] with length 102023/07/10 22:47:00 ERROR Panic: generating value in *linux.CPUUsageGenerator (skipthis metric): runtime error: index out of range [10] with length 102023/07/10 22:48:00 ERROR Panic: generating value in *linux.CPUUsageGenerator (skipthis metric): runtime error: index out of range [10] with length 10
© NTT Communications Corporation All Rights Reserved. 12何事もなく登録されました
© NTT Communications Corporation All Rights Reserved. 13よいこと◼ もちろんpluginも動く◼ SNMPでは取れない値も取れたり、ルータ側で値の加工ができる⚫ 例) ACLログから直近の特定ポートのスキャン頻度を投稿する⚫ 例) 特定VPN経路の増減◼ CPE (顧客構内設備) としてみたときに外部に到達できない= エラーになることが簡単にわかる
© NTT Communications Corporation All Rights Reserved. 14本当に運用していく上で辛くなる(であろう)こと◼ ZTP (Zero Touch Provisioning) がしにくい⚫ ネットワーク機器のOSの機能としてDHCP等を基にした設定自動化がある⚫ ただし追加コンテナ上でのagent導入は別途ansible等で自動化する必要がある◼ 家畜にできないネットワーク機器⚫ 設定のライフサイクルが長い。バージョンアップはどうするのか問題⚫ (参考)ネットワーク機器をカスタムリソースとして見てreconcileを狙う取り組みもあり、そちら側で見るのがよい?Kuesta - CUE-based Network IaC on Kuberneteshttps://github.com/nttcom/kuesta https://nttcom.github.io/kuesta-website/
© NTT Communications Corporation All Rights Reserved. 15Take-home messages◼ ネットワーク機器の上でmackerel-agentが普通に動く◼ 本格的に運用しようとすると課題は結構あるネットワーク機器も簡単に監視したい!!!!