NAME

Zenoss::Router::Events - A JSON/ExtDirect interface to operations on events

SYNOPSIS

    use Zenoss;
    my $api = Zenoss->connect(
        {
            username    => 'zenoss username',
            password    => 'zenoss password',
            url         => 'http://zenossinstance:8080',
        }
    );

    # Replace SOMEMETHOD with one of the available methods provided by this module
    my $response = $api->events_SOMEMETHOD(
        {
            parameter1 => 'value',
            parameter2 => 'value',
        }
    );

DESCRIPTION

This module is NOT instantiated directly. To call methods from this module create an instance of Zenoss. This document serves as a resource of available Zenoss API calls to Zenoss.

METHODS

The following is a list of available methods available for interaction with the Zenoss API. Please take note of the argument requirements, defaults and return content.

The documentation for this module was mostly taken from the Zenoss JSON API docs. Keep in mind that their (Zenoss Monitoring System) programming is based around python, so descriptions such as dictionaries will be represented as hashes in Perl.

$obj->events_query()

Query for events.

ARGUMENTS

limit (integer) - Max index of events to retrieve

start (integer) - Min index of events to retrieve

sort (string) - Key on which to sort the return results

dir (string) - Sort order; can be either 'ASC' or 'DESC'

params (dictionary) - Key-value pair of filters for this search.

history (boolean) - True to search the event history table instead of active events

uid (string) - Context for the query

criteria ([dictionary]) - A list of key-value pairs to to build query's where clause

REQUIRED ARGUMENTS

N/A

DEFAULT ARGUMENTS

{limit => 0, start => 0, sort => 'lastTime', dir => 'DESC', history => JSON::false}

RETURNS

events: ([dictionary]) List of objects representing events

totalCount: (integer) Total count of events returned

asof: (float) Current time

$obj->events_queryHistory()

Query history table for events.

ARGUMENTS

limit (integer) - Max index of events to retrieve

start (integer) - Min index of events to retrieve

sort (string) - Key on which to sort the return results

dir (string) - Sort order; can be either 'ASC' or 'DESC'

params (dictionary) - Key-value pair of filters for this search

REQUIRED ARGUMENTS

N/A

DEFAULT ARGUMENTS

{limit => 0, start => 0, sort => 'lastTime', dir => 'DESC', params => JSON::null}

RETURNS

events: ([dictionary]) List of objects representing events

totalCount: (integer) Total count of events returned

asof: (float) Current time

$obj->events_acknowledge()

Acknowledge event(s).

ARGUMENTS

evids ([string]) - List of event IDs to acknowledge

excludeIds ([string]) - List of event IDs to exclude from acknowledgment

selectState (string) - Select event ids based on select state. Available values are: All, New, Acknowledged, and Suppressed

field (string) - Field key to filter gathered events

direction (string) - Sort order; can be either 'ASC' or 'DESC'

params (dictionary) - Key-value pair of filters for this search

history (boolean) - True to use the event history table instead of active events

uid (string) - Context for the query

asof (float) - Only acknowledge if there has been no state change since this time

REQUIRED ARGUMENTS

N/A

DEFAULT ARGUMENTS

{direction => 'DESC', history => JSON::false}

RETURNS

Success message

$obj->events_unacknowledge()

Unacknowledge event(s).

ARGUMENTS

evids ([string]) - List of event IDs to unacknowledge

excludeIds ([string]) - List of event IDs to exclude from unacknowledgment

selectState (string) - Select event ids based on select state. Available values are: All, New, Acknowledged, and Suppressed

field (string) - Field key to filter gathered events

direction (string) - Sort order; can be either 'ASC' or 'DESC'

params (dictionary) - Key-value pair of filters for this search.

history (boolean) - True to use the event history table instead of active events

uid (string) - Context for the query

asof (float) - Only unacknowledge if there has been no state change since this time

REQUIRED ARGUMENTS

N/A

DEFAULT ARGUMENTS

{direction => 'DESC', history => JSON::false}

RETURNS

Success message

$obj->events_reopen()

Reopen event(s).

ARGUMENTS

evids ([string]) - List of event IDs to reopen

excludeIds ([string]) - List of event IDs to exclude from reopen

selectState (string) - Select event ids based on select state. Available values are: All, New, Acknowledged, and Suppressed

field (string) - Field key to filter gathered events

direction (string) - Sort order; can be either 'ASC' or 'DESC'

params (dictionary) - Key-value pair of filters for this search.

history (boolean) - True to use the event history table instead of active events

uid (string) - Context for the query

asof (float) - Only reopen if there has been no state change since this time

REQUIRED ARGUMENTS

N/A

DEFAULT ARGUMENTS

{direction => 'DESC', history => JSON::false}

RETURNS

Success message

$obj->events_close()

Close event(s).

ARGUMENTS

evids ([string]) - List of event IDs to close

excludeIds ([string]) - List of event IDs to exclude from close

selectState (string) - Select event ids based on select state. Available values are: All, New, Acknowledged, and Suppressed

field (string) - Field key to filter gathered events

direction (string) - Sort order; can be either 'ASC' or 'DESC'

params (dictionary) - Key-value pair of filters for this search.

history (boolean) - True to use the event history table instead of active events

uid (string) - Context for the query

asof (float) - Only close if there has been no state change since this time

REQUIRED ARGUMENTS

N/A

DEFAULT ARGUMENTS

{direction => 'DESC', history => JSON::false}

RETURNS

Success message

$obj->events_detail()

Get event details.

ARGUMENTS

evid (string) - Event ID to get details

history (boolean) - True to search the event history table instead of active events

REQUIRED ARGUMENTS

evid

DEFAULT ARGUMENTS

{history => JSON::false}

RETURNS

event: ([dictionary]) List containing a dictionary representing event details

$obj->events_write_log()

Write a message to an event's log.

ARGUMENTS

evid (string) - Event ID to log to

message (string) - Message to log

history (boolean) - True to use the event history table instead of active events

REQUIRED ARGUMENTS

evid

message

DEFAULT ARGUMENTS

{history => JSON::false}

RETURNS

Success message

$obj->events_classify()

Associate event(s) with an event class.

ARGUMENTS

evids ([string]) - List of event ID's to classify

evclass (string) - Event class to associate events to

history (boolean) - True to use the event history table instead of active events

REQUIRED ARGUMENTS

evids

evclass

message

DEFAULT ARGUMENTS

{history => JSON::false}

RETURNS

msg: (string) Success/failure message

success: (boolean) True if class update successful

$obj->events_add_event()

Create a new event.

ARGUMENTS

summary (string) - New event's summary

device (string) - Device uid to use for new event

component (string) - Component uid to use for new event

severity (string) - Severity of new event. Can be one of the following: Critical, Error, Warning, Info, Debug, or Clear

evclasskey (string) - The Event Class Key to assign to this event

evclass (string) - Event class for the new event

REQUIRED ARGUMENTS

summary

device

component

severity

evclasskey

evclass

DEFAULT ARGUMENTS

N/A

RETURNS

evid: (string) The id of the created event

$obj->events_column_config()

Get the current event console field column configuration.

ARGUMENTS

uid (string) - UID context to use

history (boolean) - True to use the event history table instead of active events

REQUIRED ARGUMENTS

N/A

DEFAULT ARGUMENTS

{history => JSON::false}

RETURNS

A list of objects representing field columns

SEE ALSO

AUTHOR

Patrick Baker <patricksbaker@gmail.com>

COPYRIGHT AND LICENSE

Copyright (C) 2010 by Patrick Baker <patricksbaker@gmail.com>

This module is free software: you can redistribute it and/or modify it under the terms of the Artistic License 2.0.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

You can obtain the Artistic License 2.0 by either viewing the LICENSE file provided with this distribution or by navigating to http://opensource.org/licenses/artistic-license-2.0.php.