Giter Club home page Giter Club logo

checkmk_isis's Introduction

Checkmk extension for ISIS-MIB

GitHub release (latest SemVer) License build flake8 pytest

Description

  • isis_adjacency discovers and checks the status of IS-IS adjacency for ISIS-MIB

Development

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.

CheckMK

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

Directories

The following directories in this repo are getting mapped into the Checkmk site.

  • agents, checkman, checks, doc, inventory, notifications, pnp-templates, web are mapped into local/share/check_mk/
  • agent_based is mapped to local/lib/check_mk/base/plugins/agent_based
  • nagios_plugins is mapped to local/lib/nagios/plugins

Continuous integration

Local

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.

Github Workflow

The provided Github Workflows run pytest and flake8 in the same checkmk docker conatiner as vscode.

checkmk_isis's People

Contributors

curtisbowden avatar jiuka avatar sfuhrm avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

checkmk_isis's Issues

Create release with MKP plugin attachment

Hi Curtis,

don't know how much enthusiasm you have to fiddle around with Github Actions. You already have a Github Actions workflow building the MKP. It would be great to have a workflow that creates a release with an MKP attachment.

Probably many people are interested in the MKP, but at the moment it is only an artifact inside a Github Actions workflow that is never added to the release.

This is an example how I did it for another project: https://github.com/1and1/go-gchat-notifier-plugin/blob/master/.github/workflows/maven-release.yml

What do you think? As a compromise you could attach the MKP to each release by hand.

Best wishes,
Stephan

Discussion: Neighbor system id

In the IsisISAdjEntry there's also a 'isisISAdjNeighSysID' string which should contain the system id as the neighbor sends it.
From my perspective this would be - besides the IP addresses - a valuable information for troubleshooting problems.
The IP address probably will be DNS resolved by hand for diagnosing the peer machine.
The system id would make this step obsolete and make the services shown by Checkmk more information rich.

I am not 100% sure whether all devices return the isisISAdjNeighSysID.

Any thoughts?

Best wishes,
Stephan

image

Clarification for "UNKNOWN"

Hi,

I am not 100% sure what will be alerted when a adjacency goes from UP to UNKNOWN.
Can you give me a quick hint?
AFAIK when a neighbor goes away (crash, cable broken) it would go quite quick to UNKNOWN.

Stephan

Naming discussion ISIS -> IS-IS

Hi,

I'd like to suggest renaming (most) strings from "ISIS" to "IS-IS".
I think the name is more correct and is how the RFCs are naming it.
I'd be curious what you think.

Stephan

License inconsistency

Hi Curtis,

in the root folder of the repo there's the GPL 3 license in LICENSE.md, but some files still have GPL 2 headers.
I'd suggest to consolidate. What do you think?

Best wishes,
Stephan

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.