efk 监控tomcat8日志
efk 监控tomcat8日志
首先修改tomcat的server.xml 使tomcat输出的日志为json格式
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b"/> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access" suffix=".log" pattern="{"client":"%h", "client user":"%l", "authenticated":"%u", "access time":"%t", "method":"%r", "status":"%s", "send bytes":"%b", "Query?string":"%q", "partner":"%{Referer}i", "Agent version":"%{User-Agent}i"}"/> |
重启tomcat 之后 查看新生成的日志如下
在服务器上安装filebeat 并修改filebeat.yml如下
filebeat.inputs: - type: log enabled: true paths: - /tmp/tomcat/logs/localhost_access.* var.convert_timezone: false json.keys_under_root: true json.overwrite_keys: true json.add_error_key: true fields: #multiline.pattern: ^\[ #multiline.negate: true #multiline.match: after log_source: 116-tomcat tags: ["access","tomcat"] filebeat.config.modules: path: ${path.config}/modules.d/*.yml reload.enabled: false var.convert_timezone: false setup.template.enabled: false setup.template.settings: index.number_of_shards: 3 setup.template.name: "filebeat" setup.template.fields: "fields.yml" setup.template.overwrite: false setup.kibana: output.elasticsearch: hosts: ["ip地址:9200"] #pipeline: "nginx-test" index: "tomcat-test-%{+yyyy.MM.dd}" # json.keys_under_root: true # json.overwrite_keys: true
processors: - add_host_metadata: ~ - add_cloud_metadata: ~ |
启动filebeat 查看es生成的索引
在kibana中创建对应的索引