Giter Club home page Giter Club logo

sensu-openvpn-check's Introduction

Sensu Bonsai Asset Go Test goreleaser

Sensu OpenVPN Check

Table of Contents

Overview

The Sensu OpenVPN Check is a Sensu Check that verifies the status of an OpenVPN server using its status files. The check outputs the number of active sessions and can optionally evaluate session count thresholds and file age thresholds to make sure the server is active.

Files

Usage examples

Help Output

OpenVPN server status check for Sensu

Usage:
  sensu-openvpn-check [flags]
  sensu-openvpn-check [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  help        Help about any command
  version     Print the version number of this plugin

Flags:
  -h, --help                        help for sensu-openvpn-check
      --min-clients-crit uint       The OpenVPN minimum clients threshold for critical
      --min-clients-warn uint       The OpenVPN minimum clients threshold for warning
  -f, --status-file string          The OpenVPN status file
      --status-file-age-crit uint   The OpenVPN status file age threshold for critical (default 180)
      --status-file-age-warn uint   The OpenVPN status file age threshold for warning (default 120)

Use "sensu-openvpn-check [command] --help" for more information about a command.

Environment Variables

Argument Environment Variable
--min-clients-crit OPENVPN_MIN_CLIENTS_CRIT
--min-clients-warn OPENVPN_MIN_CLIENTS_WARN
--status-file OPENVPN_STATUS_FILE
--status-file-age-crit OPENVPN_STATUS_FILE_AGE_CRIT
--status-file-age-warn OPENVPN_STATUS_FILE_AGE_WARN

Output

Unless there's an error the check will output the number of active clients connected to the OpenVPN server. Additionally, a warning or error message based on threshold evaluation can be printed on the next line.

Number of Clients Thresholds

The check can make sure there are a minimum number of clients connected to the OpenVPN server. The --min-clients-crit and --min-clients-warn options can be used to accomplish that. If the actual number of clients is lower than the critical threshold a status of 2 (critical) is returned by the check. If the actual number of clients is less than the warning threshold a status of 1 (warning) is returned by the check. In both cases a similar line is also printed on the terminal:

Error executing sensu-openvpn-check: error executing check: number of connection lower than critical threshold (13 < 200)

By default, the number of clients thresholds are not set.

Status File Age Thresholds

The check can evaluate the OpenVPN status file age and generate a warning or error status. An older status file indicates the file is not getting updated, potentially exposing a problem with the server.

If the file is older than the critical value set with --status-file-age-crit a status of 2 (critical) is returned by the check. If the file is older than the warning value set with --status-file-age-warn a status of 1 (warning) is returned by the check. In both cases a line is printed on the terminal:

Error executing sensu-openvpn-check: error executing check: file older than critical threshold (211.18 > 180.00)

By default, the warning threshold is set to 120 seconds and the critical threshold is set to 180 seconds.

Configuration

Asset registration

Sensu Assets are the best way to make use of this plugin. If you're not using an asset, please consider doing so! If you're using sensuctl 5.13 with Sensu Backend 5.13 or later, you can use the following command to add the asset:

sensuctl asset add sensu/sensu-openvpn-check

If you're using an earlier version of sensuctl, you can find the asset on the [Bonsai Asset Index][https://bonsai.sensu.io/assets/sensu/sensu-openvpn-check].

Check definition

---
type: CheckConfig
api_version: core/v2
metadata:
  name: sensu-openvpn-check
  namespace: default
spec:
  command: sensu-openvpn-check --status-file /var/run/openvpn-status.log
  subscriptions:
    - system
  runtime_assets:
    - sensu/sensu-openvpn-check

Installation from source

The preferred way of installing and deploying this plugin is to use it as an Asset. If you would like to compile and install the plugin from source or contribute to it, download the latest version or create an executable script from this source.

From the local path of the sensu-openvpn-check repository:

go build

Additional notes

Contributing

For more information about contributing to this plugin, see Contributing.

sensu-openvpn-check's People

Contributors

fguimond avatar

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.