2 个稳定版本
1.2.0 | 2023年4月20日 |
---|---|
1.1.1 | 2023年4月20日 |
#12 in #seconds
17KB
212 行
倒计时指标
一个守护进程,将给定日期前的秒数发布到 statsd 汇聚器。
配置
守护进程通过环境变量进行配置
ENV_PREFIX
:环境变量的前缀。默认为COUNTDOWNS_
。INTERVAL
:发布指标之间的秒数。默认为10
。STATSD_HOST
:发布指标的宿主机。默认为127.0.0.1:8125
。METRIC_PREFIX
:用于指标的默认前缀。默认为空。METRIC_TAGS
:要添加到所有指标中的标签的逗号分隔列表。默认为空。COUNTDOWN_KEY
:倒计时指标名称。默认为countdown
。COUNTDOWN_ID
:倒计时指标标签名称。默认为name
。HEARTBEAT_METRIC
:心跳指标名称。默认为heartbeat
。
要监视的指标通过以 ENV_PREFIX
环境变量值为前缀的环境变量读取。环境变量的值应采用 YYYY-MM-DDTHH:MM:SSZ
格式的日期。前缀将被移除,剩余文本用作指标名称。
例如,考虑以下环境变量
ENV_PREFIX=SURGE
METRIC_PREFIX=wildmagic_rocks
SURGE_FOO="2024-01-01T14:00:00-04:00"
WATCH_THIS_BAR="2024-01-01T14:00:00-04:00"
上述环境变量将导致一个名为 wildmagic_rocks.foo
的指标,其值为从当前日期到 2024-01-01T14:00:00-04:00
的时间(以秒为单位)的数值,并且每10秒发布一次。名为 name
的标签的值为 foo
。环境变量 WATCH_THIS_BAR
将被忽略,因为它既不是配置环境变量之一,也没有由 ENV_PREFIX
环境变量定义的前缀 SURGE
。
示例
首先启动一个假 statsd 源
$ nc -u -l -p 8125
然后运行守护进程并使用示例指标
$ COUNTDOWNS_FOO="2024-01-01T14:00:00-04:00" cargo run
您将看到以默认值发布的指标
countdown:22192887|g|#name:foo
heatbeat:1681939112|g
countdown:22192877|g|#name:foo
heatbeat:1681939122|g
countdown:22192867|g|#name:foo
heatbeat:1681939132|g
全局标签
当运行时
$ METRIC_TAGS="DD_SERVICE=cntdwn,DD_VERSION=1.2.0" COUNTDOWNS_FOO="2024-01-01T14:00:00-04:00" cargo run
您将得到
countdown:22132947|g|#DD_SERVICE:cntdwn,DD_VERSION:1.2.0,name:foo
heatbeat:1681999052|g|#DD_SERVICE:cntdwn,DD_VERSION:1.2.0
用法
使用此功能来监视您的资源。
可以使用类似以下方式部署它
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: cntdwn
labels:
app: cntdwn
spec:
revisionHistoryLimit: 1
selector:
matchLabels:
app: cntdwn
template:
metadata:
labels:
app: cntdwn
spec:
containers:
- name: app
image: ngerakines/countdown-metrics:v1.2.0
env:
- name: COUNTDOWNS_SITE_CERT
value: "2024-01-01T14:00:00-04:00"
- name: COUNTDOWNS_TS_KEY_DC1
value: "2024-02-01T14:00:00-04:00"
然后在您的可观测性堆栈中创建一个监控器,当指标的值小于345600(4天)或950400(11天)时发出警报。
依赖关系
~10–20MB
~239K SLoC