# linecounter.mtail
counter line_count
/$/ {
  line_count++
}

对于linecounter.mtail程序,Prometheus scrape line_count{prog="linecounter.mtail",instance="bd0a0d119df6"} 2
如何在labels中放入其他metric

我找不到任何描述。

最佳答案

标签由mtail根据声明的度量标准自动创建!

所有度量标准都位于度量标准声明中,例如:

counter my_http_requests_total by log_file, request_method

范例:

假设您有一个HTTP服务器日志文件,其中包含GETPOST:
192.168.0.1 GET /foo
192.168.0.2 GET /bar
192.168.0.1 POST /bar

使用以下Mtail程序:
counter my_http_requests_total by log_file, request_method

/^/ +
/(?P<hostname>[0-9A-Za-z\.:-]+) / +
/(?P<request_method>[A-Z]+) / +
/(?P<URI>\S+).*/ +
/$/ {
    my_http_requests_total[getfilename()][$request_method][]++
}

Prometheus生成的指标为:
my_http_requests_total{log_file="test.log",request_method="GET",prog="test.mtail"} 4242
my_http_requests_total{log_file="test.log",request_method="POST",prog="test.mtail"} 42

-

这里有两个魔术指标(可以使用Prometheus重新标记规则进行调整):
  • prog是Mtail程序名称(脚本)
  • mtail函数getfilename()返回包含日志行的日志文件名。
  • 关于prometheus - 如何在标签上标注普罗米修斯的尾部指标?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48299726/

    10-09 13:38