Skip to content

import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';

Sipmon provides RPM packages for its products through the Sipmon Open Source version available free of charge in our repository.

These packages can be installed on CentOS 7, on Alma/RHEL/Oracle Linux 8 and on Debian 11.

You must run the installation procedure as a privileged user.

Prerequisites

After installing your server, update your operating system using the following command:

Accept all GPG keys and consider rebooting your server if a kernel update is proposed.

Step 1: Pre-installation

Disable SELinux

Configure or disable the firewall

If your firewall is active, add firewall rules. You can also disable the firewall during installation by running the following commands:

shell
systemctl stop firewalld
systemctl disable firewalld

Install the repositories

MariaDB repository

Sipmon repository

To install Sipmon software, you should first install the Sipmon repository.

Install the Sipmon repository using this command:

Step 2: Installation

This section describes how to install a Sipmon Remote Server.

It's possible to install this server with a local database on the server, or a remote database on a dedicated server.

With a local database

You can now move on to the next step.

With a remote database

If installing database on a dedicated server, this server should also have the prerequired repositories.

Run the following command on the Central server:

Then run the following commands on the dedicated server:

Secure your MariaDB installation by executing the following command:

shell
mysql_secure_installation

It is mandatory to set a password for the root user of the database.

Then, in the remote dabatase, create a user with root privileges. You will have to enter this user during the web installation process (at step 6, in the Root user and Root password fields).

SQL
CREATE USER '<USER>'@'<IP>' IDENTIFIED BY '<PASSWORD>';
GRANT ALL PRIVILEGES ON *.* TO '<USER>'@'<IP>' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Replace <IP> with the Sipmon Central IP address that will connect to the database server.

Replace <USER> and <PASSWORD> by user's credentials.

This user will only be used for the installation process. Once the web installation is complete you can delete this user using:

SQL
DROP USER '<USER>'@'<IP>';

The package Sipmon-database installs an optimized MariaDB configuration to be used with Sipmon.

If this package is not installed, system limitation LimitNOFILE should be at least set to 32000 using a dedicated configuration file, example:

shell
$ cat /etc/systemd/system/mariadb.service.d/Sipmon.conf
[Service]
LimitNOFILE=32000

Same for the MariaDB open_files_limit directive, example for Centos 7, Alma/RHEL/OL 8:

shell
$ cat /etc/my.cnf.d/Sipmon.cnf
[server]
innodb_file_per_table=1
open_files_limit=32000

For Debian 11:

shell
$ cat /etc/mysql/mariadb.conf.d/80-Sipmon.cnf
[server]
innodb_file_per_table=1
open_files_limit=32000

Remember to restart MariaDB after a change to configuration.

Additional configuration for Debian 11

MariaDB has to listen to all interfaces instead of localhost/127.0.0.1, which is the default value. Edit the following file:

shell
/etc/mysql/mariadb.conf.d/50-server.cnf

Set the bind-address parameter to 0.0.0.0.

Step 3: Configuration

Server name

If you want, you can change the server's name using the following command:

shell
hostnamectl set-hostname new-server-name

Replace new-server-name by the name you want. Example:

shell
hostnamectl set-hostname remote1

Set the PHP time zone

You are required to set the PHP time zone.

Services startup during system bootup

To make services start automatically during system bootup, run these commands on the central server:

Then execute the following command (on the remote server if you are using a local database, or on your dedicated database server):

shell
systemctl enable mariadb
systemctl restart mariadb

Secure the database

If you have installed the Sipmon server with a local database, since MariaDB 10.5, it is mandatory to secure the database's root access before installing Sipmon. Run the following command:

shell
mysql_secure_installation
  • Answer yes to all questions except "Disallow root login remotely?".
  • It is mandatory to set a password for the root user of the database. You will need this password during the web installation.

For more information, please see the official MariaDB documentation.

Step 4: Web installation

  1. Start the Apache server with the following command:
  1. To complete the installation, follow the web installation steps procedure.

During web installation, it is not necessary to install Autodiscovery module.

In the step Initialization of the monitoring, only the actions from 6 to 8 must be done.

Step 5: Register the server

To transform the server into a Remote Server and to register it to the Central server or to another Remote server, execute the following command on the future remote server:

shell
/usr/share/Sipmon/bin/registerServerTopology.sh -u <API_ACCOUNT> \
-t remote -h <IP_TARGET_NODE> -n <REMOTE_NAME>

Example:

shell
/usr/share/Sipmon/bin/registerServerTopology.sh -u admin -t remote -h 192.168.0.1 -n remote-1

Replace <IP_TARGET_NODE> by the IP of the central server, as seen by the remote server.

The <API_ACCOUNT> must have access to the configuration API. You can use the default admin account.

If you need to change the HTTP method or the port, you can use the following format for the -h option: HTTPS://<IP_TARGET_NODE>:PORT

Then follow instructions by

  1. Entering your password:

    shell
    192.168.0.1: please enter your password:
  2. Select the IP address if multiple network interfaces exist:

    shell
    Which IP do you want to use as CURRENT NODE IP ?
    1) 192.168.0.2
    2) 192.168.0.3
    1
  3. Then validate the information:

    shell
    Summary of the informations that will be send:
    
    Api Connection:
    username: admin
    password: ******
    target server: 192.168.0.1
    
    Pending Registration Server:
    name: remote-1
    type: remote
    address: 192.168.0.2
    
    Do you want to register this server with those informations ? (y/n)y
  4. Add additional information to enable future communication between your Remote Server and its Central, fill in the required information to convert your platform into a Remote server:

shell
<CURRENT_NODE_ADDRESS> : Please enter your username:
admin
<CURRENT_NODE_ADDRESS> : Please enter your password:

<CURRENT_NODE_ADDRESS> : Protocol [http]:
<CURRENT_NODE_ADDRESS> : Port [80]:
<CURRENT_NODE_ADDRESS> : Sipmon root folder [Sipmon]:
  1. If you use a proxy, please define credentials:

    shell
    Are you using a proxy ? (y/n)
    y
    enter your proxy Host:
    myproxy.example.com
    enter your proxy Port [3128]:
    Are you using a username/password ? (y/n)
    y
    enter your username:
    my_proxy_username
    enter your password:

You will receive the validation of the Sipmon central server:

shell
2020-10-16T17:19:37+02:00 [INFO]: The CURRENT NODE 'remote: 'remote-1@192.168.0.2' has been converted and registered successfully.

Main error messages

shell
2020-10-20T10:23:15+02:00 [ERROR]: Invalid credentials

Your credentials are incorrect for the <API_ACCOUNT>.

shell
2020-10-20T10:24:59+02:00 [ERROR]: Access Denied.

The <API_ACCOUNT> doesn't have access to configuration API.

shell
Failed connect to 192.168.0.1:444; Connection refused

Unable to access to the API. Please check <IP_TARGET_NODE>, scheme and port.

shell
2020-10-20T10:39:30+02:00 [ERROR]: Can’t connect to the API using: https://192.168.0.1:443/Sipmon/api/latest/login

The access url is not complete or invalide. Use the --root option to define the API URL Path. For example: --root monitoring.

shell
2020-10-20T10:42:23+02:00 [ERROR]: No route found for “POST /Sipmon/api/latest/platform/topology”

Your Sipmon target version is invalid. It should be greater or equal to 22.10.

Step 6: Extend local DBMS rights

Finally, add rights to Sipmon database user to use LOAD DATA INFILE command:

sql
mysql -u root -p
GRANT FILE on *.* to 'Sipmon'@'localhost';
exit

Step 7: Add the Remote Server to configuration

Go to the Add a Remote Server to configuration.

Step 8: Secure your platform

Do not forget to secure your Sipmon platform following our recommendations