1,日志json格式设置

1.1 tomcat

  1. 打开config/server.xml,在最后的位置修改log的输出配置为:
  2. <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
  3. prefix="localhost_access_log" suffix=".txt" pattern="{&quot;time&quot;:&quot;%t&quot;,&quot;remote_addr&quot;:&quot;%h&quot;,&quot;remote_user&quot;:&quot;%l&quot;,&quot;request&quot;:&quot;%r&quot;,&quot;status&quot;:&quot;%s&quot;,&quot;body_bytes_sent&quot;:&quot;%b&quot;,&quot;http_referer&quot;:&quot;%{Referer}i&quot;,&quot;http_user_agent&quot;:&quot;%{User-Agent}i&quot;,&quot;http_x_forwarded_for&quot;:&quot; %{X-Forwarded-For}i&quot;,&quot;request_time&quot;:&quot;%T&quot;,&quot;host&quot;:&quot;%v&quot;,&quot;port&quot;:&quot;%p&quot;}"/>
  4. 重启tomcat,即生效。

1.2 nginx

  1. 进入 /etc/nginx 打开 nginx.conf ,加入如下配置:
  2. http {
  3. ##
  4. # Basic Settings
  5. ##
  6. sendfile on;
  7. tcp_nopush on;
  8. tcp_nodelay on;
  9. keepalive_timeout 65;
  10. types_hash_max_size 2048;
  11. # server_tokens off;
  12. log_format logstash_json '{"time": "$time_local", '
  13. '"remote_addr": "$remote_addr", '
  14. '"remote_user": "$remote_user", '
  15. '"request": "$request", '
  16. '"status": "$status", '
  17. '"body_bytes_sent": "$body_bytes_sent", '
  18. '"http_referer": "$http_referer", '
  19. '"http_user_agent": "$http_user_agent", '
  20. '"http_x_forwarded_for": "$http_x_forwarded_for", '
  21. '"request_time": "$request_time", '
  22. '"request_length": "$request_length", '
  23. '"host": "$http_host"}';
  24. }
  25. 最后nginx -s reload即可

filebeat

logstash

elasticsearch

kibana