MCPcopy Index your code
hub / github.com/ConSol-Monitoring/snclient

github.com/ConSol-Monitoring/snclient @v0.44

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.44 ↗ · + Follow
1,529 symbols 5,536 edges 223 files 415 documented · 27%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

SNClient

CICD Pipeline Go Report Card Latest Release License IRC

SNClient (Secure Naemon Client) is a general purpose monitoring agent designed as replacement for NRPE and NSClient++.

Contact

Documentation

The documentation can be found on omd.consol.de.

It is maintained in docs/

Supported Operating Systems

i386 x86_64 aarch64 (arm)
Linux X X X
Windows* X X X
FreeBSD X X X
MacOS X X

* Only Windows 10 / Windows Server 2016 or newer.

A more detailed list of supported operating systems.

Supported Protocols

  • Prometheus HTTP(s)
  • NRPE (v2/v4)
  • NSCP Rest API via HTTP(s) (checks only)

Installation

There are pre-build binaries and packages for the all supported systems (see above) on the release page.

Further details are covered in the documentation.

Check Plugin Status

Windows Linux OSX BSD
check_alias X X X X
check_connections X X X X
check_cpu_utilization X X X X
check_cpu X X X X
check_dns X X X X
check_drivesize X X X X
check_drive_io X X X X
check_dummy X X X X
check_eventlog X
check_files X X X X
check_http X X X X
check_index X X X X
check_kernel_stats X
check_load X X X X
check_log X X X X
check_mailq X X X
check_memory X X X X
check_mount X X X X
check_network X X X X
check_nsc_web X X X X
check_ntp_offset X X X X
check_omd X
check_os_updates X X X
check_os_version X X X X
check_pagefile X
check_pdh X
check_ping X X X X
check_process X X X X
check_service X X
check_snclient_version X X X X
check_swap_io X X X
check_tasksched X
check_tcp X X X X
check_temperature X
check_uptime X X X X
check_wmi X
check_wrap / external scripts X X X X

Roadmap

Find a brief overview of what is planned:

  • [ ] add time support in threshold, ex.: warn=time > 18:00 && load > 10
  • [ ] open telemetry
  • [ ] improve configuration
  • [ ] add config validator
  • [ ] use strong typed config items
  • [ ] add module enable/disable option directly in the module section

Not gonna happen

The following things will most likely not be part of snclient any time:

  • CheckMK support
  • Embedded LUA support
  • Embedded Python support
  • Graphite support
  • NRDP support
  • NSCA support
  • SMTP support
  • Website/Rest API (except doing checks)
  • check_nt support

Extension points exported contracts — how you extend this code

RequestHandler (Interface)
RequestHandler handles a client connections. [6 implementers]
pkg/snclient/requesthandler.go
CheckHandler (Interface)
CheckHandler handles a single check. [34 implementers]
pkg/snclient/checks.go
Module (Interface)
Module is a generic module interface to abstract optional agent functionality [12 implementers]
pkg/snclient/module.go
RequestHandlerHTTP (Interface)
RequestHandlerHTTP handles a single client connection using http(s). [5 implementers]
pkg/snclient/requesthandler.go
ExporterListenerExposed (Interface)
ExporterListenerExposed is a exporter which can be listed in the inventory [3 implementers]
pkg/snclient/listen_managedexporter.go

Core symbols most depended-on inside this repo

Error
called by 628
pkg/snclient/check_drivesize.go
BuildPluginOutput
called by 304
pkg/snclient/checkresult.go
RunCheck
called by 252
pkg/snclient/snclient.go
Contains
called by 196
pkg/snclient/allowed_host.go
runCmd
called by 110
t/utils.go
GetString
called by 103
pkg/snclient/config.go
Section
called by 86
pkg/snclient/config.go
String
called by 61
pkg/snclient/config.go

Shape

Method 686
Function 659
Struct 150
TypeAlias 28
Interface 6

Languages

Go100%

Modules by API surface

pkg/snclient/snclient.go74 symbols
pkg/snclient/checkdata.go62 symbols
pkg/snclient/config.go55 symbols
pkg/utils/utils.go43 symbols
pkg/snclient/task_updates.go40 symbols
pkg/snclient/listen_web.go35 symbols
pkg/snclient/condition.go33 symbols
pkg/snclient/listen_exporterexporter.go32 symbols
pkg/snclient/listen_web_admin.go29 symbols
pkg/pdh/pdh.go29 symbols
pkg/snclient/logger.go25 symbols
pkg/snclient/snclient_windows.go21 symbols

For agents

$ claude mcp add snclient \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact