IM probe
1 INTRODUCTION
Infrastructure Manager (IM) is a tool that eases access and usability of IaaS clouds by automating virtual machine infrastructure selection, deployment, configuration, software installation, monitoring and update of virtual appliances. In order to offer relevant data to users about the health of its operations, the most relevant metrics are obtained by a python based monitor agent, using the IM REST API. Once obtained data from platform, this content is processed and sent to a Zabbix server which store and visualize monitorization data.
2 ARCHITECTURE
The monitorization agent is a client-side software, that connects with IM to capture monitorization data, and sends it to Zabbix server. Agent does not need any open ports, just send data on passive mode to Zabbix and gather data from IM via IM API REST by GET, POST, PUT and DELETE http requests. Agent is composed by scripts that use IM API and Zabbix API, and loads configurations from files that must be edited correctly by an administrator.
3 FILE STRUCTURE
The agent is composed by a principal python script named probeim.py, four support libraries named loadconfigs.py, tokenmng.py, IMinfrastructureOper.py and zabbix.py and a directory conf with two configuration files, imzabbix.conf and authorizationHeader.txt.
3.1 SCRIPTS
3.2 CONFIGURATION
imzabbix.conf
Section
zabbix
uri
the api url to make requests
username
the zabbix username used for authentication in order to get a token
password
the zabbix password used for authentication
server_add
IP address where zabbix server is running
agent_delay
Time in seconds for each loop that catches data
template
the name of template used for IM measurements
monitoredhost
the hostname of the monitored host
Section
im
urlbase
the IM api url to make requests
radl
the radl configuration for IM to create a VM.
Section
iam
urlrefresh
the api url to request a new token from a refresh token
Section
log
loglevel
the severity of logs. This can take the following values: ERROR, WARNING, INFO, DEBUG
Default values is WARNING. |
authorizationHeader.txt
4 DATA SOURCES
METHOD /URL
Items
GET /infrastructures
List_inf
POST /infrastructures
Create_inf
PUT /infrastructures//start
Start_inf
POST /infrastructures/
body: RADL document | Create_vm | | DELETE /infrastructures/<infId|Delete_inf |
To connect to IM an appropriated header must be set.
5 DOCKER CONTAINER
Build an image from the directory where your Dockerfile is located.
After image was created, set up required parameters and run the docker container.
Last updated