#prometheus-exporter #vpn #hub #metrics #byte #transfer #soft-ether

app softether_exporter

Prometheus expoter for SoftEther VPN server

7 releases

0.2.0 Apr 8, 2020
0.1.5 Feb 3, 2020
0.1.4 Jan 11, 2019
0.1.3 Jan 23, 2018

#950 in Web programming

MIT license

40KB
719 lines

softether_exporter

Prometheus exporter for SoftEther VPN server

Actions 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
softether_user_transfer_packets User transfer in packets hub, user
softether_user_transfer_bytes User transfer in bytes hub, user

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 0.1.5

USAGE:
    softether_exporter [FLAGS] [OPTIONS] --config.file <config>

FLAGS:
    -v, --verbose    Show verbose message
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
        --web.listen-address <listen-address>
            Address on which to expose metrics and web interface [default: :9411]

        --config.file <config>                   Config file

The format of <config> is below.

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"

Dependencies

~11MB
~236K SLoC