Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/torilabs/ipsec-prometheus-exporter
Prometheus exporter for strongSwan IPsec
https://github.com/torilabs/ipsec-prometheus-exporter
Last synced: about 2 months ago
JSON representation
Prometheus exporter for strongSwan IPsec
- Host: GitHub
- URL: https://github.com/torilabs/ipsec-prometheus-exporter
- Owner: torilabs
- License: mit
- Created: 2024-01-05T20:22:15.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-11-03T15:52:01.000Z (2 months ago)
- Last Synced: 2024-11-03T16:27:27.630Z (2 months ago)
- Language: Go
- Homepage:
- Size: 59.6 KB
- Stars: 5
- Watchers: 1
- Forks: 5
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# IPsec Prometheus Exporter
_The IPsec Prometheus exporter subscribes to the strongSwan via Vici API and exposes [Security Associations](https://github.com/strongswan/strongswan/blob/master/src/libcharon/plugins/vici/README.md#list-sa) (SAs) metrics._
Collected metrics (together with application metrics) are exposed on `/metrics` endpoint. Prometheus target is then configured with this endpoint and port e.g. `http://localhost:8079/metrics`.
## Configuration
IPsec Prometheus exporter configuration yaml file is optional. If not provided, the default values are used.
### Config file
If the default value match with your choice you can omit it.
```yaml
# Logger configuration
logging:
# logging level - default: INFO
level: DEBUG# HTTP server configuration
server:
# server port - default: 8079
port: 8080# Vici configuration
vici:
# Vici network scheme - default: tcp
network: "udp"
# Vici host is the ip-address or hostname.
# Default values for hostname is "localhost".
# IPv6 is supported. Use host in format of "[fd12:3456:789a::1]".
host: "127.0.0.1"
# Vici port - default: 4502
port: 30123
```## Value Definition
| Metric | Value | Description |
|--------|-------|-------------|
| strongswan_*_status | 0 | The tunnel is installed and is up and running. |
| strongswan_*_status | 1 | The connection is established. |
| strongswan_*_status | 2 | The tunnel or connection is down. |
| strongswan_*_status | 3 | The tunnel or connection status is not recognized. |## Build & Run
To build the binary run:
```bash
make build
```Run the binary with optional `config` parameter provided:
```bash
./ipsec-prometheus-exporter [--config=]
```## Docker image
Public docker image is available for multiple platforms: https://hub.docker.com/r/torilabs/ipsec-prometheus-exporter
```
docker run -it -p 8079:8079 -v $(pwd)/my-config.yaml:/config.yaml --rm torilabs/ipsec-prometheus-exporter:latest
```