- isis_adjacency discovers and checks the status of IS-IS adjacency for ISIS-MIB
- service discovery can be limited to IS-IS neighbors within specific subnets
For the best development experience use VSCode with the Remote Containers extension. This maps your workspace into a checkmk docker container giving you access to the python environment and libraries the installed extension has.
The file .devcontainer/devcontainer.json
defines the Remote Container, and within it there are some options that can be commented or uncommented to change the user which is used in the Remote Container as well as if the checkmk service and web gui are setup for testing your plugin. Temporary credentials for the dev container web gui can also be set within the json file.
Below are a few cmk cli examples that can be useful when developing a cmk plugin
# Service scan for exmaple.host
cmk --verbose --perfdata --debug example.host
# Clear prevous then detect plugins for isis_adjacency
cmk --verbose --perfdata --debug -II --detect-plugins=isis_adjacency example.host
# Check discovery for emaple.host
cmk --verbose --perfdata --check-discovery example.host
# Run isis_adjacency plugin on example.host
cmk --verbose --perfdata --plugins=isis_adjacency example.host
The following directories in this repo are getting mapped into the Checkmk site.
agents
,checkman
,checks
,doc
,inventory
,notifications
,pnp-templates
,web
are mapped intolocal/share/check_mk/
agent_based
is mapped tolocal/lib/check_mk/base/plugins/agent_based
nagios_plugins
is mapped tolocal/lib/nagios/plugins
To build the package hit Crtl
+Shift
+B
to execute the build task in VSCode.
pytest
can be executed from the terminal or the test ui.
The provided Github Workflows run pytest
and flake8
in the same checkmk docker conatiner as vscode.