First checkout the tag openbach-2.0.0-prerelease and install from it.
Then checkout the tag openbach-2.0.0 and install from it.
This will allow you to run the required data migration in your controller's database so its content is ready for the database schema used in OpenBACH 2.x
You will then be able to install from the version you wish.
To get to Django framework access of OpenBACH controller,
Go to the URL: http://@IP_controller:8000/admin
There you can login with openbach controller users and have access to all OpenBACH controller details. Can be useful to clean data of the controller.
If you want a more direct access, Chronograf is installed by default with OpenBACH.
Go to the URL: http://@IP_collector:8888/
to access Chronograf interface.
This is really useful to get data not seen on controller, debug...
Post-processing jobs time_series
and histogram
are bundled with OpenBach. You can use them
to generate figures using data generated by jobs of the same scenario they are run into.
If it doesn't suit you, or you want to compare data from several scenarios, you can either:
- Export CSV data of the scenarios you want to explore and analyse them yourself;
- Or use the executors post-processing capabilities to integrate the analyse in a script of your own.
If you want your controller to be a standalone NTP server (this is very useful if your platform is isolated without external access), the NTP service of the Controller needs to synchronize with its own clock. This way, the Controller will be considered synchronized and the Agent will be able to synchronize with it. For that, follow the steps below.
On the Controller
Remove external NTP servers in /etc/ntp.conf
(i.e. comment the lines with "pool ..."
or "server ...") and make NTP use the local time with the following configuration in the ntp.conf
:
server 127.127.1.0
fudge 127.127.1.0 stratum 9
Restart the ntp service (sudo systemctl restart ntp.service
). To check if it works
correctly, do ntpq -p
and you will see something like that:
remote refid st t when poll reach delay offset jitter
==============================================================================
*LOCAL(0) .LOCL. 9 l 4 64 377 0.000 0.000 0.000
On the Agents
Go to /etc/ntp.conf
and add "prefer" at the end of the server line:
server *your_controller_ip* iburst prefer
Restart the NTP service (sudo systemctl restart ntp.service
). To check if it
works correctly, do ntpq -p
and you will see something like that:
remote refid st t when poll reach delay offset jitter
==============================================================================
your_controller_ip .INIT. 16 u 31 64 0 0.000 0.000 0.000
Starting from OpenBACH 2.0, you can easily modify the IP of an Agent from the administrative screen of the frontend. If the Agent is on a collector, you should see its updated address in the list of collectors.
Otherwise, before OpenBACH 2.0, we consider herein that the controller and the collector (and their Agent) are on the same host.
- Launch the script
change_collector_address
of the [Auditorium-scripts]./change_collector_address.py old_address new_address --login your_admin_login
your_admin_login
isopenbach
by default. - Change Controller IP address on Nginx server. For that, go to
/etc/nginx/sites-available/default
and change the address (e.g. if you use vim,:%s/old_address/new_address/gc
). And restart Nginx (sudo systemctl restart nginx.service
). - Do not forget to have a default route on your machine (if it is not the case, the controller won't be able to contact its own agent)
- Modify the IP address on the Kibana configuration file (
/etc/kibana/kibana.yml
) and restart the service (sudo systemctl restart kibana.service
) - Modify IP used by rsyslog configuration of their agent. Go to
/etc/rsyslog.d/
and modify the IP address of all openbach files (e.g.sudo sed -i 's/old_address/new_address/g' *
) - In the Grafana dashboard, change IP address of InfluxDB DB on the DataSources sections (except in the case where you specified localhost:8086).
If you want to move only an Agent, you need to:
- Modify Agent IP address on the django database (
new_ip_controller:8000/admin/
where login=admin and passwd=admin)). Go to Agents section and modify the IP address of the Agent.
It is also possible to change IP addresses of Controller and Collector if they are on separate hosts (with some minor differences).
OpenBACH agents run seamlessly on ubuntu 20.04 LXC containers. For the controller, check that
- the acl packet is installed. If not, it can be installed on the controller
lxc by running
apt install acl
- on the host, set the
vm.max_map_count
to 26214:sysctl -w vm.max_map_count=262144
The rest of the installation process is identical.