Prometheus Exporter of SoftEther VPN Server
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.cargo
example
src
.gitignore
.travis.yml
Cargo.lock
Cargo.toml
LICENSE
Makefile
README.md

README.md

softether_exporter

Prometheus exporter for SoftEther VPN server

Build Status Crates.io

Exported Metrics

metric description labels
softether_up The last query is successful hub
softether_online Hub is online hub
softether_sessions Number of sessions hub
softether_sessions_client Number of client sessions hub
softether_sessions_bridge Number of bridge sessions hub
softether_users Number of users hub
softether_groups Number of groups hub
softether_mac_tables Number of entries in MAC table hub
softether_ip_tables Number of entries in IP table hub
softether_logins Number of logins hub
softether_outgoing_unicast_packets Outgoing unicast transfer in packets hub
softether_outgoing_unicast_bytes Outgoing unicast transfer in bytes hub
softether_outgoing_broadcast_packets Outgoing broadcast transfer in packets hub
softether_outgoing_broadcast_bytes Outgoing broadcast transfer in bytes hub
softether_incoming_unicast_packets Incoming unicast transfer in packets hub
softether_incoming_unicast_bytes Incoming unicast transfer in bytes hub
softether_incoming_broadcast_packets Incoming broadcast transfer in packets hub
softether_incoming_broadcast_bytes Incoming broadcast transfer in bytes hub
softether_build_info softether_exporter Build information version, revision, rustversion

Query Example

Outgoing unicast packet rate of HUB1 is below.

rate(softether_outgoing_unicast_packets{hub="HUB1"}[1m])

Install

Download from release page, and extract to any directory ( e.g. /usr/local/bin ). See the example files in example directory as below.

File Description
example/softether_exporter.service systemd unit file
example/config.toml softether_exporter config file

If the release build doesn't fit your environment, you can build and install from source code.

cargo install softether_exporter

Requirement

softether_exporter uses vpncmd or vpncmd.exe to access SoftEther VPN server. The binary can be got from SoftEther VPN Download.

Usage

softether_exporter [config_file]

The format of config_file is below.

listen_port = 9411                    # listen_port of expoter ( 9411 is the default port of softether_exporter )
vpncmd      = "/usr/local/bin/vpncmd" # path to vpncmd binary
server      = "localhost:8888"        # address:port of SoftEther VPN server

[[hubs]]
name     = "HUB1" # HUB name
password = "xxx"  # HUB password

[[hubs]]
name     = "HUB2"
password = "yyy"