暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

mtail日志监控实例

老柴杂货铺 2022-12-31
733

最近业务上有个需求需要对通道连接情况进行检测,最直接的方法就是检查日志,但大多日志监控方法都是将日志集中保存后进行处理,总感觉这种方式太重了,所以就重新找到mtail想办法

需求描述:

从指定的日志样式中获取通道名称和状态码加上标签

指标样式如下:

    mtaillog_suberror{ident="bj-sv006", mgname="反诈骗中心", status="17 ", yw="bj"}
    复制

    日志样例:

      [2022-12-31 16:40:39:329] [INFO] - net.id.sms.cmpp.CmppNettyClientConnection.bind(CmppNettyClientConnection.java:164) - 反诈骗中心-CMPP-0-1672196434121登录网关失败,status=17
      复制

      使用https://regex101.com/ 测试正则语句(感谢王琼帮忙编写正则,让我少掉了一把头发)

        ^\[\S+\s\d+:\d+:\d+:\d+]\s\[\w+]\s-\s[^:]+:\S+\s-\s(?P<mgname>[^-]+)-(.*)-(.*)-\S+status=(?P<status>.*)$
        复制

        使用echo生成测试用日志

          echo '[2022-12-31 16:40:39:329] [INFO] - net.id.sms.cmpp.CmppNettyClientConnection.bind(CmppNettyClientConnection.java:164) - 反诈骗中心-CMPP-0-1672196434121登录网关失败,status=17' >>/data/app/tomcat8_client/logs/catalina.out
          复制

          编写test.mtail:

            counter mtaillog_suberror by mgname, status
            /^\[\S+\s\d+:\d+:\d+:\d+]\s\[\w+]\s-\s[^:]+:\S+\s-\s(?P<mgname>[^-]+)-(.*)-(.*)-\S+status=(?P<status>.*)$/ {
            mtaillog_suberror[$mgname][$status]++
            }
            复制

            mtail启动语句:

              mtail -logs=/data/app/tomcat8/logs/catalina.out -progs=./t1.mtail
              复制

              单独使用mtail测试通过后,编写categraf(注意,0.22有bug,感谢夜莺的晓辉总帮忙提醒,更换0.27后正常)的input.mtail插件,将获取到的指标自动推送到n9e

                [[instances]]
                progs = "/opt/categraf/prog" # prog dir1
                logs = ["/data/app/tomcat8/logs/catalina.out"]
                # override_timezone = "Asia/Shanghai"
                # emit_metric_timestamp = "true" #string type
                复制


                文章转载自老柴杂货铺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                评论