@@ -0,0 +1,88 @@
|
||||
# tailscale-exporter
|
||||
|
||||
Exports Prometheus metrics for Tailscale devices and keys.
|
||||
|
||||
## Metrics
|
||||
|
||||
* `tailscale_devices_expiry_seconds_remaining` - The number of seconds remaining until the device authentication expires
|
||||
* `tailscale_devices_expiry_time` - The timestamp (as Unix timestamp) that the device expires
|
||||
* `tailscale_devices_update_available` - Whether the device can be updated to a newer version of Tailscale or not
|
||||
* `tailscale_keys_expiry_seconds_remaining` - The number of seconds remaining until the key expires
|
||||
* `tailscale_keys_expiry_time` - The timestamp (as Unix timestamp) that the key expires
|
||||
|
||||
## Configuration
|
||||
|
||||
The following environment variable can be used to configure the exporter:
|
||||
|
||||
* `TAILSCALE_API_KEY` - A valid Tailscale API key [Required]
|
||||
* `TAILSCALE_TAILNET` - The Tailnet to export metrics for [Required]
|
||||
* `PORT` - The port to run the exporter on (Defaults to `8080`)
|
||||
|
||||
## Running with Docker
|
||||
|
||||
```shell
|
||||
export TAILSCALE_API_KEY="my-tailscale-api-key"
|
||||
export TAILSCALE_TAILNET="my-tailnet.github"
|
||||
docker run --rm -it -p 8080:8080 -e TAILSCALE_API_KEY -e TAILSCALE_TAILNET averagemarcus/tailscale-exporter:latest
|
||||
```
|
||||
|
||||
Then visit: [http://localhost:8080/metrics](http://localhost:8080/metrics)
|
||||
|
||||
## Deploying to Kubernetes
|
||||
|
||||
```yaml
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: tailscale-exporter
|
||||
labels:
|
||||
app.kubernetes.io/name: tailscale-exporter
|
||||
stringData:
|
||||
TAILSCALE_API_KEY: xxxx
|
||||
TAILSCALE_TAILNET: xxxx
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: tailscale-exporter
|
||||
labels:
|
||||
app.kubernetes.io/name: tailscale-exporter
|
||||
annotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "8080"
|
||||
spec:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- port: 8080
|
||||
targetPort: 8080
|
||||
selector:
|
||||
app: tailscale-exporter
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: tailscale-exporter
|
||||
labels:
|
||||
app.kubernetes.io/name: tailscale-exporter
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: tailscale-exporter
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: tailscale-exporter
|
||||
spec:
|
||||
containers:
|
||||
- name: tailscale-exporter
|
||||
image: averagemarcus/tailscale-exporter:latest
|
||||
imagePullPolicy: Always
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
name: metrics
|
||||
envFrom:
|
||||
- secretRef:
|
||||
name: tailscale-exporter
|
||||
|
||||
```
|
||||
Reference in New Issue
Block a user