Skip to main content

Cisco ESA Rest API

Pack Assets​

Monitored Objects​

The Pack Cisco ESA collects metrics for:

  • System

Collected Metrics​

Metric nameDescriptionUnit
system.cpu.utilization.percentageCpu utilization%
system.memory.usage.percentageMemory usage%
system.swap.usage.percentageSwap usage%
system.resource.conservation.current.countCurrent resource conservation
system.queue.messages.quarantine.current.countNumber of messages in quarantine
system.queue.messages.workqueue.current.countNumber of messages in workqueue
system.queue.utilization.percentageQueue utilization

Prerequisites​

To control your Cisco ESA, the Rest API must be configured. E.g: https://www.cisco.com/c/en/us/support/security/email-security-appliance/products-programming-reference-guides-list.html

Setup​

  1. Install the Centreon Plugin on every Poller:
yum install centreon-plugin-Network-Cisco-Esa-Restapi
  1. On the Centreon Web interface in Configuration > Monitoring Connector Manager, install the Cisco ESA Rest API Pack

Host configuration​

  • Add a new Host and apply the Net-Cisco-Esa-Restapi-custom Host Template

Once the template applied, some Macros have to be configured:

MandatoryNameDescription
XAPIPORTPort used (Default: 443)
XAPIPROTOSpecify https if needed (Default: 'https')
XAPIUSERNAMEApi username
XAPIPASSWORDApi password
APIEXTRAOPTIONSAny extra option you may want to add to the command (eg. a --verbose flag)

How to test the Plugin and what are the main options for?​

Once the plugin installed, log into your Centreon Poller CLI using the centreon-engine user account and test the Plugin by running the following command (Parameters such as api-username or api-passwordhave to be adjusted):

/usr/lib/centreon/plugins/centreon_cisco_esa_restapi.pl \
--plugin=network::cisco::esa::restapi::plugin \
--mode=system \
--hostname='10.30.2.79' \
--port='443' \
--proto='https' \
--api-username='myapiusername' \
--api-password='myapipassword' \
--warning-cpu-utilization='90' \
--critical-cpu-utilization='95' \
--verbose

Expected command output is shown below:

OK: System is ok | 'system.cpu.utilization.percentage'=78%;0:90;0:95;0;100 'system.memory.usage.percentage'=5.00%;;;0;100 'system.swap.usage.percentage'=0.00%;;;0;100 'system.resource.conservation.current.count'=0;;;0; 'system.queue.messages.quarantine.current.count'=1;;;0; 'system.queue.messages.workqueue.current.count'=0;;;0; 'system.queue.utilization.percentage'=0.092%;;;0;100
checking system
cpu utilization: 78.00%
memory usage: 5.00 %, swap usage: 0.00 %
current resource conservation: 0
messages in quarantine: 1, workqueue: 0
queue utilization: 0.09%

The command above monitors system (--mode=system).

It uses api-username (--api-username='myapiusername'), an api-password (--api-password='myapipassword') and it connects to the host 10.30.2.79 (--hostname='10.30.2.79') on the port 443 (--port='443') using https (--proto='https').

All the options as well as all the available thresholds can be displayed by adding the --help parameter to the command:

/usr/lib/centreon/plugins/centreon_cisco_esa_restapi.pl \
--plugin=network::cisco::esa::restapi::plugin \
--mode=system \
--help

Troubleshooting​

Troubleshooting plugins