openvpn

package
v0.16.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 28, 2020 License: GPL-3.0 Imports: 6 Imported by: 1

README

OpenVPN monitoring with Netdata

OpenVPN is an open-source commercial software that implements virtual private network techniques to create secure point-to-point or site-to-site connections in routed or bridged configurations and remote access facilities.

This module will monitor one or more OpenVPN instances via Management Interface.

Requirements

Charts

It produces the following charts:

  • Total Number Of Active Clients in clients
  • Total Traffic in kilobits/s

Per user charts (disabled by default, see per_user_stats in the module config file):

  • User Traffic in kilobits/s
  • User Connection Time in seconds

Configuration

This collector is disabled by default. Should be explicitly enabled in go.d.conf.

Reason:

Currently,the OpenVPN daemon can at most support a single management client any one time.

We disabled it to not break other tools which uses Management Interface.

Edit the go.d/openvpn.conf configuration file using edit-config from the your agent's config directory, which is typically at /etc/netdata.

cd /etc/netdata # Replace this path with your Netdata config directory
sudo ./edit-config go.d/openvpn.conf

Needs only address of OpenVPN Management Interface. Here is an example for 2 OpenVPN instances:

jobs:
  - name: local
    address : /dev/openvpn
      
  - name: remote
    address : 203.0.113.10:7505

For all available options please see module configuration file.

Troubleshooting

Check the module debug output. Run the following command as netdata user:

./go.d.plugin -d -m openvpn

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Charts

type Charts = module.Charts

Charts is an alias for module.Charts

type Config

type Config struct {
	Address        string
	ConnectTimeout web.Duration       `yaml:"connect_timeout"`
	ReadTimeout    web.Duration       `yaml:"read_timeout"`
	WriteTimeout   web.Duration       `yaml:"write_timeout"`
	PerUserStats   matcher.SimpleExpr `yaml:"per_user_stats"`
}

Config is the OpenVPN module configuration.

type Dims

type Dims = module.Dims

Dims is an alias for module.Dims

type OpenVPN

type OpenVPN struct {
	module.Base
	Config `yaml:",inline"`
	// contains filtered or unexported fields
}

OpenVPN OpenVPN module.

func New

func New() *OpenVPN

New creates OpenVPN with default values.

func (OpenVPN) Charts

func (o OpenVPN) Charts() *Charts

Charts creates Charts.

func (*OpenVPN) Check

func (o *OpenVPN) Check() bool

Check makes check.

func (*OpenVPN) Cleanup

func (o *OpenVPN) Cleanup()

Cleanup makes cleanup.

func (*OpenVPN) Collect

func (o *OpenVPN) Collect() map[string]int64

Collect collects metrics.

func (*OpenVPN) Init

func (o *OpenVPN) Init() bool

Init makes initialization.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL