1
q1angch0u 2023-03-17 08:51:40 +08:00 via iPhone
前司是按一定格式输出到硬盘,之后由 sre 使用方案 1 汇报至时序数据库。原因我猜测是因为此方案对代码的侵入性相对较小,且不用限制项目实现语言。
|
2
JoDragon 2023-03-17 09:18:02 +08:00
pushgateway 满足你的需求
|
3
cxshun 2023-03-17 09:20:07 +08:00
可以考虑用 fluentd/logstash 直接处理日志数据后再通过 push gateway 给到 prometheus
|
4
seers 2023-03-17 09:24:58 +08:00 via Android 1
通过接口暴露,然后 Prometheus 抓取
|
5
saka0609 2023-03-17 09:35:32 +08:00
既然用了 Loki ,那就可以把你输出的日志给 Loki ,让 loki 帮你转成 metrics
|
6
saka0609 2023-03-17 09:37:47 +08:00
|
7
ql562482472 2023-03-17 09:44:43 +08:00
我觉得你遇到的问题有两个,一个是 log 怎么转化为 metric 。就是 logs 怎么转化为 Counter (计数器)、Gauge (仪表盘)、Histogram (直方图)、Summary (摘要)
另一个是如何进行 metric 的定义 |
8
pkoukk 2023-03-17 10:15:51 +08:00 1
第一点,确认需求,日志里的东西能满足现在以及后续的全部监控需求么?
一定有部分核心业务是单独需要监控指标的吧,所以还不如直接在 go 里接 prom ,让 prom 从 go 服务直接采集 metric |
9
BQsummer 2023-03-17 11:33:51 +08:00
1. 日志转指标需求是合理的,是应用通用指标的一部分。
2. 我司是有专门的应用和 Flink 消费所有应用的日志,统一处理并产出指标,对于单体应用可能不合适。 3. 部分应用日志在 sls ,我们平台可以定时查询 sls 产出指标。 |
10
joesonw 2023-03-17 12:30:23 +08:00 via iPhone
你用的什么日志库,大部分日志库都可以自己实现 Collector ,记录相关 metrics ,prometheus.Register 一下,就一起采走了。
|
11
killva4624 2023-03-17 12:34:22 +08:00
把 log 转成 prometheus 的识别样式,生成和刷新文件到指定目录,然后 node-exporter 加上 --collector.textfile.directory 参数,再走常规的 prometheus 数据采集就可以。
|
12
lanjz 2023-03-17 15:49:25 +08:00
|
13
1800x OP @ql562482472 谢谢。查询了有关信息。
如果我要收集同一接口处理逻辑的处理量、耗时分布、错误率,好像还得定义不同的 Observer ? |
14
winglight2016 2023-03-18 12:32:19 +08:00
1. 把日志写到 ES
2. 用 grafana 连接,然后自己定义 dashboard 我们就是这样处理 log 的,其他有 Prometheus 的服务,也可以接入 grafana |
15
ql562482472 2023-03-18 14:40:15 +08:00
@1800x 我不太清楚其他回答者的身份,然后我个人也做过短暂的半年多 devops ,后来的感受就是,ops 角色其实并不关心业务,只有 dev 在关心业务。
我现在回来继续做 dev ,感觉很多指标光凭 ops 从业务无关的地方抽,抽死都抽不出有深度的信息。想要具有深度,还是得开发自行定义 metric ,比如你要的这个处理量,耗时分布,错误率,我感觉是需要有 metric 的埋点: key = biz.usage 的累加器,tag 是 method-full-name key = biz.cost.time 的直方图或者 Summary ,tag 也是 method-full-name key = biz.success 的累加器 key = biz.fail 的累加器 我的认知也很浅,也没有大厂的实践参考,我觉得可能需要自行定义一些 metric ,也许专业的 ops 或者 Prometheus 开发者有其他的方案,仅供参考 |
16
1800x OP @ql562482472
以前公司,搞了一套监控,有业务层的指标,也有运维层的指标。我们主要看的是业务层的指标。 想在目前公司重新搞一套,目前已经在业务层收集了有关指标,但接下来的处理细节,我并不清楚。 |
17
ql562482472 2023-03-18 15:58:55 +08:00
@1800x 如果指标已经有了 那就是套到 metric 上去,然后用 http 之类的 /metrics 接口暴露出去,prometheus 去定时拉这一个接口,然后用 grafana 做 dashboard 了么
|
18
1800x OP |