portcheck

package
v0.53.1 Latest Latest
Warning

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

Go to latest
Published: Jun 12, 2023 License: GPL-3.0 Imports: 8 Imported by: 1

README

TCP endpoint collector

This module monitors one or more TCP services availability and response time.

Metrics

All metrics have "portcheck." prefix.

Labels per scope:

  • global: host, port.
Metric Scope Dimensions Units
status global success, failed, timeout boolean
state_duration global time seconds
latency global time ms

Configuration

Edit the go.d/portcheck.conf configuration file using edit-config from the Netdata config directory, which is typically at /etc/netdata.

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

Here is an example for 3 servers:

Note: a literal IPv6 address must be enclosed in square brackets, as in "[::1]".

jobs:
  - name: server1
    host: 127.0.0.1
    ports:
      - 22
      - 23

  - name: server2
    host: "[2001:DB8::1]"
    ports:
      - 80
      - 8080

  - name: server3
    host: 203.0.113.10
    ports:
      - 80
      - 81
      - 8081

For all available options please see module configuration file.

Troubleshooting

To troubleshoot issues with the portcheck collector, run the go.d.plugin with the debug option enabled. The output should give you clues as to why the collector isn't working.

First, navigate to your plugins' directory, usually at /usr/libexec/netdata/plugins.d/. If that's not the case on your system, open netdata.conf and look for the setting plugins directory. Once you're in the plugin's directory, switch to the netdata user.

cd /usr/libexec/netdata/plugins.d/
sudo -u netdata -s

You can now run the go.d.plugin to debug the collector:

./go.d.plugin -d -m portcheck

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config added in v0.5.0

type Config struct {
	Host    string       `yaml:"host"`
	Ports   []int        `yaml:"ports"`
	Timeout web.Duration `yaml:"timeout"`
}

type PortCheck

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

func New

func New() *PortCheck

func (*PortCheck) Charts

func (pc *PortCheck) Charts() *module.Charts

func (*PortCheck) Check

func (pc *PortCheck) Check() bool

func (*PortCheck) Cleanup

func (pc *PortCheck) Cleanup()

func (*PortCheck) Collect

func (pc *PortCheck) Collect() map[string]int64

func (*PortCheck) Init

func (pc *PortCheck) Init() bool

Jump to

Keyboard shortcuts

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