ELK之五----logstash收集haproxy日志

实验一:logstash收集haproxy日志

架构图

 实现原理:haproxy服务器监听kibana服务器的地址和端口号,rsyslog定义haproxy的日志级别,并监听logstash服务器地址,以TCP模式的网络协议监听端口:1514,logstash服务器也监听1514网络端口,实现rsyslog和logstash服务器的端口一致,最终haproxy日志文件传到logstash主机,logstash主机将haproxy日志再传到elasticsearch主机上。

1、安装并配置haproxy与rsyslog服务器

1、安装并配置haproxy服务器

# yum install haproxy  -y

2、配置haproxy文件 : /etc/haproxy/haproxy.cfg

log         127.0.0.1 local2  # 定义haproxy的日志级别,默认就是local2
listen kibana
   bind 0.0.0.0:5601  #监听kibana端口
   mode http
   log  global  # 调用haproxy全局部分的log文件
   server 192.168.7.100 192.168.7.100:5601 check  # 监听kibana服务器的IP地址,并作状态检测

3、修改rsyslog配置文件,并定义log日志级别

# vim  /etc/rsyslog.conf
$ModLoad imudp  # 开启UDP网络协议日志收集模式
$UDPServerRun 514
$ModLoad imtcp  #开启TCP网络协议日志收集模式
$InputTCPServerRun 514
local2.* /var/log/haproxy.log # 对应haproxy的日志级别 local2.* @@192.168.7.102:1514 #指定logstash主机的IP地址和对应的logstash配置文件中的端口号:1514,两个@@属于tcp网络模式

4、重启haproxy和rsyslog服务

# systemctl restart haproxy  rsyslog

2、在logstash服务器上创建收集haproxy文件

1、在/etc/logstash/conf.d目录下创建一个rsyslog.conf配置文件,收集haproxy日志文件。

input {
   syslog {
      port => 1514  #与rsyslog配置文件中监控的端口号一致
      type => "rsyslog-100"
  }
}


output {
  if [type] == "rsyslog-100" {
  elasticsearch {
     hosts => ["192.168.7.100:9200"]
     index => "rsyslog-100-%{+YYYY.MM.dd}"
  }
 }
}

2、重启logstash服务

# systemctl  restart logstash

3、在网页上访问haproxy代理的网站:192.168.7.103:5601

4、然后在head插件上查看haproxy的日志已经存在。

3、在logstash网页上创建索引

1、创建索引

2、在discover选项查看添加的日志信息

 

 

 

  

 

posted @ 2020-03-21 23:26  一叶知秋~~  阅读(776)  评论(0编辑  收藏  举报