Table des matières

Installing an Esia Galaxy server

Installation

Requirements

To MINIMUM (depending on the number of services), a server or VM with :

Attention If you would like a 30-day test licence, please contact the sales department at the following e-mail address: licence@esia-sa.com

Voir this link for step-by-step installation of Debian. When selecting software, I recommend unchecking everything except 'SSH server'.

Software selection menu See 'Choosing software to install' on the tutorial

Adding the esia repo

In order to install Galaxy on your server, you need to add our repository to the list of trusted repositories on your server. To do this, simply enter the following commands.

copy
echo "deb http://stable.repository.esia-sa.com/esia bullseye contrib non-free" >> /etc/apt/sources.list
wget -O- "http://stable.repository.esia-sa.com/esia/gnupg.key" | apt-key add -

Install packages

Enter the following commands:

copy
apt-get update
apt-get install esia-galaxy-base -y

For remote access to your Galaxy

Via Windows

Example on PuTTy Téléchargeable here. Once it has been installed and launched, follow the steps below:

Putty Image window

The login and password to be entered are those entered for the user created when you installed your Debian 11 bullseye.

Creating a Debian user

Via Mac or GNU/Linux

$USERNAME corresponding to the user login and $IP the IP address of your VM.

Example:

elessar@julien-esia-pc ~ $ ssh esiauser@10.12.0.203

The authenticity of host '10.12.0.203 (10.12.0.203)' can't be established.
ECDSA key fingerprint is SHA256:vB+p7UwKmXbdrQDctldkEI5sJIFqz4TdbAK4j8jyqJ4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.12.0.203' (ECDSA) to the list of known hosts.
esiauser@10.12.0.203's password:

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

***** Welcome to Esia Galaxy !!! *****

With root permissions. You can configure your server with command "esia-configure".

* Network with esia-configure -S net
* Users with esia-configure -S user
* Alerting mail with esia-configure -S mail

For example for a first setup :

* esia-configure -S user -A add -u galaxy -e jdoe@example.com -P
* esia-configure -S mail -u alert@example.com -P -r smtp.mail.example.com:465
* esia-configure -S net -M static -i eth1 -a 10.12.0.201 -m 255.255.255.0 -g 10.12.0.254 -n 8.8.8.8

For more help, you can :

* run esia-configuration --help
* visit page http://wiki.esia-sa.com
* send mail to support@esia-sa.com
* call +32 (0) 42 87 75 80 or +33 (01) 86 95 80 41

esiauser@debian-buster:~$

Get root(s) rights

Depending on the configuration of your Debian system :

Using su :

esiauser@debian-buster:~$ su -
Password:
root@debian-buster:/home/esiauser#

Using sudo :

esiauser@debian-buster:~$ sudo -i
Password:
root@debian-buster:/home/esiauser#

Note that the password is different depending on the user:

Configuring the Galaxy for the first time

The command esia-configure command on your Esia Galaxy to perform the configuration operations required for your server to function correctly. This command allows you to :

Users managed by esia-configure are those who will be able to access the Esia web interface. To configure Debian users (SSH connection for example). Use the basic GNU/Linux commands:

This tutorial explains the main uses ofesia-configure. For more advanced use, see the :

copy
esia-configure --help

Creating the first user IDs

I recommend that you start by creating 2 user IDs, 1 for yourself and one for your Esia Infinity server. The syntax is :

copy
esia-configure -S user -A add -u $LOGIN -e $EMAIL -P

The options are :

  1. S user (Section) to specify that you want to act on the user section
  2. A add (Action add) to specify that you want to add a user
  3. u $LOGIN (User) replace $LOGIN with the desired user.
  4. e $EMAIL (Email) replace $EMAIL with the email address of the desired user.
  5. P (Prompt password) to enter the user password securely. (The -p $PASS option, used in certain cases, will keep the password in the history of commands entered).

Examples for creating an Infinity user and a jdoe user :

root@debian-buster:/# esia-configure -S user -A add -u jdoe -e jdoe@example.com -P
Password:
Confirm password:
Do you want to add user jdoe,jdoe@example.com with root permissions
Do you wish to apply this ? (y,n) y
root@debian-buster:/#
root@debian-buster:/# esia-configure -S user -A add -u infinity -e infinity@example.com -P
Password:
Confirm password:
Do you want to add user infinity,infinity@example.com with root permissions
Do you wish to apply this ? (y,n) y

If your Galaxy can already be reached on the web (IP address and/or urls already configured), the user jdoe can now connect and you can integrate your Esia Galaxy into your Esia Infinity server (with the infinity login).

Configuration of the email alerting system

Before starting, you need an SMTP mail server capable of relaying the mails generated by your Esia server. This mail server must of course be reachable by Esia. To access this mail server, the Esia server will need to know :

  • the email address that the Esia server will use to send these emails. (Example: no-reply@example.com or alert@example.com)
  • the IP or domain name of your relay mail server.
  • SMTP port used (25, 465, …).
  • an authentication login if necessary.
  • the password corresponding to the login if necessary.

The command syntax is :

copy
esia-configure -S mail -f $EMAIL -r $HOST:$PORT -u $LOGIN -P

Not all parameters are mandatory. They correspond to :

  • -S mail (Section) to specify that you wish to act on the mail section
  1. f $EMAIL (From) replace $EMAIL with the email address assigned to the server (Example: no-reply@example.com)
  2. r $HOST:PORT (Relayhost) replace $HOST with the url of your mail server (smtp.example.com) and $PORT with the port (25,465, …)
  3. u $LOGIN (User) replace $LOGIN with the desired user.
  4. P (Prompt password) to enter the user password securely. (The -p $PASS option, used in certain cases, will keep the password in the history of commands entered.)

Example:

root@debian-buster:/# esia-configure -S mail -f alert@example.com -r smtp.example.com:465 -u alert -P
Password:
Confirm password:
This settings will be set :

From changed => alert@example.com
Relayhost: => smtp.example.com:465
User changed => alert
Pass changed

Do you wish to apply this ? (y,n) y
root@debian-buster:/#

Now test your SMTP connection Test sending emails.

Server network configuration

Always use the command esia-configure.

The possible syntaxes are :

esia-configure -S net -M static -i $IFACE -a $IP -m $MASK -g $ROUTER -n $DNS1,$DNS2

esia-configure -S net -M static -i $IFACE -a $IP -m $MASK

esia-configure -S net -M static -i $IFACE -g $ROUTER

esia-configure -S net -n $DNS1,$DNS2

The parameters are :

  1. S net (Section) to specify that you want to act on the net section.
  2. M static|dhcp (Mode) to specify whether the interface is to be configured as static or dhcp.
  3. i $IFACE (Interface) network interface to configure (eth0, …).
  4. a $IP (Address) is the IP address assigned to the network interface.
  5. m $MASK (Mask) is the subnet mask corresponding to the IP address (255.255.255.0, …).
  6. g $ROUTER (Gateway) is the gateway or router used to exit the network.
  7. n $DNS1,$DNS2 (Nameservers) is the dns server(s) to be used. (List separated by « , » the first being given priority).

Warning: if you are using an SSH connection, changing the network configuration may cause the connection to be lost (possible crash of the current terminal). You must then reconnect to the new IP address.

Example :

root@debian-buster:/# esia-configure -S net -M static -i eth0 -a 192.168.1.10 -m 255.255.255.0 -g 192.168.1.1 -n 192.168.1.1,8.8.8.8
#Generate configuration is :
##For /etc/network/interfaces
iface lo inet loopback

auto eth1
allow-hotplug eth1
iface eth1 inet static
    address 10.12.0.203
    netmask 255.255.255.0
    broadcast 10.12.0.255

auto eth0
allow-hotplug eth0
iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    gateway 192.168.1.1


##For /etc/resolv.conf
domain esia.local
search esia.local
nameserver 192.168.1.1
nameserver 8.8.8.8

#If you apply, your ssh connection could be lost
#Do you wish to apply this ? (y,n) y

Go to your Esia main web page and add the licence

After the update, connect to your Esia server and refresh your browser cache (ctrl +F5 in Firefox). The menu button bugs will be corrected. Once this is done, you will notice two error messages in your Esia:

Error Esia program not started

and

Licence not found. click here to add a licence file

Licence not found

These 2 error messages are linked, the Esia daemon cannot start until the licence is activated.

To activate it, simply :

  1. Click on the link here in the error message.
  2. Click on the button load the licence file.
  3. Click on the button Apply

Activate the licence

The licence error message disappears. But Error Esia program not started is still present. See next step.

Wait for the Esia daemon to restart or launch it manually

At this stage, either :

copy
service esia restart

The error message in the interface will disappear.

Integrating a Galaxy into an Infinity/Mercury

Adding the Galaxy node

To do this, you need to add a 'Galaxy' node

  1. Go to the node administration page (jagged wheel in the menu).

  2. Click on the 'Add a new node' button (in the 'Nodes' tab, top right button to the left of the printer icon).

    Node administration page IMG:Administration->nodes => click on add node

  3. Configure your node in the same way as all other nodes.

    • Give it a name.

    • Configure an IP address

    • Be careful to choose the type of node: Galaxy.

      Setting the node type

  4. Configure the connection parameters to the Galaxy server.

    • A URL

    • A port

    • A login configured (on the Esia Galaxy) using the 'esia-configure' command line or the web interface.

      Galaxy access parameters

  5. This setting is saved in the node's “Advanced settings” under the name API. You can change it later.

    Advanced node settings IMG:Confirm and see success message

  6. You can now view your Galaxy in the Node Administration page and click on the small magnifying glass to view Galaxy status and/or configure/add services.

    Galaxy line in node administration page IMG:Administration->nodes => Galaxy added

Galaxy node pages

On your Infinity, when you click to view your Esia Galaxy node, you go directly to the 'Service Status' tab. Here you can see :

You'll also see the usual 'Service Status' table, where you can see which monitoring services have been added.

Galaxy service status IMG:Nodes[:type=Galaxy]->Service status

The Current Alerts tab lets you view your Galaxy's alerts page as if you were there.

Current alerts on the Galaxy IMG:Nodes[:type=Galaxy]->Current alerts

The “Node groups” tab allows you to add services to monitor the status of a group of nodes.

Quick addition of group monitoring services=Galaxy->Groups of nodes

You can view the newly added group supervision services directly in the service status.

Service status with the added service

Adding services

There are currently 3 monitoring plugins that can be applied to a Galaxy.

On the Galaxy node's “Service Status” page, in the top right-hand corner, you can click on the icon (hand with toothed wheel) to add new services.

Service status, button for manually adding services IMG:Nodes[:type=Galaxy]->Service status => Add service button

Using the service name filter, with the word “API”, we can see our 3 Galaxy plugins.

Search for Galaxy services IMG:Choose services->Filter name:API

To add the CHECK_API_ALERT plugin, simply tick it and then click on 'Quick add'.

Adding the alert monitoring service IMG:Choose services->CHECK_API_ALERT

If you wish to monitor the status of a particular node, you will need to click on the “Configure” button.

Adding the node status monitoring service IMG:Choose services->CHECK_API_NODE_STATE

Enter the name of the node to be monitored.

Configuring the node status monitoring service IMG:Configure service->CHECK_API_NODE_STATE