openstack neutron网络模块分析(六)--- 利用neutron-metering-agent 监控l3层流量
##利用neutron-metering-agent 監控l3層流量
環境:ocata版本
openstack的信息監控都是通過ceilometer來獲取,而在基本的組件中沒有將l3層流量的數據push到message中,需要額外安裝openstack-neutron-metering-agent來完成這個功能
然后 ceilometer-agent-notification 通過監聽消息隊列來收取bandwidth信息。
neutron-metering-agent使用的是iptables來監控流量,這里有一些相關的資料可以參考一下
一、安裝配置openstack-neutron-metering-agent
安裝
配置meter_agent.ini
安裝了OVS:
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver安裝了LinuxBridge:
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver同樣設置
debug=true use_namespace=True driver=neutron.services.metering.drivers.iptables.iptables_driver.IptablesMeteringDrivermeasure_interval = 1 #采集間隔 單位 s
report_interval = 1 #push到message的間隔 單位 s
注意:這里只是上報的間隔頻率,并不是最終存儲的間隔,如果采用gnocchi存儲,需要ceilometer.conf里[dispatcher_gnocchi]的archive_policy=
配置neutron.conf
service_plugins = neutron.services.metering.metering_plugin.MeteringPlugin如果service_plugins已有配置值 則在后面加上面的內容,例如service_plugins = router
service_plugins = router , neutron.services.metering.metering_plugin.MeteringPlugin
重啟neutron-server
systemctl restart neutron-server查看neutron 狀態是否正常
systemctl status neutron-server啟動neutron-metering-ag
systemctl enable neutron-metering-agent systemctl start neutron-metering-agent二、 創建bandwidth
使用命令 openstack network meter 或neutron meter-label-create
建議先看看metering官網
這里以監控摸個子網的流入流出流量為例
創建bandwidth
創建子網流入的bandwidth
openstack network meter create name1-in
創建name1-in的規則
openstack network meter rule create --ingress --remote-ip-prefix 0.0.0.0/24 name1-in
創建子網流出的bandwidth
openstack network meter create name1-out
創建name1-out的規則
openstack network meter rule create --egress --remote-ip-prefix 0.0.0.0/24 name1-out
查看創建情況
openstack network meter list
三、iptables 規則查看
說明:
由于neutron-metering-agent統計子網流量的原理是使用iptables
所以可以用iptables -L -nvx 查看規則
注意:上面使用了namespace
所以需要指定namespace
(查看流量統計情況,qrouter 與neutron-meter-l可以通過在/var/log/neutron/metering-agent.log中查看到,前提是前面的debug=true
也可以用ip netns list 命令查看namespace,但是無法得知具體是哪個
查看filter的規則
ip netns exec qrouter-6d798340-df16-419d-a56b-35b998b3b763 iptables-save -t filter結合ip netns 相關命令查看規則統計的流量
ip netns exec qrouter-6d798340-df16-419d-a56b-35b998b3b763 iptables -t filter -L neutron-meter-l-44500b94-112 -v -n -x四、 查看數據
完成上面的部分,此時就能在ceilometer中看到bandwidth這個meter項了
ceilometer查看
這里的resource-id 和上面的用openstack network meter list查看到的ID是一致的(第四項)
ceilometer sample-list #查看采集的數據
如果使用了ceilometer+gnocchi 則只能用gnocchi相關的命令查看
gnocchi metric list | grep bandwidth查看數據
gnocchi measures show示例
gnocchi measures show --resource-id 3a705237-c0e2-4589-a877-431ddb21eaca bandwidth建議:用命令查看數據是先用-h查看用法
參考:
openstack 官方文檔:https://docs.openstack.org/python-openstackclient/3.12.0/cli/command-objects/network-meter.html#network-meter-list
Redhat文檔:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/5/html/Cloud_Administrator_Guide/ch_networking.html
neutron-meter相關:http://www.cinlk.com/2015/09/02/neutronmetering/index.html
https://blog.csdn.net/s1234567_89/article/details/51890919
總結
以上是生活随笔為你收集整理的openstack neutron网络模块分析(六)--- 利用neutron-metering-agent 监控l3层流量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 读写word
- 下一篇: springboot项目配置redis及