• mtail 添加histogram的一个演示


    histogram demo 演示

    本文以tomcat 的access log 为例

    1.安装mtail

    步骤简单

    wget https://github.com/google/mtail/releases/download/v3.0.0-rc35/mtail_v3.0.0-rc35_linux_amd64
    mv mtail_v3.0.0-rc35_linux_amd64  mtail
    chmod 0755 mtail
    cp -a mtail /usr/local/bin/
     mtail --version
    

    2.设置配置文件

    mkdir -p /etc/mtail
    cd /etc/mtail/
     touch /etc/mtail/line_count.mtail  ##要求必须以此格式结尾
    

    拷贝下面的内容到新建的文件/etc/mtail/line_count.mtail

    # Parser for the common apache log format as follow.
    # LogFormat "%h %l %u %t "%r" %>s %b %D "%{Referer}i" "%{User-agent}i"
    counter apache_http_requests_total by request_method, http_version, status_code
    counter apache_http_bytes_total by request_method, http_version, status_code
    gauge apache_http_response_time by remote_host, request_method, request_uri, status_code
    gauge apache_http_response_size by remote_host, request_method, request_uri, status_code
    
    histogram apache_http_request_time_millseconds_bucket buckets 5, 10, 25, 50, 100, 250, 500, 1000, 2500, 5000, 10000, 15000 by status_code
    
    /^/ +
    /(?P<remote_host>[0-9A-Za-z.:-]+) / + # %h
    /(?P<remote_logname>[0-9A-Za-z-]+) / + # %l
    /(?P<remote_username>[0-9A-Za-z-]+) / + # %u
    /[(?P<timestamp>d{2}/w{3}/d{4}:d{2}:d{2}:d{2} (+|-)d{4})] / + # %u
    /"(?P<request_method>[A-Z]+) (?P<request_uri>S+) (?P<http_version>HTTP/[0-9.]+)" / + # "%r"
    /(?P<status_code>d{3}) / + # %>s
    /((?P<response_size>d+)|-) / + # %b
    /(?P<response_time>d+) / + # %D
    /"(?P<referer>S+)" / + # "%{Referer}i"
    /"(?P<user_agent>[[:print:]]+)"/ + # "%{User-agent}i"
    /$/ {
      strptime($timestamp, "02/Jan/2006:15:04:05 -0700") # for tests
    
      apache_http_requests_total[$request_method][$http_version][$status_code]++
      $response_size > 0 {
          apache_http_bytes_total[$request_method][$http_version][$status_code] += $response_size
          apache_http_response_size[$remote_host][$request_method][$request_uri][$status_code] += $response_size
      }
      apache_http_response_time[$remote_host][$request_method][$request_uri][$status_code] = $response_time
      #apache_http_request_time_seconds_bucket[$remote_host][$request_method][$request_uri][$status_code] = $response_time / 1000
      apache_http_request_time_millseconds_bucket[$status_code] = $response_time
    }
    
    getfilename() !~ /localhost_access_log.?txt/ {
      stop
    }
    
    

    4.设置tomcat 日志格式

    pattern="%h %l %u %t &quot;%r&quot; %s %b %D &quot;%{Referer}i&quot; &quot;%{User-Agent}i&quot;" />
    
    

    采集到的日志如图
    示意图

    5.重启tomcat

    此步不用说了吧 都会的

    6.启动mtail

    mtail --progs /etc/mtail --logs '/opt/testtomcat/logs/localhost_access_log.*.txt' --logtostderr -v
    --logs 表示你要采集的文件
    --progs 表示你的mtail配置文件路径
    默认端口3903
    

    7.访问验证

    curl -s http://127.0.0.1:3903|less
    
    

    需要访问一下你的tomcat 才有新的日志被采集
    不然没有数据
    访问效果

    搜索一下apache 就能看到你想要的指标了

    注意问题

    mtail 需要访问才有采集动作
    还有几个坑的问题参考我的博客mtail 调式吧

  • 相关阅读:
    前端中不同页面之间传递参数的几种方式
    js中的闭包内存图
    【JavaScript基础】js中关于声明提前的几个误区
    【面试】前端面试题
    js继承的几种方式
    原生Ajax实现异步交互
    git基本使用
    一个简单的SSM框架实例(使用IDEA)
    高安全性的JavaScript
    高性能的JavaScript
  • 原文地址:https://www.cnblogs.com/muzhifei/p/13109763.html
Copyright © 2020-2023  润新知