1.Haproxy配置日志规则

在/etc/haproxy/haproxy.conf的frontend下增加

option httplog
option logasap
log LogServerIP local5capture request header Host len 40
capture request header X-Forwarded-For len 50
#capture request header Accept-Language len 50
capture request header Referer len 200
capture request header User-Agent len 200

2.syslog配置开启远程接收

3.Logstash配置

indexer

input {file {path => "/var/log/haproxy.log"start_position => beginningsincedb_write_interval => 0type => "HAPROXY_LOG"codec => plain {charset => "ISO-8859-1"}}
}output {#stdout { codec => rubydebug}redis {data_type => "list"key => "logstash:Haproxy_log"host => "192.168.1.2"port => 6379}
}

shipping

在logstash配置文件目录下新建patterns目录,并在这个目录下新建一个haproxy的文件

vim /usr/local/logstash2.2.2/conf/patterns/haproxy

HAPROXYTIME (?!<[0-9])%{HOUR:haproxy_hour}:%{MINUTE:haproxy_minute}(?::%{SECOND:haproxy_second})(?![0-9])
HAPROXYDATE %{MONTHDAY:haproxy_monthday}/%{MONTH:haproxy_month}/%{YEAR:haproxy_year}:%{HAPROXYTIME:haproxy_time}.%{INT:haproxy_milliseconds}

vim /usr/local/logstash2.2.2/conf/haproxy.conf

input {redis {data_type => "list"key => "logstash:Haproxy_log"host => "192.168.1.2"port => 6379threads => 5type => "HAPROXY_LOG"}
}filter {grok{patterns_dir => "./patterns"match => ["message" , "%{SYSLOGTIMESTAMP:Syslog_Timestamp} %{IPORHOST:Syslog_Server} %{SYSLOGPROG}: %{IP:Client_IP}:%{INT:Client_Port} \[%{HAPROXYDATE:Accept_Date}\] %{NOTSPACE:Frontend_Name} %{NOTSPACE:Backend_Name}/%{NOTSPACE:Server_Name} %{INT:Time_Request}/%{INT:Time_Queue}/%{INT:Time_Backend_Connect}/%{INT:Time_Backend_Response}/\+%{NOTSPACE:Time_Duration} %{INT:Http_Status_Code} \+%{NOTSPACE:Bytes_Read} %{DATA:Captured_Request_Cookie} %{DATA:Captured_Response_Cookie} %{NOTSPACE:Termination_State} %{INT:Actconn}/%{INT:Feconn}/%{INT:Beconn}/%{INT:Srvconn}/%{NOTSPACE:Retries} %{INT:Srv_Queue}/%{INT:Backend_Queue} (\{%{IPORHOST:Site}\|?((%{IP:X_Forward_IP}|)(, |)(%{IP:X_Forward_IP2}|)(, |)(%{IP:X_Forward_IP3|)(%{DATA:X_Forward_Other}|))?\|?(%{URI:Http_Referer})?\|%{GREEDYDATA:User_Agent}\})?( )( )?\"(<BADREQ>|(%{WORD:Http_Method} (%{URIPROTO:Http_Proto}://)?(?:%{USER:Http_User}(?::[^@]*)?@)?(?:%{URIHOST:Http_Host})?(?:%{URIPATHPARAM:Http_Request})?( HTTP/%{NUMBER:Http_Version})?))?\""]}useragent {source => "User_Agent"target => "ua"}if [X_Forward_IP] =~ "." {geoip {source => ["X_Forward_IP"]database => "/usr/local/logstash2.2.2/bin/GeoLiteCity.dat"}} else {geoip {source => ["Client_IP"]database => "/usr/local/logstash2.2.2/bin/GeoLiteCity.dat"}}date{match => ["Accept_Date", "dd/MMM/yyyy:HH:mm:ss.SSS" ]}mutate{remove_field => ["Syslog_Timestamp"]remove_field => ["Accept_Date"]remove_field => [ "Host" ]remove_field => [ "Syslog_Server" ]remove_field => [ "Path" ]remove_field => [ "pid" ]remove_field => [ "Client_Port" ]remove_field => [ "program" ]remove_field => [ "Haproxy_Monthday" ]remove_field => [ "Haproxy_Month" ]remove_field => [ "Haproxy_Year" ]remove_field => [ "Haproxy_Hour" ]remove_field => [ "Haproxy_Minute" ]remove_field => [ "Haproxy_Second" ]remove_field => [ "Haproxy_Milliseconds" ]remove_field => [ "Frontend_Name" ]remove_field => [ "Captured_Response_Cookie" ]remove_field => [ "Captured_Request_Cookie" ]convert => [ "Http_Status_Code","integer" ]convert => [ "Bytes_Read","integer" ]convert => [ "Time_Duration","integer" ]convert => [ "Time_Backend_Response","integer" ]convert => [ "Actconn","integer" ]convert => [ "Feconn","integer" ]convert => [ "Beconn","integer" ]convert => [ "Srvconn","integer" ]convert => [ "Retries","integer" ]convert => [ "Srv_Queue","integer" ]convert => [ "Backend_Queue","integer" ]convert => [ "Time_Request","integer" ]convert => [ "Time_Queue","integer" ]convert => [ "Time_Backend_Connect","integer" ]}
}output {#stdout { codec => rubydebug }elasticsearch {hosts => "192.168.2.240:9200"index => "logstash-haproxy-%{+YYYY.MM.dd}"}
}

转载于:https://blog.51cto.com/fengwan/1755489

ELKStack实时分析Haproxy访问日志配置相关推荐

  1. Nginx 访问日志配置

    目录 一.Nginx 访问日志介绍 二.语法及默认值 三.配置实战 1.修改配置文件 2.日志变量说明 3.真实日志分析 四.参考资料 正文 回到顶部 一.Nginx 访问日志介绍 Nginx 软件会 ...

  2. Apache(httpd)配置--用户认证,域名跳转和访问日志配置

    一.用户认证 用户认证功能就是在用户访问网站的时候,需要输入用户名密码才能进行访问.一些比较好总要的站点和网站后台都会加上用户认证,以保证安全. 实例:下面对zlinux.com站点来做一个全站的用户 ...

  3. tomcat 系统访问日志配置

    http://www.itzhuyi.com/Item/Show.asp?m=1&d=53460 在server.xml里的<host>标签下加上 <Valve classN ...

  4. HAProxy的日志配置以及ACL规则实现负载均衡

    HAProxy配置日志策略 默认情况下,HAProxy是没有配置日志的 在centos6.3下默认管理日志的是rsyslog,可以实现UDP日志的接收,将日志写入文件,写入数据库 先检测rsyslog ...

  5. tomcat 服务器访问日志配置方法

    最近需要配置tomcat访问日志,通过造访他人的博客,再根据apache官方的一些文章,才逐渐清晰了许多 配置方法很简单: 在server.xml里的<host>标签下加上 <Val ...

  6. nginx php访问日志配置,nginx php-fpm 输出php错误日志的配置方法

    由于nginx仅是一个web 服务器,因此 nginx的access日志只有对访问页面的记录,不会有php 的 error log信息. nginx把对php的请求发给php-fpm fastcgi进 ...

  7. 宝塔自定义nginx访问日志配置

    nginx日志自定义配置 问题 有时nginx默认的日志满足不了需求,比如网站绑定了多个域名,想知道用于访问的是具体域名,这时候就需要自定义nginx日志了. nginx 中access log 记录 ...

  8. 通过实时日志分析_进行访问日志的快速统计

    原文链接 简介 很多个人站长在搭建网站时使用nginx作为服务器,为了了解网站的访问情况,一般有两种手段: 使用CNZZ之类的方式,在前端页面插入js,用户访问的时候触发js,记录访问请求. 利用流计 ...

  9. apache的“按周配置访问日志轮询”,需要安装cronolg软件

    在学习第9课课前×××时,3月18日遇到过的1个问题有必要记录一下. 在这部分的答案讲解视频里,最后1题的"上机考试"题,第2题要求:apache的虚拟主机"按周配置访问 ...

最新文章

  1. .jar中没有主清单属性_IDEA中spring boot helloword打包运行-0228-2020
  2. tensorflow http调用_《TensorFlow 内核剖析》笔记——系统架构
  3. oracle中取反_oracle正则表达式regexp_like的用法详解
  4. 刚刚,百度AI公布最新进展:Apollo2.0,新课程,设全球研究院
  5. python编程入门指南-《中小学生Python编程入门指南》3.4 字典
  6. 对Java中字符串的进一步理解
  7. WordPress收费下载插件Erphpdown v11.0
  8. Python3之excel操作--xlsxwriter模块
  9. three实战:月球围绕地球
  10. 关于日期插件在chrome中出现被遮挡的问题
  11. python 数据库表结构转为类_Python sql server和postgresql的表结构转换
  12. 转载--我的AI转型之路与AI之我见(非985211的奋斗路程与视角)
  13. 计算机三级网络技术交换机答题技巧,计算机三级考试考什么内容
  14. 评估回归模型的指标:MSE、RMSE、MAE、R2、偏差和方差
  15. 网站访问量统计实现.
  16. 内存条上的数字代表的意义
  17. LambdaMart
  18. 基于Spring boot开发电子宿舍管理系统毕业设计源码132056
  19. Java多线程实现的四种方式
  20. 股市量化交易接口如何获取A股历史数据?

热门文章

  1. options 请求
  2. 08.attempt 方法
  3. Oracle字符集讨论(转)
  4. 计算机的随想作文500字,生活随想作文500字 - 五年级 - 中小学生作文网
  5. Ubuntu16.04 rc.local不生效,启动过程中报“Failed to start /etc/rc.local Compatibility”错误
  6. 计算机网络之应用层(文件传送协议、万维网)
  7. 360搜索“触链”聚焦版权领域,“图刻”是噱头还是不忘安全初心?
  8. RabbitMQ五种工作模式
  9. office2003 安装步骤及注意事项
  10. 【Spring AOP】@Aspect结合案例详解(二): @Pointcut使用@within和within(已附源码)