Introduction

NEET (N agios E xternal E xperiment T ests), is a tool to send experiment tests via "MSG" (Message BUS) to a specific QUEUE. Nagios reads from the queue and publishes the information.

NEET (Nagios External Experiment Tests)

Neet is written in python. It contains 3 files:

  • exp_test_result_parser.py
  • exp_test_result_publisher.py
  • neet.cfg

exp_test_result_parser.py

In order to use NEET, you have to follow these steps:

1. Run exp_test_result_parser.py . The script reads the information regarding the experiment tests from file. The path to the input file must be passed as first argument to the script. The input file must contain a section with the metrics used in the input file itself. The metrics must be described in a dictionary structure and for each field the user has to specify the position of the field in the input file, i.e.::

show hide

_metrics  = {
            'hostName' : {'metric_description': " Host Name",
                                'field_position'   : 0,
                               }, 
            'QueueName' : {'metric_description': "Queue Name",
                                'field_position'   : 1,
                               },
            'spaceTokenName' : {'metric_description': "Space Token Name",
                                'field_position'   : 2,
                               },
            'status' : {'status': "Status in string format",
                                'field_position'   : 3,
                               },
            'metricStatus' : {'metric_description': "......",
                                'field_position'   : 4,
                               },
            'jobId' :  {'metric_description': "Job ID",
                                'field_position'   : 5,
                               },
            'AthenaExitCode' : {'metric_description': "Athena Exit Code",
                                'field_position'   : 6,
                               },
            'metricName' : {'metric_description': "......",
                                'field_position'   : 7,
                               },
            'dataSetName' : {'metric_description': "......",
                                'field_position'   : 8,
                               },  
            'startTime' : {'metric_description': "start time of the Job",
                                'field_position'   : 9,
                               },
            'endTime' : {'metric_description': "end time of the Job",
                                'field_position'   : 10,
                               },
            }

2. Create a new dictionary with the specific metric for Nagios, for example:

hostName: ce5.pic.es 
metricName: org.atlas.WN-gangarobot_wms-atlas
metricStatus: OK
timestamp:2010-08-16T08:18:44Z
summaryData: UA 15.6.9 LCG..  
detailsData: all text 
EOT 

3. call the method send of exp_test_result_publisher to dispatch the information into MSG

exp_test_result_publisher.py

This script, is only used to publish information to Nagios,

The method format_Message takes the metrics dictionary as first parameter and uses it to create a message in "WLCG format" which can be read by Nagios. The message is sent via MSG to a dedicated QUEUE where Nagios is listening.

...
  send ('hostName: '+_metrics ['hostName'] +'\n'+
        'metricName: '+_metrics ['metricName']+'\n'+
        'metricStatus: '+_metrics ['metricStatus']+'\n'+
        'timestamp: '+_metrics ['timeStamp']+'\n'+
        'summaryData: '+_metrics ['summaryData']+'\n'+
        'detailsData: '+_metrics ['detailsData']+'EOT\n') 

..
  conn.send(message,destination=QUEUE, ack='auto')
...
neet.cfg

The user should use this file to define the parameters for the connection to MSG using the stomp protocol.


[Connection]
HOST: gridmsg002.cern.ch 
PORT: 6163
QUEUE: /queue/grid.probe.metricOutput.EGEE.bece5c857f68263c125890256fa8833c
....

Usage

...

-- AleDiGGi - 16-Aug-2010

Edit | Attach | Watch | Print version | History: r11 | r9 < r8 < r7 < r6 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r7 - 2010-08-19 - unknown
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    LCG All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback