Zenoss
Supported Versions | Type | Authentication Type |
---|---|---|
Zenoss Core 4, 5, 6 | Agent | Org Bearer Token |
Zenoss monitors performance and availability across your IT infrastructure. The BigPanda Agent queries for all new Zenoss events and for changes in event states in real-time via the Zenoss API. To ensure a full sync of all current alerts, the agent also queries for all Zenoss events at regular, configurable intervals.
Key Features
Keeps you up-to-date on the status of Zenoss events and all relevant event attributes.
Correlates Zenoss events into actionable incidents in BigPanda, so you can easily manage the events and the associated devices.
How and When Alerts are Closed
When Zenoss sends a close event for an alert, the alert is automatically closed in BigPanda. However, closing an alert manually in BigPanda does not close the alert in Zenoss.
Install the Integration
Install the integration by following these steps:
Zenoss Data Model
BigPanda normalizes alert data from Zenoss into tags. You can use tag values to filter the incident feed and to define filter conditions for Environments. The primary and secondary properties are also used during the deduplication and correlation processes.
Zenoss Standard Tags
Tag | Description | Attributes |
---|---|---|
| Name of the device for which the event occurred. | |
| Event key (or event class, if the event key does not exist) and component, if it exists. For example: "/Status/Heartbeat on zenmodeler" | Secondary Property |
| Number representing the severity of the event, mapped to:
| |
| Summary of the event. | |
| Message body of the event. This value may be the same as the summary. | |
| Zenoss daemon reporting the event. | |
| Event class the event maps to. | |
| User-defined mapping for the event. | |
| IP address of the device. | |
| Production state of the device. | |
| Names of the Zenoss system organizers for the device. | |
| When state of the device last changed | Used as alert timestamp |
| Names of the Zenoss group organizers for the device. | |
| Device class. | |
| URL of the device. | |
| Names of the Zenoss location organizers for the device. | |
| Monitor for the device. |
Customize Zenoss
To ensure a full sync of all current alerts, the BigPanda agent queries for all Zenoss events at regular intervals. You can configure the query interval or disable the full sync by editing the config file for the agent.
Before You Start
Obtain access to the server where the BigPanda agent is installed.
Install the Integration
Install the integration by following these steps:
Configure the Query Interval
You may want to configure the full sync to reduce the load on your Zenoss server, depending on the average volume of events Zenoss generates.
Open the config file, which is located at
/etc/bigpanda/bigpanda.conf
.Locate the settings for the Zenoss full sync, named
zenoss/fullsync
.Change the value of the
full_sync_interval
to your preferred interval between full syncs, in seconds. The default value is 900 (15 minutes).
Disable the Full Sync
Full sync
The full sync acts as a backup to the incremental sync to ensure accuracy. Disable this feature only if you need to reduce the load on your Zenoss server.
Open the config file, which is located at
/etc/bigpanda/bigpanda.conf
.Locate the settings for the Zenoss full sync, named
zenoss/fullsync
.Add the following key and value pair:
"enabled": false
.
Add pair
Make sure you add the pair outside of the config property.
"name": "zenoss/fullsync", "enabled": false, "config": { "user": "BigPanda",... },
Uninstall the Integration
To stop sending Zenoss events to BigPanda, you can uninstall the agent from the server or remove the Zenoss integration from the agent.
Before You Start
Remove any data in BigPanda. For example, modify or remove any Environments or AutoShare rules that reference the integration. All active alerts from the integration will be resolved after deletion.
Obtain access to the server where the BigPanda agent is installed.
Determine if the agent on the server supports only the Zenoss integration or supports multiple BigPanda integrations.
Determine the OS on the server.
Replacing existing integrations
When replacing an existing integration with a new tool or system, we recommend configuring the new integration first to ensure no data is lost.
Deactivate the Integration
If you want to stop sending data to BigPanda but don’t want to delete your integration, you can temporarily deactivate it.
To deactivate an inbound integration:
In BigPanda, navigate to the Integrations tab and select the desired integration from the list. This will open integration details on the right side of the window.
At the top of the integration details, click the Active/Inactive toggle next to the application name to change the status of the integration.
Alert resolution for inactive integrations
Any active alerts belonging to an inactive integration must be manually resolved or they will stay in the system until the auto-resolve window is reached.
Uninstall the Agent
If the agent supports only the Zenoss integration, you can uninstall the agent from the server.
BigPanda Agent
Do not uninstall the BigPanda agent if it is supporting other BigPanda integrations. In this case, remove the Zenoss integration from the agent.
Remove the Zenoss Integration from the Agent
If the agent is supporting multiple integrations, you can remove only the specific integration without disabling the other BigPanda integrations that the agent supports.
Stop the BigPanda agent by running the following command.
sudo service bigpanda stop
Remove the integration from the agent configuration file by running the following command. Replace the app key with the corresponding value in BigPanda.
sudo bigpanda-config -r <INTEGRATION APP KEY>
Start the BigPanda agent by running the following command.
sudo service bigpanda start
Delete the Integration from BigPanda
In BigPanda, navigate to the Integrations tab and select the desired integration from the list.
In the integration details on the right of the page, click the trash icon, then confirm you want to delete the integration. The integration will then be removed immediately.
Alert resolution for deleted integrations
All active alerts from the integration will be resolved after deletion.
Data removal
This procedure does not remove any data from the integrated system.
Install the Integration with Debian or Ubuntu
The BigPanda agent is a low-footprint utility installed on the master host of your monitoring tool. It consumes alerts from the tool in real-time and then transmits them to BigPanda via TLS-encrypted HTTP calls.
Python Compatibility
To use the Open Integration Manager for Agent-based integrations, Python version>= 3.8.0 and an Agent version >= 10.2 are required.
Prerequisites
python >= 3.8 and python-pip3 should be installed prior to installing the bigpanda-agent package.
Ensure python3 is installed with the following command:
$ sudo apt install -y python3
Verify the install with the following commands:
$ python3 --version $ pip3 --version
Note: If pip3 was not installed as a dependency, it can be installed with sudo apt install -y python3-pip
.
Note: Access to JFrog, pypi, and yum repositories are required to install all dependencies.
Install the BigPanda Agent on Debian and Ubuntu
Connect to a host that can access the API endpoints and install the BigPanda agent package.
Ensure packages are installed prior to downloading the BigPanda agent package:
$ sudo apt update && sudo apt install -y gnupg2 curl lsb-release
Add the BigPanda repository and download the OpenPGP key:
$ echo deb https://bigpandaio.jfrog.io/artifactory/int-deb `lsb_release -c -s` main | sudo tee /etc/apt/sources.list.d/bigpanda.list $ curl -sL https://bigpandaio.jfrog.io/artifactory/api/security/keypair/bigpanda/public | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/bigpanda.gpg > /dev/null
The
--dearmor
option is for unpacking input from an OpenPGP ASCII armored key.Since
apt-key
is marked to be deprecated on future releases of Debian and Ubuntu, it is preferred to manage keyring files in trusted.gpg.d instead.Note:
apt-key
can still be used in place of OpenPGP, but it is less secure.$ curl -sL https://bigpandaio.jfrog.io/artifactory/api/security/keypair/bigpanda/public | sudo apt-key add -
Update the repo list and install the BigPanda agent package.
$ sudo apt update $ sudo apt install -y bigpanda-agent
Note: For the OIM, bigpanda-agent v10.0.0+ is required.
Troubleshooting:
Error:
E: The method driver /usr/lib/apt/methods/https could not be found. N: Is the package apt-transport-https installed?
Solution:
$ sudo ln -sf /usr/lib/apt/methods/http /usr/lib/apt/methods/https $ sudo apt install -y apt-transport-https $ sudo apt update
Configure the BigPanda Agent
Generate the agent's configuration file:
$ sudo bigpanda-config --init --token <Your Org Bearer Token>
And add the Zenoss plugin with the application key you created in step 1:
$ sudo bigpanda-config --add --app-key <Your App Key>
When prompted, enter the base URL of the Zenoss.core web interface and a valid username and password.
Note: You may want to create a dedicated user for BigPanda, the required role is ZenUser
.
Set Zenoss timezone
Zenoss uses the timezone that has been set in the system that it is installed on. Connect to the server Zenoss is installed on, check the timezone, and select it below.

Start the BigPanda Agent
$ sudo service bigpanda start
Success
You should be able to see all your active alerts from this integration in the Incidents tab.
Install the Integration with Docker
The BigPanda agent is a low-footprint utility installed on the master host of your monitoring tool. It consumes alerts from the tool in real-time and then transmits them to BigPanda via TLS-encrypted HTTP calls.
Python Compatibility
To use the Open Integration Manager for Agent-based integrations, Python version>= 3.8.0 and an Agent version >= 10.2 are required.
Prerequisites
Docker Desktop or Docker Engine must be installed prior to installing the BigPanda agent docker image
.
Follow the Docker Installation Guide for your system.
If using
Docker Compose
, follow the Install Docker Compose guide to ensure the latest version of compose is installed on your system.Docker Compose
is built with the latest version ofDocker Desktop
.If using
Docker CLI
, ensureDocker CLI's Compose Plugin
is installed separately.
Note: If you have issues running any of the docker commands, you either need to run docker with sudo
, or add your user to run in the docker group as a non-root user.
Environment Variables
The docker image provides the following environment variables, which can be used to initialize the agent with the appropriate plugin.
BP_TOKEN: Initializes the BigPanda Agent Bearer Token
SNMP_APP_KEY: Initializes the BigPanda Agent Bearer Token
HTTP_PROXY: Adds the proxy settings to bigpanda.conf
FORCE_APP_KEY: Set to
true
to override the existing plugin app keyNAGIOS_APP_KEY: Sets the Nagios App Key and configures the plugin
NAGIOS_USER: Sets the Nagios Username and is required to set up Nagios plugin
ZABBIX_APP_KEY: Sets the Zabbix App Key and configures the plugin
ZENNOSS_APP_KEY: Sets the Zenoss App Key and configures the plugin
ICINGA_APP_KEY: Sets the Icinga App Key and configures the plugin
Pull the BigPanda docker image
Pull the
latest
BigPanda agent docker image from the BigPanda JFrog Docker Registry:docker pull bigpandaio-int-docker.jfrog.io/bigpanda-agent:latest
Check that the latest image was downloaded successfully:
docker image ls
Optional:
You can configure a dedicated docker network for the agent. This is useful if you require the agent to communicate with other docker services.
Create the docker network:
docker network create <network-name>
Check that the network was created:
docker network ls
Configure a docker container to work with Zenoss
Run the container in detached mode, passing both
BP_TOKEN
andZENOSS_APP_KEY
environment variables todocker run
.docker run -dit \ --name bp_agent \ -e BP_TOKEN=<Your Org Bearer Token> \ -e ZENOSS_APP_KEY=<Your App Key> \ bigpandaio-int-docker.jfrog.io/bigpanda-agent:latest
View the logs of the running docker container:
docker container logs -f bp_agent
Optional - Docker Compose
Services can be managed via Docker Compose
, which requires either the Docker Compose Plugin or the latest Docker Desktop installed.
Create a file called
docker-compose.yml
:vim docker-compose.yml
Add the BigPanda agent service configuration to
docker-compose.yml
:version: '3.9' services: bp_agent: image: bigpandaio-int-docker.jfrog.io/bigpanda-agent:latest container_name: bp_agent restart: always stdin_open: true tty: true environment: - BP_TOKEN=<Your Org Bearer Token> - ZENOSS_APP_KEY=<Your App Key> networks: - bigpanda networks: bigpanda: external: true
It's important to note that the following commands are based on having Docker Engine 19+ installed, or Docker Desktop installed which has Docker Compose support. If the docker-compose plugin is installed separately, then the command will start with
docker-compose
vsdocker compose
.Bring up the agent container:
docker compose up -d
-d
is used to run the container in detached mode.View the logs of the running docker container:
docker compose logs -f
You can bring down the container with the
down
command:docker compose down
Configure the Zenoss plugin
The Zenoss plugin requires configuration, which means that we need an interactive session to set it up. The problem when running a docker container in detached mode is the entrypoint script is running the shell session in the background. For this, we can attach to the running session to complete the configuration.
Attach to the shell session to continue setting up Zenoss
docker attach --detach-keys="ctrl-q" agent
Since
ctrl-c
will send a kill signal to the shell, stopping the container,--detach-keys
passes an alternate key sequence.
When prompted, enter the base URL of the Zenoss.core web interface and a valid username and password.
Note: You may want to create a dedicated user for BigPanda, the required role is ZenUser
.
Set Zenoss timezone
Zenoss uses the timezone that has been set in the system that it is installed on. Connect to the server Zenoss is installed on, check the timezone, and select it below.

Success
The next time the agent sends a notification for an alert, you will see the alert in the Incident Dashboard.