Deployment and Administration guide
This guide aims at providing information about how to install, configure and administrate the main components included in the Monitoring repository. While in the case of the Zabbix Wrapper it is possible to deploy directly a Docker container, the Zabbix probes are currently released in the form of deb and rpm packages, although a Docker container is being prepared as well, in order to facilitate their deployment in those infrastructures based on Docker (such as the Indigo PaaS platform, hosted in a Kubernetes cluster).
Both, the Zabbix Wrapper and the probes, have been implemented in Java and they use Maven in order to build the jar files and the packages. Therefore, it is possible to download the source code and use Maven commands for compiling the code, or to use the already generated packages. This guide focuses on the generated packages and on the Docker image for the Wrapper.
Zabbix Wrapper
1.1 Installation
When having the war at disposal starting from a clean VM with Ubuntu install the docker manager:
Install the application server (Wildfly 9.x) right from directory into which there is the docker file for giving the proper instructions and deploy the webapp
The deploy will be successfull if the endpoints written in the property file are correct and the wrapper can reach the server itself
In case wrapper is not a war --> Compile the code
To compile the project you need to be in the same folder as the pom.xml
file and type:
This command compiles the code and skip the tests. If you want to compile the code running the tests too you can use:
At compilation completed, the MonitoringPillar.war
file will be put inside the target
folder.
Build the Docker image
The generated war must then be placed in the docker folder.
You can build the docker image with the command
1.2 Configuration
This project has been created with maven 3.3.3 and Java 1.8. Maven will take care of downloading the extra dependencies needed for the project but this project dependes on im-java-api also. To run the warpper you need docker and a MySQL Server on your machine. See next section to have details.
Zabbix Probes
2.1 Installation
First of all, make sure the main dependencies of the probes are available: the JRE and the Zabbix Agent. If this is not the case, they can be installed following a few simple steps.
In order to install the JRE:
Ubuntu:
CentOS:
Ubuntu (look at the link for repositories configuration):
CentOS:
Then, it is necessary to install the corresponding packages generated for the probes.
Ubuntu:
CentOS
Installing the packages will deploy the corresponding jar files in the '/usr/share/java/zabbix/' folder, where it will be possible to run them with the corresponding 'java' command.
Although the probes can be run just on demand, the best option is to configure them as Cron jobs. That can be configured by editing the configuration file with the following command:
Then, add the following lines:
This means that the probes will run every hour, one at xx:00 and the other one at xx:30 (avoiding potential issues when both probes aim at using the Zabbix Agent at the same time). Modify this configuration according to your needs, so the probes will run when required, but bear in mind that running them in parallel may create issues with the Zabbix Agent, since it is not ready to work with concurrent tasks.
2.2 Configuration
The probes require different parameters to be configured in order to enable their operation.
The OCCI probe requires to modify the occiprobe.properties file in order to set the following parameters:
openstack.user - Set here the user to be used for accessing OCCI APIs
openstack.password - Set here the password to be used for accessing the OCCI APIs
java.keystore - Set here the full location of the security certificates keystore
zabbix.ip - Provide the IP address of the Zabbix server where metrics will be sent
zabbix.sender.location - Configure the location where the Zabbix agent was installed, indicating the zabbix sender path
cmdb.location - Provide the full URL of the CMDB component, providing the information about the available providers
The Heapster probe, on the other hand, requires the heapsterprobe.properties file to be adapted:
heapster.url - Provide the URL where the Heapster API is available
java.keystore - Set here the full location of the security certificates keystore
zabbix.ip - Provide the IP address of the Zabbix server where metrics will be sent
zabbix.sender.location - Configure the location where the Zabbix agent was installed, indicating the zabbix sender path
2.3 Packages Update
If a previous version of the packages is already installed, it is necessary to update them to the new version. That can be done through the following commands.
Ubuntu:
CentOS
2.4 Accepted Certificates
In the case of providers requiring some communication using SSL (because of HTTPS communication), if the provider certificate is not signed by a known entity, the JVM may throw exceptions. In such case, it is necessary to register the corresponding certificate with the following command:
Last updated