Shared Golang package for Nagios plugins
This package provides support and functionality common to monitoring plugins. While Nagios (Core and XI) are primary monitoring platform targets, the intent is to support (where feasible) all monitoring platforms compatible with Nagios plugins.
While attempts are made to provide stability, this codebase is subject to change without notice and may break client code that depends on it. You are encouraged to vendor this package if you find it useful until such time that the API is considered stable.
StateOKLabel
)StateOKExitCode
)CheckOutputEOL
constant
ServiceState
type
PerformanceData
valuesCRITICAL
statenagios.NewPlugin()
constructor, a default time
performance data metric
is emitted to indicate total plugin runtimeLongServiceOutput
section if not specified by client
codestderr
by default but can be redirected to a
custom targetSee the CHANGELOG.md
file for the changes associated with
each release of this application. Changes that have been merged to master
,
but not yet an official release may also be noted in the file under the
Unreleased
section. A helpful link to the Git commit history since the last
official release is also provided for further review.
Add this line to your imports like so:
package main
import (
"fmt"
"log"
"os"
"github.com/atc0005/go-nagios"
)
and pull in a specific version of this library that you'd like to use.
go get github.com/atc0005/go-nagios@v0.9.0
Alternatively, you can use the latest stable tag available to get started:
go get github.com/atc0005/go-nagios@latest
See https://pkg.go.dev/github.com/atc0005/go-nagios for specific examples.
See https://pkg.go.dev/github.com/atc0005/go-nagios?tab=importedby for projects that are using this library.
From the LICENSE file:
MIT License
Copyright (c) 2020 Adam Chalkley
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
See the Known importers lists below for a dynamically updated list of projects using either this library or the original project.
See also the Used by section for projects known to be using this package. Please report any additional projects that we've missed!