Version 6 (modified by, 5 years ago) (diff)


Installing GENI Operational Monitoring on GRAM

Most of the dependencies and code for GENI Operational Monitoring have been installed on existing racks. However, some configuration may still need to be done by hand.

Configuring opsmon_config.json

Configure /home/gram/gram/opsmon/opsmon_config.json

Replace the three fields in this section with the correct information.

        "base_address" : "",
        "aggregate_id" : "gram-bbncam",
        "aggregate_urn" : ""

Edit Hosts Information: You must find the control ethernet interface, i.e. the interface with 10.10.8 prefix and find the IP address and also find the data ethernet, i.e the interface with 10.10.5 prefix and its corresponding MAC address. The correct urn for the compute nodes must also be replaced with the correct ones for your installation.

 "hosts" : [
                {"id" : "bbn-cam-cmpe-1", "address" : "",
                "urn" : "",
                "interfaces" : {"eth3" : {"address" : "",
                                 "type" : "IPv4", "role" : "CONTROL", "max_bps" : "1000000000"},
                                "eth2" : {"address" : "a0:36:9f:11:0d:60",
                                 "type" : "MAC", "role" : "DATA", "max_bps" : "1000000000"}}},
                {"id" : "bbn-cam-cmpe-2", "address" : "",
                "urn" : "",
                "interfaces" : {"eth3" : {"address" : "",
                                 "type" : "IPv4", "role" : "CONTROL", "max_bps" : "1000000000"},
                                "eth2" : {"address" : "a0:36:9f:20:74:cc",
                                 "type" : "MAC", "role" : "DATA", "max_bps" : "1000000000"}}}

Edit the Ports information. Make sure the URN of each egress port matches the port in the /etc/gram/config.json in the stitching/edge_points section.

"ports" : {
       "": {
        "command"  : ["expect", "/home/gram/gram/opsmon/stats.expect", "te", "0/2"],
        "parser_module" : "parse_interface_stats",
        "parser" : "parse_interface_stats.parse_interface_stats",
        "measurements" : [
        {"table" : "ops_interface_rx_bps", "key" : "input_bytes", "change_rate" : "True"},
        {"table" : "ops_interface_rx_pps", "key" : "input_packets", "change_rate" : "True"},
        {"table" : "ops_interface_tx_bps", "key" : "output_bytes", "change_rate" : "True"},
        {"table" : "ops_interface_tx_pps", "key" : "output_packets", "change_rate" : "True"}

Configuring mysql for monitoring

Run the following sequence of commands:

  1. cd /home/gram/ops-monitoring/local/unit-tests
  2. python ./

Configuring Apache

  1. Fetch the GENI clearinghouse CA root certificate here: - and copy it to /etc/ssl/certs.
  1. In /etc/apache2/sites-available/default-ssl, make sure the following SSL settings are in place. Some of these are commented out by default, so be sure to remove the initial "#".
            SSLEngine on
            SSLCACertificateFile /etc/ssl/certs/
            SSLVerifyClient require
            SSLVerifyDepth  3
            SSLOptions +ExportCertData
  1. Add text to an appropriate VirtualHost directive in your apache configuration. Put this inside the <VirtualHost _default_:443> block of /etc/apache2/sites-available/default-ssl, right below the SSL settings and above the ending </VirtualHost>.
            WSGIDaemonProcess localstore threads=5
            WSGIScriptAlias / /home/gram/ops-monitoring/local/wsgi/localstore.wsgi
            <Directory /home/gram/ops-monitoring/local/wsgi>
                WSGIProcessGroup localstore
                WSGIApplicationGroup %{GLOBAL}
                Order deny,allow
                Allow from all
  1. In order to see WSGI errors if any occur, modify that same VirtualHost block and set:
      LogLevel info
  1. Make sure you haven't introduced any syntax errors in default-ssl: Type sudo apache2ctl configtest
  1. Start or restart Apache: Type sudo service apache2 [start|restart]
  1. Use the certificate attached collector-gpo-withnpkey.pem to this page to verify that you can connect to Apache: Type curl -k --cert path-to/your-tool-cert.pem https://your-apache-host/info/opsconfig/geni-prod

Output should look like:

curl -k --cert ./collector-gpo-withnpkey.pem
{"info": [{"db_schema": [["$schema", "varchar"], ["id", "varchar"], ["selfRef", "varchar"], 
["urn", "varchar"], ["ts", "int8"], ["measRef", "varchar"]], "name": "aggregate"}, 
{"db_schema": [["$schema", "varchar"], ["id", "varchar"], ["selfRef", "varchar"], ["urn", "varchar"], ["ts", "int8"], ["properties$mem_total_kb", "int8"]], "name": "node"}, 
{"db_schema": [["$schema", "varchar"], ["id", "varchar"], ["selfRef", "varchar"], ["urn", "varchar"], ["ts", "int8"]], "name": "link"}, 
{"db_schema": [["$schema", "varchar"], ["id", "varchar"], ...

Attachments (1)

Download all attachments as: .zip