Skip to content

SNClient+ - Cross platform monitoring agent

License

Notifications You must be signed in to change notification settings

IsThisEvenCode/snclient

 
 

Repository files navigation

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

All documentation is under docs/

Supported Operating Systems

i386 x64 arm64
Linux X X X
Windows X X X
FreeBSD X X X
MacOSX X X

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_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_mailq X X X
check_memory X X X X
check_mount 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_ping X X X X
check_process X X X X
check_service X X
check_snclient_version X 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 and what is done already:

Stage 1

  • support NRPE clients
  • support NSCP rest api clients
  • support basic Prometheus metrics
  • implement reading nsclient.ini files
  • implement ssl/tls support
  • implement authenticaton / authorization
    • basic auth
    • client certificates
    • allowed hosts
    • allow arguments
    • allow nasty characters
  • add build pipeline
    • build windows msi packages
    • build debian/ubuntu .deb packages
    • build rhel/sles .rpm packages
    • build osx .pkg packages
  • implement log rotation for file logger
  • self update (from configurable url)
  • implement perf-config
  • implement help with examples and filters
  • review check plugin status

Stage 2

  • add basic prometheus exporters
    • exporter_exporter
    • windows_exporter
    • node_exporter
    • add time support in threshold, ex.: warn=time > 18:00 && load > 10
  • add config include folder
  • add check_ping plugin
  • add ntp check
  • check usr signal handler
  • manage certificate via rest api
  • add https config includes

Stage 3

  • self update from github
  • open telemetry
  • improve configuration
    • add config validator
    • use strong typed config items
  • osx
    • check pkg uninstall
  • rename packages to avoid confusion: amd64 -> x86-64, 386 -> i386, amd64 -> aarch64

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

About

SNClient+ - Cross platform monitoring agent

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 96.0%
  • Makefile 2.9%
  • Other 1.1%