dalance/softether_exporter

Prometheus Exporter of SoftEther VPN Server

33

stars

594

commits

Rust

primary language

Sep 7, 2026

updated

prometheus-exporter
rust

README

softether_exporter

Prometheus exporter for SoftEther VPN server

Actions Status Crates.io

screenshot

Exported Metrics

metricdescriptionlabels
softether_upThe last query is successfulhub
softether_onlineHub is onlinehub
softether_sessionsNumber of sessionshub
softether_sessions_clientNumber of client sessionshub
softether_sessions_bridgeNumber of bridge sessionshub
softether_usersNumber of usershub
softether_groupsNumber of groupshub
softether_mac_tablesNumber of entries in MAC tablehub
softether_ip_tablesNumber of entries in IP tablehub
softether_loginsNumber of loginshub
softether_outgoing_unicast_packetsOutgoing unicast transfer in packetshub
softether_outgoing_unicast_bytesOutgoing unicast transfer in byteshub
softether_outgoing_broadcast_packetsOutgoing broadcast transfer in packetshub
softether_outgoing_broadcast_bytesOutgoing broadcast transfer in byteshub
softether_incoming_unicast_packetsIncoming unicast transfer in packetshub
softether_incoming_unicast_bytesIncoming unicast transfer in byteshub
softether_incoming_broadcast_packetsIncoming broadcast transfer in packetshub
softether_incoming_broadcast_bytesIncoming broadcast transfer in byteshub
softether_build_infosoftether_exporter Build informationversion, revision, rustversion
softether_user_transfer_packetsUser transfer in packetshub, user
softether_user_transfer_bytesUser transfer in byteshub, user

Query Example

Outgoing unicast packet rate of HUB1 is below.

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

Grafana Dashboard

SoftEther VPN

Install

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

FileDescription
example/softether_exporter.servicesystemd unit file
example/config.tomlsoftether_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"

Contributors

dependabot[bot]

230 commits

dalance

195 commits

dalance/softether_exporter

Prometheus Exporter of SoftEther VPN Server

33

stars

594

commits

Rust

primary language

Sep 7, 2026

updated

prometheus-exporter
rust

README

softether_exporter

Prometheus exporter for SoftEther VPN server

Actions Status Crates.io

screenshot

Exported Metrics

metricdescriptionlabels
softether_upThe last query is successfulhub
softether_onlineHub is onlinehub
softether_sessionsNumber of sessionshub
softether_sessions_clientNumber of client sessionshub
softether_sessions_bridgeNumber of bridge sessionshub
softether_usersNumber of usershub
softether_groupsNumber of groupshub
softether_mac_tablesNumber of entries in MAC tablehub
softether_ip_tablesNumber of entries in IP tablehub
softether_loginsNumber of loginshub
softether_outgoing_unicast_packetsOutgoing unicast transfer in packetshub
softether_outgoing_unicast_bytesOutgoing unicast transfer in byteshub
softether_outgoing_broadcast_packetsOutgoing broadcast transfer in packetshub
softether_outgoing_broadcast_bytesOutgoing broadcast transfer in byteshub
softether_incoming_unicast_packetsIncoming unicast transfer in packetshub
softether_incoming_unicast_bytesIncoming unicast transfer in byteshub
softether_incoming_broadcast_packetsIncoming broadcast transfer in packetshub
softether_incoming_broadcast_bytesIncoming broadcast transfer in byteshub
softether_build_infosoftether_exporter Build informationversion, revision, rustversion
softether_user_transfer_packetsUser transfer in packetshub, user
softether_user_transfer_bytesUser transfer in byteshub, user

Query Example

Outgoing unicast packet rate of HUB1 is below.

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

Grafana Dashboard

SoftEther VPN

Install

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

FileDescription
example/softether_exporter.servicesystemd unit file
example/config.tomlsoftether_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"

Contributors

dependabot[bot]

230 commits

dalance

195 commits

Languages

Rust

96.4%

Makefile

3.6%