Skip to content

VIM monitoring

Panos Karkazis edited this page Jul 25, 2018 · 4 revisions

5GTANGO/SONATA VIM monitoring client is used in order to gather monitoring data from VIM infrastructure (openstack) and push them to the monitoring server

Supported monitoring metrics are:

  • Total/used Cores
  • Total/used Instances
  • Total/used RAM size
  • Total/used Floating IPs

Dependencies

  • python 2.7

Installation

From code

a. Set configuration file (odc.conf)

[Openstack]
controller_ip: <controller_ip>
keystone_url: http://<keystone_ip>:5000/v2.0/tokens
tenants:  [{"name": "admin","user_name": "name","password": "password","pushgw_url": ["http://<pushgateway>:<port>/metrics"]}]
node_name: pop_vim

b. Execute the probe

sudo python opensdatacollector.py

Usage

All metrics are exposed to the Pushgateway server.

Get last values of openstack limits

Request:

curl http://<pushgateway>:9091/metrics | grep vim_limits

Response:

# TYPE vm_cpu_perc gauge
vim_maxPersonality{instance="VIM_NAME",job="vim_limits"} 5
vim_maxPersonalitySize{instance="VIM_NAME",job="vim_limits"} 10240
vim_maxSecurityGroupRules{instance="VIM_NAME",job="vim_limits"} 20
vim_maxSecurityGroups{instance="VIM_NAME",job="vim_limits"} 10
vim_maxServerGroupMembers{instance="VIM_NAME",job="vim_limits"} 10
vim_maxServerGroups{instance="VIM_NAME",job="vim_limits"} 10
vim_maxServerMeta{instance="VIM_NAME",job="vim_limits"} 128
vim_maxTotalCores{instance="VIM_NAME",job="vim_limits"} 20
vim_maxTotalFloatingIps{instance="VIM_NAME",job="vim_limits"} 10
vim_maxTotalInstances{instance="VIM_NAME",job="vim_limits"} 10
vim_maxTotalKeypairs{instance="VIM_NAME",job="vim_limits"} 100
vim_maxTotalRAMSize{instance="VIM_NAME",job="vim_limits"} 51200
vim_totalCoresUsed{instance="VIM_NAME",job="vim_limits"} 1
vim_totalFloatingIpsUsed{instance="VIM_NAME",job="vim_limits"} 0
vim_totalInstancesUsed{instance="VIM_NAME",job="vim_limits"} 1
vim_totalRAMUsed{instance="VIM_NAME",job="vim_limits"} 512
vim_totalSecurityGroupsUsed{instance="VIM_NAME",job="vim_limits"} 1
vim_totalServerGroupsUsed{instance="VIM_NAME",job="vim_limits"} 0

Get last pushed value VNFs memory usage

Request:

curl http://<pushgateway>:9091/metrics | grep vms

Response:

# TYPE vms_state gauge
vms_state{instance="synelixis_node",job="vms",state="ACTIVE"} 68
vms_state{instance="synelixis_node",job="vms",state="SHUTOFF"} 5
vms_state{instance="synelixis_node",job="vms",state="SUSPENDED"} 1
# TYPE vms_sum gauge
vms_sum{instance="synelixis_node",job="vms"} 74
Clone this wiki locally