1、参考
Releases · google/mtail · GitHub
2、下载解压
3、执行
自己日志风格如下,很明显,有个send字段,那么就监控send
2022-08-13 10:00:53.799 ERROR 14102 --- [ scheduling-1] com.mirac.iotgate.netty.NettyClient : send:{}
java.util.concurrent.TimeoutException:
在etc/mtal目录新建iot-gate.mtail文件,内容如下:
counter mtail_send_error
/send/ {
mtail_send_error++
}
例子中,执行
mtail --progs /etc/mtail --logs /var/log/syslog --logs /var/log/ntp/peerstats
nohup mtail -logtostderr --progs /etc/mtail --logs server.log &> stdout.log &
自己实际执行 --logs指向自己实际的日志文件
./mtail --progs /root/n9e/mtail/etc/mtail --logs /root/iot_gate/nohup.file
nohup ./mtail --progs /root/n9e/mtail/etc/mtail --logs /root/iot_gate/nohup.file &> stdout.log &
访问 http://localhost:3903/metrics
结果:
结合夜莺请参考
夜莺n9ev5,categraf自定义采集数据_小青蛙呱呱跳的博客-CSDN博客
例子:
1、日志
***,ip:192.168.22.138,port:502,addr:29...收到数据:java.util.concurrent.TimeoutException
ip,port,不一样
gauge read_timeout_count by ip,port,addr
const IP /\d+(\.\d+){3}/
const MATCH_IP /(?P<ip>/ + IP + /)/
const PORT /\d+/
const MATCH_PORT /(?P<port>/ + PORT + /)/
const ADDR /\d+/
const MATCH_ADDR /(?P<addr>/ + ADDR + /)/
/ip:/ + MATCH_IP + /,port:/ + MATCH_PORT + /,addr:/ + MATCH_ADDR + /.*java.util.concurrent.TimeoutException/{
read_timeout_count[$ip][$port][$addr] = 1
}