https://github.com/opennms/opennms-resync-plugin
Repo for a plugin to do alarm resync
https://github.com/opennms/opennms-resync-plugin
Last synced: about 1 year ago
JSON representation
Repo for a plugin to do alarm resync
- Host: GitHub
- URL: https://github.com/opennms/opennms-resync-plugin
- Owner: OpenNMS
- License: agpl-3.0
- Created: 2024-07-17T13:15:47.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-22T18:06:23.000Z (over 1 year ago)
- Last Synced: 2025-02-16T08:13:12.125Z (over 1 year ago)
- Language: Java
- Size: 201 KB
- Stars: 0
- Watchers: 6
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# OpenNMS OpenNMS Resync Plugin Plugin
Build and install the plugin into your local Maven repository using:
```
mvn clean install
```
Install the .kar file
```
cp assembly/kar/target/opennms-resync-plugin.kar /opt/opennms/deploy/
```
From the OpenNMS Karaf shell:
```
feature:install opennms-plugins-resync
```
Once installed, the plugin makes the following Karaf shell commands available:
* opennms-resync:set
* opennms-resync:get
You can also access the REST endpoint mounted by the plugin:
* `http://localhost:8980/opennms/rest/resync/ping`: Check if the plugin is installed
* `http://localhost:8980/opennms/rest/resync/trigger`: To trigger a resync operation
The `trigger`-endpoint provides two modes which can be selected by the `mode` field: `SET` or `GET`.
There request for a resync looks like this:
```http request
Accept: application/json
Content-Type: application/json
{
"resyncId": "my unique ID",
"node": "1", # Can be a node ID, a foreignSource:foreignId or a node label
"ipInterface": "127.0.0.1", # Optional, will use primary interface if omitted
"kind": "my-device-type", # Optional, will look up from config if omitted
"parameters": { # Fill in missing parameters or overwrite existing
"param1": "all",
"param2": "all"
}
}
```
## Configuration
The plugin picks up the configuration of the OpenNMS Kafka Producer.
There is a config file which must exist on `$OPENNMS_HOME/etc/resync.json`.
It has the following structure:
```json
{
"nodes": {
"my.node.label": {
"kind": "example-kind"
}
},
"kinds": {
"example-kind": {
"mode": "GET", # or "SET"
"columns": {
"param1": "1.3.6.0.0.1",
"param2": "1.3.6.0.0.2"
},
"parameters": {
"param2": "example value"
}
}
}
}
```
### Reduction key mapping
The configured event should **not** be configured to have a reduction key set.
If a reduction key is required on the produced alarms, a special parameter in the event definition could be used.
The value of this parameter is set as reduction key in the resulting alarm.
```
```
## Debugging
The plugin creates log messages about session creation and every processed event.
These log messages can be found in karaf.log and are marked with bundle ID `org.opennms.plugins.resync.plugin`.
After triggering, the first log message to expect is the session creation.
Followed by a message for each received alarm associated with this session.
Finally, the log will show eiter a successful session termination or a session timeout.