forked from mirrors/statsd_exporter
Compare commits
1 commit
master
...
cloudron-a
Author | SHA1 | Date | |
---|---|---|---|
92a1912abd |
4 changed files with 159 additions and 11 deletions
39
CloudronManifest.json
Normal file
39
CloudronManifest.json
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
{
|
||||||
|
"id": "io.caric.git.mirrors.statsd_exporter",
|
||||||
|
"title": "statsd_exporter",
|
||||||
|
"author": "Rafael Caricio",
|
||||||
|
"description": "file://README.md",
|
||||||
|
"changelog": "file://CHANGELOG.md",
|
||||||
|
"tagline": "StatsD to Prometheus metrics exporter",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"memoryLimit": 589719142400,
|
||||||
|
"healthCheckPath": "/metrics",
|
||||||
|
"httpPort": 9102,
|
||||||
|
"udpPorts": {
|
||||||
|
"STATSD_PORT": {
|
||||||
|
"title": "StatsD receiver port",
|
||||||
|
"description": "Port over which the server listens for StatsD metrics",
|
||||||
|
"defaultValue": 9125,
|
||||||
|
"containerPort": 9125
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tcpPorts": {
|
||||||
|
"STATSD_TCP_PORT": {
|
||||||
|
"title": "StatsD receiver port over TCP",
|
||||||
|
"description": "Port over which the server listens for StatsD metrics",
|
||||||
|
"defaultValue": 9125,
|
||||||
|
"containerPort": 9125
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"addons": {
|
||||||
|
"localstorage": {}
|
||||||
|
},
|
||||||
|
"manifestVersion": 2,
|
||||||
|
"website": "https://docs.searxng.org",
|
||||||
|
"contactEmail": "support@caric.io",
|
||||||
|
"tags": [
|
||||||
|
"metrics", "observability", "prometheus"
|
||||||
|
],
|
||||||
|
"minBoxVersion": "5.3.0",
|
||||||
|
"documentationUrl": "https://git.caric.io/mirrors/statsd_exporter"
|
||||||
|
}
|
22
Dockerfile
22
Dockerfile
|
@ -1,13 +1,13 @@
|
||||||
ARG ARCH="amd64"
|
FROM prom/statsd-exporter:v0.23.0
|
||||||
ARG OS="linux"
|
|
||||||
FROM quay.io/prometheus/busybox-${OS}-${ARCH}:latest
|
|
||||||
LABEL maintainer="The Prometheus Authors <prometheus-developers@googlegroups.com>"
|
|
||||||
|
|
||||||
ARG ARCH="amd64"
|
|
||||||
ARG OS="linux"
|
|
||||||
COPY .build/${OS}-${ARCH}/statsd_exporter /bin/statsd_exporter
|
|
||||||
|
|
||||||
USER 65534
|
|
||||||
EXPOSE 9102 9125 9125/udp
|
EXPOSE 9102 9125 9125/udp
|
||||||
HEALTHCHECK CMD wget --spider -S "http://localhost:9102/metrics" -T 60 2>&1 || exit 1
|
|
||||||
ENTRYPOINT [ "/bin/statsd_exporter" ]
|
USER root
|
||||||
|
COPY start.sh /bin/start.sh
|
||||||
|
COPY statsd-mapping.yaml /bin/statsd-mapping.yaml
|
||||||
|
RUN mkdir /app
|
||||||
|
RUN mkdir /app/data
|
||||||
|
RUN chmod 777 /app/data
|
||||||
|
RUN chmod +x /bin/start.sh
|
||||||
|
|
||||||
|
ENTRYPOINT [ "/bin/start.sh" ]
|
||||||
|
|
13
start.sh
Normal file
13
start.sh
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
echo "==> Starting statd_exporter"
|
||||||
|
|
||||||
|
# if file not exist, create
|
||||||
|
if [[ ! -f /app/data/statsd-mapping.yaml ]]; then
|
||||||
|
echo "==> Copying mappings on first run"
|
||||||
|
cp /bin/statsd-mapping.yaml /app/data/statsd-mapping.yaml
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec /bin/statsd_exporter --statsd.mapping-config=/app/data/statsd-mapping.yaml
|
96
statsd-mapping.yaml
Normal file
96
statsd-mapping.yaml
Normal file
|
@ -0,0 +1,96 @@
|
||||||
|
## Prometheus Statsd Exporter mapping for Mastodon 4.0+
|
||||||
|
##
|
||||||
|
## Version 1.0, November 2022
|
||||||
|
##
|
||||||
|
## Documentation: https://ipng.ch/s/articles/2022/11/27/mastodon-3.html
|
||||||
|
|
||||||
|
mappings:
|
||||||
|
## Web collector
|
||||||
|
- match: Mastodon\.production\.web\.(.+)\.(.+)\.(.+)\.status\.(.+)
|
||||||
|
match_type: regex
|
||||||
|
name: "mastodon_controller_status"
|
||||||
|
labels:
|
||||||
|
controller: $1
|
||||||
|
action: $2
|
||||||
|
format: $3
|
||||||
|
status: $4
|
||||||
|
mastodon: "web"
|
||||||
|
- match: Mastodon\.production\.web\.(.+)\.(.+)\.(.+)\.db_time
|
||||||
|
match_type: regex
|
||||||
|
name: "mastodon_controller_db_time"
|
||||||
|
labels:
|
||||||
|
controller: $1
|
||||||
|
action: $2
|
||||||
|
format: $3
|
||||||
|
mastodon: "web"
|
||||||
|
- match: Mastodon\.production\.web\.(.+)\.(.+)\.(.+)\.view_time
|
||||||
|
match_type: regex
|
||||||
|
name: "mastodon_controller_view_time"
|
||||||
|
labels:
|
||||||
|
controller: $1
|
||||||
|
action: $2
|
||||||
|
format: $3
|
||||||
|
mastodon: "web"
|
||||||
|
- match: Mastodon\.production\.web\.(.+)\.(.+)\.(.+)\.total_duration
|
||||||
|
match_type: regex
|
||||||
|
name: "mastodon_controller_duration"
|
||||||
|
labels:
|
||||||
|
controller: $1
|
||||||
|
action: $2
|
||||||
|
format: $3
|
||||||
|
mastodon: "web"
|
||||||
|
|
||||||
|
## Database collector
|
||||||
|
- match: Mastodon\.production\.db\.tables\.(.+)\.queries\.(.+)\.duration
|
||||||
|
match_type: regex
|
||||||
|
name: "mastodon_db_operation"
|
||||||
|
labels:
|
||||||
|
table: "$1"
|
||||||
|
operation: "$2"
|
||||||
|
mastodon: "db"
|
||||||
|
|
||||||
|
## Cache collector
|
||||||
|
- match: Mastodon\.production\.cache\.(.+)\.duration
|
||||||
|
match_type: regex
|
||||||
|
name: "mastodon_cache_duration"
|
||||||
|
labels:
|
||||||
|
operation: "$1"
|
||||||
|
mastodon: "cache"
|
||||||
|
|
||||||
|
## Sidekiq collector
|
||||||
|
- match: Mastodon\.production\.sidekiq\.(.+)\.processing_time
|
||||||
|
match_type: regex
|
||||||
|
name: "mastodon_sidekiq_worker_processing_time"
|
||||||
|
labels:
|
||||||
|
worker: "$1"
|
||||||
|
mastodon: "sidekiq"
|
||||||
|
- match: Mastodon\.production\.sidekiq\.(.+)\.success
|
||||||
|
match_type: regex
|
||||||
|
name: "mastodon_sidekiq_worker_success_total"
|
||||||
|
labels:
|
||||||
|
worker: "$1"
|
||||||
|
mastodon: "sidekiq"
|
||||||
|
- match: Mastodon\.production\.sidekiq\.(.+)\.failure
|
||||||
|
match_type: regex
|
||||||
|
name: "mastodon_sidekiq_worker_failure_total"
|
||||||
|
labels:
|
||||||
|
worker: "$1"
|
||||||
|
mastodon: "sidekiq"
|
||||||
|
- match: Mastodon\.production\.sidekiq\.queues\.(.+)\.enqueued
|
||||||
|
match_type: regex
|
||||||
|
name: "mastodon_sidekiq_queue_enqueued"
|
||||||
|
labels:
|
||||||
|
queue: "$1"
|
||||||
|
mastodon: "sidekiq"
|
||||||
|
- match: Mastodon\.production\.sidekiq\.queues\.(.+)\.latency
|
||||||
|
match_type: regex
|
||||||
|
name: "mastodon_sidekiq_queue_latency"
|
||||||
|
labels:
|
||||||
|
queue: "$1"
|
||||||
|
mastodon: "sidekiq"
|
||||||
|
- match: Mastodon\.production\.sidekiq\.(.+)
|
||||||
|
match_type: regex
|
||||||
|
name: "mastodon_sidekiq_$1"
|
||||||
|
labels:
|
||||||
|
mastodon: "sidekiq"
|
||||||
|
|
Loading…
Reference in a new issue