设为首页 收藏本站
查看: 1247|回复: 0

[经验分享] fluentd +mongodb tomcat日志的搜集

[复制链接]

尚未签到

发表于 2018-10-27 14:53:01 | 显示全部楼层 |阅读模式
  1.日志条目说明
  收集的日志有效内容如下
  ⑴访问来源IP
  ⑵访问的页面
  ⑶访问返回状态
  ⑷访问页面的大小
  ⑸访问时间
  ⑹访问浏览器的类型版本和系统类型等
  例子192.168.0.1 - - [17/Oct/2012:14:38:12 +0800] "GET /test.jsp HTTP/1.1" 200 204 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3)"
  搜集到mongodb 后的json 格式日志
  { "_id" : ObjectId("507e12de6e12474ee7000014"), "host" : "192.168.0.1", "user" : "-", "method" : "GET", "path" : "/jeep.jsp", "code" : "404", "size" : "979", "time" : ISODate("2012-10-17T01:21:38Z") }
  2.应用服务器tomcat服务 server.xml  日志格式的修改
  日志搜集的时候tomcat 的server.xml 的模板
  把以下的注释 () 去掉
  
  改为

    prefix="t_uu_access_" suffix="log" pattern="combined"   rotatable="false"  resolveHosts="true"/>
  prefix 中的参数是:t_项目的域名主体_access,例如esn.uu.com.cn,prefix 值设定为prefix="t_uu_access_"
  其中t 代表的是tomcat有别与Apache 和nginx
  参数说明

  Valve>  prefix  :规定日志文件的前缀,即日志文件的名字
  suffix :规定日志文件的后缀,即日志文件的文件格式
  pattern(模式),pattern的两个值区别如下:
  common 的值: %h %l %u %t %r %s %b
  combined 的值: %h %l %u %t %r %s %b %{Referer}i %{User-Agent}i
  注:%a - Remote IP address
  %A - Local IP address
  %b - Bytes sent, excluding HTTP headers, or '-' if zero
  %B - Bytes sent, excluding HTTP headers
  %h - Remote host name (or IP address if resolveHosts is false)
  %H - Request protocol

  %l - Remote logical username from>  %m - Request method (GET, POST, etc.)
  %p - Local port on which this request was received
  %q - Query string (prepended with a '?' if it exists)
  %r - First line of the request (method and request URI)
  %s - HTTP status code of the response

  %S - User session>  %t - Date and time, in Common Log Format
  %u - Remote user that was authenticated (if any), else '-'
  %U - Requested URL path
  %v - Local server name
  %D - Time taken to process the request, in millis
  %T - Time taken to process the request, in seconds
  %I - current request thread name (can compare later with stacktraces)
  rotatable:决定日志是否轮巡
  true :轮巡,并把时间加入日志名中
  false:不轮巡。日志记录一直保存在同一个文件中
  resolveHosts:决定是否把远程的主机ip 通过DNS 查找返回主机名
  true : 返回主机名,
  false:不去查找
  注:查不到以“-”代替
  fileDateFormat:决定轮巡的日志名字追加的时间格式,以及通过时间格式确定轮巡的周期即日志写
  到新日志文件的周期。yyyy-MM-dd.HH   把值设定前文,是每个小时产生新的日志文件。不写此项,
  系统默认是每天轮巡。
  其他参数详见:http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html
  修改完要重启tomcat服务
  3.在fluentd 的收集端
  vim /etc/td-agent/td-agent.conf
  
  type forward
  port 24224
  bind 0.0.0.0
                          :source对 一个
              :match 对有多个,一个tomcat项目一个match 对
  #type file
  ##path /var/log/fluentd/access_log
  type  mongo
  database apache                  :database 后指定mongodb 的数据库名线上确定为weblogs
  collection access                  :collection 后指定的是weblogs 库中存该项目tomcat日志的表名,即tomcat的日志名
  host 192.168.0.110               :指定mongodb 数据库的ip 线上环境
  port 27017                           :mongodb 的开放端口
  ignore_invalid_record true
  buffer_chunk_limit 5M
  flush_interval 60s
  
  注意:要搜集的日志的source 和match 对,其他的source 和match 对用注释掉
  4.web 应用端的td-agent 的配置文件说明
  
  type tail
  path /var/log/httpd/access_log      :指定所要收集的日志的全路径
  format apache
  tag    apache.access                          :指定所要搜集的日志的种类例如 nginx.access  tomcat.access ,
  
                            :指定匹配日志的类型这里的前缀和tag中的前缀一直
  type forward
  send_timeout 60s
  recover_wait 10s
  heartbeat_interval 1s
  phi_threshold 8
  hard_timeout 60s
                  :server对指定收集端的信息
  host 192.168.0.111  :搜集端 的ip
  port 24224;           :搜集端开放的端口
  weight 60                 :发送权重,可以有收集端由多个实现负载均衡,这里可以有多个server对
  
  
  注意:这里一个项目日志需要一个source对和一个match 对。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-627209-1-1.html 上篇帖子: Java操作MongoDB-xyz 下篇帖子: mongodb 的一般查询
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表