今回はハイブリッドクラウド環境に最適なサーバ&ネットワーク監視ソリューションをご紹介します。
モニタリングデータの収集部分を弊社で開発、データ蓄積・可視化にSumo Logicを利用することで実現しています。
昨今、オンプレミス環境のサーバやネットワーク機器は減少傾向にありますが、監視が不要というわけではありません。しかし、以前のようなオンプレミス環境メインの時代と同様の投資は、難しくなってきています。
そのような環境下で、現状最小限の投資で行っているサーバ・ネットワーク機器監視と同様のことを実現しながら、加速するクラウド化を念頭に置いた、IaaSやPaaS、SaaSといったクラウドの可視化も同時に行える仕組みが必要です。
弊社で取り扱っているSumo Logicは、Installed Collectorを入れることができないネットワーク機器やアプライアンスなどのオンプレミス機器に対して、Sumo Logic側から直接データ収集を行うことができません。
また、Sumo LogicにはHosted Collectorという外部からHTTPS経由でデータを受信する機能がありますが、現状ではこのHosted Collectorにデータを送るように設定できる製品は非常に少ないです。
また、App Catalogが用意されていない機器のログ分析は、ユーザ側でクエリを作成し可視化するDashboardを作る必要があります。
そこで、Installed Collectorに対応していない機器からデータを収集し、Sumo Logicにデータを送信するモニタリングシステムを弊社で開発いたしました。
発想はsumox(https://cloudsolution.terilogy.com/blog/introduction-infoblox-sumologic)
と同じですが、より広範囲からデータ収集ができるようにポーリングとデータ受信の両方の機能を備えています。
基本的にエージェントレスの仕組みとしたため、ターゲットにソフトウェアをインストールするような作業は不要です。
前置きが長くなりましたが、中身について紹介していきます。
モニタリングシステムの構成
現状、OSはRedhat系OSを利用しています。
システムの構成イメージは以下のような感じです。
モニタリングシステムは以下の4つの部分から構成されています。
- ポーリングの実行やターゲット情報を管理する「本体」
- データを収集/受信する「プラグイン(コレクター)」
- 収集/受信したデータを解析する「解析処理」
- Sumo Logicへデータをアップロードする「データアップロード」
これらの機能でSumo Logicにデータを集め、Dashboard表示やメール通知を行います。
次に、それぞれの役割についてご紹介いたします。
1.モニタリングシステムの本体
本体は、システムの各種設定、ポーリング対象のデバイスやデータを送信してくるデバイスの管理が主な役割となっています。
2.データを収集/受信する「プラグイン(コレクター)」
「プラグイン(コレクター)」は収集するデータ毎に独立したプログラムとなっています。例えば、ICMPなどの疎通確認で1つ、Webレスポンス確認で1つといった具合です。CPU使用率、メモリ使用率、ディスク使用率といった一般的なリソースデータ取得のプラグインは実装済みです。
対象機器からのデータ取得は以下の方法で実施します。
・ターゲットにログイン後に、コマンドを実行してデータを収集
主にUnix系(Unix/Linux)、Windows向けの方法で、ターゲットにログインしデータの収集のためのコマンドを実行します。
コマンドで取集できるデータは全てポーリングの対象にすることができます。
・SNMPでデータを収集
主にNW機器向けの方法で、指定したOIDからデータを取得します。
SNMPのバージョンはv1、v2、v3の全てに対応しています。
・モニタリングシステムからコマンドを実行してデータを収集
モニタリングシステム上でコマンドを実行する事で取得できるデータが対象になります。例えばICMPでの疎通やレスポンスタイムであったり、対象機器のポートの状態などのデータが対象になります。
対象機器からのデータ受信は、SNMPトラップとNetFlowが対応しています。
・SNMPトラップ受信
こちらはOS標準のsnmptrapdを使用しています。
・NetFlow受信
NetFlowのデータを受信し、トラフィックデータの解析を行います。
Flowコレクターは他のプログラムと少し異なっており、受信、解析、Hosted Collector へのデータ送信の全てを行っています。
3.収集/受信したデータを解析する「解析処理」
「取得データ解析処理」は、収集したデータの重要度判定とHosted Collectorが受け取れる形式へのデータ加工を実行します。
ポーリングは一度に送信する件数が多くなるため、データは直接Hosted Collectorへ送信せず「データアップロード」へ渡します。
「Trap解析処理」は、受け取ったトラップデータが管理対象であるかを判断し、管理対象であった場合はトラップ内のデータを解析します。
OIDとvalueの組み合わせを1件のデータとして扱い、「ポーリング解析処理」と同様に重要度判定とデータ加工を実行します。
トラップデータは加工後にHosted Collectorへ送信します。
4.Sumo Logicへデータをアップロードする「データアップロード」
ポーリング解析処理から受け取った、管理対象すべてに対する1回分のポーリングデータを、1セットとしてまとめてHosted Collectorへ送信します。
ネットワークの切断等でHosted Collectorへ接続できなかった場合や、Hosted Collectorからのレスポンスが正常でなかった場合は、正常に送信できるまで1分間隔で再送を行います。
Sumo LogicでのDashboard表示・メール通知
この部分はSumo Logic標準の機能を使用しています。
モニタリングシステムで収集したデータをSumo LogicのDashboardで可視化します。
以下が実際の画面です。
実際に弊社の環境で取得したデータを使い、1項目あたり1パネルで作成しました。
上段3枚のパネル(赤枠部分)はNetFlowの解析結果です。左から順に、
- IP毎の通信の多いTOP5
- サービス毎の通信の多いTOP5
- 通信全件
となっています。
それ以降(青枠部分)は監視製品ではお馴染みのロードアベレージ(1分平均)、ディスク使用率、メモリ使用率等のパネルが続きます。
パネルはDashboard(New)で作成しているため、1つのパネルに複数のデータを表示させています。(2020年7月頃にリリースされた比較的新しい機能です。)
通知メールは、こちらもSumo Logic標準機能の「Scheduled Search」を使用しリアルタイムアラートを行うようにしています。
通知は連続で指定した回数失敗したら通知する事も可能です。
まとめ
今回ご紹介したモニタリングシステムを用いる事で、Sumo Logicにデータが取り込めず個別で管理していた製品のデータをSumo Logicに取り込むことが可能になります。
また、データを取得したい製品用のプラグインや、受信用のコレクター等を付け足すだけで様々な拡張が可能です。
モニタリングシステムはクラウド、オンプレのどちらでもセットアップ可能で、現在はオンプレ、AWS、OCIの環境に導入して使用している実績があります。
環境準備についてはクラウド、オンプレ共にお客様にご用意いただく形でも、弊社でご用意する形でも対応可能です。
今回紹介したポーリングやトラップ、NetFlowの受信以外に、弊社の取り扱い製品であるNozomi Networks社のGuardian、Rapid7社のInsightVM等からデータを収集しSumo Logicにアップロードする機能の開発も行っております。
将来的には、IT/OT、脆弱性等のセキュリティ情報、資産管理、機器のリソースなどなど、分類に関係なくネットワーク上に存在する全てのシステムからデータを収集し、1つのSumo Logicで全てのシステムを俯瞰できる統合Dashboardの開発を行っていく予定です。
既存のNMSの代替品をご検討の方や、製品データの取り込み、統合Dashboardの開発など、データの可視化に関わるお悩みがございましたら、ぜひお声掛けください。
また、2021年6月22日(火)11:00より、本システムに関するセミナーも実施しますので是非こちらもご参加ください。
以上、モニタリングシステムを使用したサーバ&ネットワーク監視ソリューションのご紹介でした。
https://cloudsolution.terilogy.com/
- カテゴリ:
- Sumo Logic
- 技術情報
- タグ:
- Sumo Logic
- ネットワーク監視
- サーバ監視
- 開発