Flight Message requires a recent version of ruby
(2.5.1<=) and bundler
.
The following will install from source using git
:
git clone https://github.com/openflighthpc/flight-message.git
cd flight-message
bundle install
The entry script is located at bin/message
Flight Runway provides the Ruby environment and command-line helpers for running openflightHPC tools.
To install Flight Runway, see the Flight Runway installation docs.
These instructions assume that flight-runway
has been installed from the openflightHPC yum repository and system-wide integration enabled.
Install Flight Message:
[root@myhost ~]# yum -y install flight-message
Flight Message is now available via the flight
tool::
[root@myhost ~]# flight message
NAME:
flight message
DESCRIPTION:
Asset notification handling system
COMMANDS:
create Create a new message
delete Delete an existing message
delete-cluster Remove a cluster
<snip>
Then, if you wish to set up Message as a server you will need to run:
./support/apache_server_conf-centos7.sh
As the name might suggest, this has only been tested on CentOS7.
Additionally, there is a single line install available for blank CentOS 7 machines that handles the installation of Flight Runway, Flight Message and sets up the machine as an Apache server for handling requests from a private network.
curl https://raw.githubusercontent.com/openflighthpc/flight-message/master/support/install-centos7.sh | bash
There is also a one line curl for setting up a machine as a client, sending power information to flight message once and hour. That line is:
curl https://raw.githubusercontent.com/openflighthpc/flight-message/master/support/setup-client.sh | bash -s IP_OF_SERVER
Where 'IP_OF_SERVER' is the address of the server machine, set up as above.
There is also a script for exporting Message data to an existing, preconfigured Ganglia server.
It will export key-value pairs in each asset's most recent status as floats using gmetric
.
It will try its best to split this value into a numerical value and units (if present) - IT IS
NOT DESIGNED TO WORK WITH NON-NUMERICAL VALUES, any values that can't be cast to a float will
be ignored by Ganglia.
The script is found at support/output_via_gmetric.rb. It should be ran regularly on the server via a cron job or equivalent.
It is also potentially very fragile in general; it has only been tested with a restricted set of key-value pairs and should be used with care.
The following section assumes you have a working Vagrant installation.
In the project's root directory there is a Vagrantfile for the setup of a test environment. To enable it as a server simply:
cd flight-message
vagrant up
During this process you will need to select the correct network interface for your machine.
At the end of the output during this process the new machine's ip addr
data will be displayed. Contained in this is the machine's public network IP address.
In the (likely) case that your network isn't on the 10.10 range you will need to:
vagrant ssh
sudo -s
vi /opt/flight/opt/message/support/apache_server_conf-centos7.sh
From here change the Allow from 10.10.0.0/16
line to a subnet mask valid for your network.
More information on subnet masks here. Then save the file, exit it, and:
chmod 744 /opt/flight/opt/message/support/apache_server_conf-centos7.sh
/opt/flight/opt/message/support/apache_server_conf-centos7.sh
exit
exit
The vagrant machine will now be respond to requests just remember to export FLIGHT_MESSAGE_SERVER=<YOUR_IP>
before executing collector scripts.