LoginSignup
0
0

More than 3 years have passed since last update.

sFlowによるKVM仮想スイッチ(Linux Bridge)フローモニタリングと仮想マシン性能管理

Posted at

sFlowによるKVM仮想スイッチ(Linux Bridge)フローモニタリングと仮想マシン性能管理

構成

 ホスト・仮想マシンの構成は、
  ホストOS(trafficsentinelkvm.flownetsecure.com):192.168.10.51
 上に、2つの仮想マシン
  compute-vm01:192.168.10.52 
  compute-vm02:192.168.10.53 
 を作成
 本構成の作成方法は、
  CentOS8KVM及び仮想マシンのセットアップ
 を参照

ホストOS上の設定

sFlowによるKVM仮想スイッチ(Linux Bridge)フローモニタリングと仮想マシン性能管理を実現するために Host sFlow をホストOSにインストールする
sFlow(厳密には,「Host sFlow」)によってフロー情報と仮想マシン性能情報がコレクタ(この例では、TrafficSentinel:192.168.10.111)に送出される

現在のネットワーク構成
[root@trafficsentinelkvm ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000
    link/ether 9c:5c:8e:c0:0a:d2 brd ff:ff:ff:ff:ff:ff
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 9c:5c:8e:c0:0a:d2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.51/24 brd 192.168.10.255 scope global noprefixroute br0
       valid_lft forever preferred_lft forever
    inet6 2400:4150:9020:b00:63d5:a6ad:6606:2f50/64 scope global dynamic noprefixroute
       valid_lft 289sec preferred_lft 289sec
    inet6 fe80::483e:9fae:62e6:5175/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:52:d6:e5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:52:d6:e5 brd ff:ff:ff:ff:ff:ff
6: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:54:bd:55 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc54:ff:fe54:bd55/64 scope link
       valid_lft forever preferred_lft forever
7: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:f4:1c:43 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc54:ff:fef4:1c43/64 scope link
       valid_lft forever preferred_lft forever
SNMPのインストール
[root@trafficsentinelkvm ~]# dnf install net-snmp
[root@trafficsentinelkvm ~]# dnf install net-snmp-utils
snmpd.confの設定

基本的にはインターフェース関連の情報があれば問題無いが、
全体監視項目全体を利用可能にする為、以下を設定;

[root@trafficsentinelkvm ~]# vi /etc/snmp/snmpd.conf 
# Make at least  snmpwalk -v 1 localhost -c public system fast again.
# name           incl/excl     subtree         mask(optional)
view    systemview    included   .1
適用
[root@trafficsentinelkvm ~]# systemctl enable snmpd
Created symlink /etc/systemd/system/multi-user.target.wants/snmpd.service → /usr/lib/systemd/system/snmpd.service.
[root@trafficsentinelkvm ~]# systemctl start snmpd
[root@trafficsentinelkvm ~]# systemctl status snmpd -l
● snmpd.service - Simple Network Management Protocol (SNMP) Daemon.
   Loaded: loaded (/usr/lib/systemd/system/snmpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-05-04 09:51:11 JST; 1min 10s ago
 Main PID: 5677 (snmpd)
    Tasks: 1 (limit: 99689)
   Memory: 17.3M
   CGroup: /system.slice/snmpd.service
           mq5677 /usr/sbin/snmpd -LS0-6d -f

 5月 04 09:51:11 trafficsentinelkvm.flownetsecure.com systemd[1]: Starting Simple Network Management Protocol (SNMP) Daemon....
 5月 04 09:51:11 trafficsentinelkvm.flownetsecure.com snmpd[5677]: NET-SNMP version 5.8
 5月 04 09:51:11 trafficsentinelkvm.flownetsecure.com systemd[1]: Started Simple Network Management Protocol (SNMP) Daemon..
ファイアウォールポート設定
[root@trafficsentinelkvm etc]# sudo firewall-cmd --add-port 161/udp --permanent
success
[root@trafficsentinelkvm etc]# sudo firewall-cmd --add-port 162/udp --permanent
success
[root@trafficsentinelkvm etc]# sudo firewall-cmd --reload
success
SNMPWALKにて動作確認
[root@trafficsentinelkvm ~]# snmpwalk -v 2c -c public -O e 127.0.0.1
インターフェース単位のMIB値の応答

Host Flowのインストール

https://sflow.net/downloads.php
よりダウンロード

[root@trafficsentinelkvm ~]# rpm -i hsflowd-centos8-<version>.x86_64.rpm
[root@trafficsentinelkvm ~]# sudo systemctl enable hsflowd
Synchronizing state of hsflowd.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable hsflowd
Created symlink /etc/systemd/system/multi-user.target.wants/hsflowd.service → /usr/lib/systemd/system/hsflowd.service.
[root@trafficsentinelkvm ~]# sudo vi /etc/hsflowd.conf
編集箇所抜粋;
sflow {
     agent.cidr = 192.168.0.0/16
     agent = br0
     polling = 30
     sampling = 400
     sampling.http = 50
     sampling.app.myapp = 100
     collector { ip=192.168.10.111 udpport=6343 }
     pcap { dev = br0 }
     pcap { dev = lo }
     pcap { speed=0- }
     kvm { }
     tcp { }
}
[root@trafficsentinelkvm ~]# service hsflowd start
Starting hsflowd (via systemctl):                          [  OK  ]

設定適用内容は、以下で確認

[root@trafficsentinelkvm ~]# cat /etc/hsflowd.auto
# WARNING: Do not edit this file. It is generated automatically by hsflowd.
rev_start=1
hostname=trafficsentinelkvm.flownetsecure.com
sampling=400
header=128
datagram=1400
polling=30
sampling.app.myapp=100
sampling.http=50
agentIP=192.168.10.51
agent=br0
ds_index=1
collector=192.168.10.111 6343
rev_end=1

サンプリングレートの変更は、/etc/hsflowd.conf の
# sampling N on interfaces with ifSpeed:
# sampling.100M = 100
# sampling.1G = 1000
# sampling.10G = 10000
# sampling.40G = 40000
で設定するようだが、うまく適用できない。
この部分にバグがあるようなので、
サンプリングレートを変更したい場合は、
https://github.com/sflow/host-sflow/commit/ac45d20cf93ea057b37ece423341021fbfbb3918
で、SourceからのBuildになる(Source版でBugFix済)。

TrafficSentinelでの表示例

インターフェース情報

image.png

フロー情報

image.png
image.png

仮想マシン情報(ホスト+仮想マシン)

image.png

ホストマシン性能情報:trafficsentinelkvm.flownetsecure.com

image.png

仮想マシン性能情報:compute-vm01

image.png

仮想マシン性能情報:compute-vm02

image.png

コレクタは、無償版のsFlowTrendでも同等の情報表示が可能
参照:sFlowTrendのインストール

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0