ELK+redis+filebeat收集Apache日志

Stella981
• 阅读 607

准备环境:两台centos7
规划如下:
ip地址:
服务端:192.168.232.135:
jdk
kibana
logstash
elasticsearch
redis
192.168.232.136:
jdk
elasticsearch
filebeat
Apache

1.关闭防火墙:

systemctl stop firewalld
setenforce 0

2.上传ELK压缩包并解压:

ELK+redis+filebeat收集Apache日志
ELK+redis+filebeat收集Apache日志

3.安装jdk(两台都安装)

[root@localhost ELK]# rpm -ivh jdk-8u131-linux-x64_.rpm

4.安装elasticsearch(两台都装)

rpm -ivh elasticsearch-6.6.2.rpm

5.配置192.168.232.135的elasticsearch配置文件

[root@localhost ELK]# vim /etc/elasticsearch/elasticsearch.yml

ELK+redis+filebeat收集Apache日志

ELK+redis+filebeat收集Apache日志
开启elasticsearch

[root@localhost ELK]# systemctl start elasticsearch

验证:
ELK+redis+filebeat收集Apache日志
5.1配置192.168.232.136的elasticsearch配置文件
ELK+redis+filebeat收集Apache日志
ELK+redis+filebeat收集Apache日志
开启elasticsearch

[root@localhost ELK]# systemctl start elasticsearch

验证:
ELK+redis+filebeat收集Apache日志
6.服务端安装redis

[root@localhost ~]# tar zxf redis-5.0.0.tar.gz
[root@localhost ~]# cp -r redis-5.0.0 /usr/local/redis
[root@localhost ~]# cd /usr/local/redis/
[root@localhost redis]# yum -y install gcc-c++
[root@localhost redis]# make
[root@localhost redis]# make MALLOC=libc
1.给redis做软链接
    [root@localhost redis]# ln -sv /usr/local/redis/src/redis-server /usr/bin/redis-    server
    "/usr/bin/redis-server" -> "/usr/local/redis/src/redis-server"
    [root@localhost redis]# ln -sv /usr/local/redis/src/redis-cli /usr/bin/redis-cli
    "/usr/bin/redis-cli" -> "/usr/local/redis/src/redis-cli"
2.修改配置文件
    [root@localhost redis]# vim /usr/local/redis/redis.conf
    69行修改:
     bind 192.168.232.135
     508行添加:
     requirepass 123321
 3.启动redis:
     [root@localhost redis]# redis-server ./redis.conf
 4.把511追加到/proc/sys/net/core/somaxconn:
     [root@localhost redis]# echo 511 >> /proc/sys/net/core/somaxconn
 5.去/etc/sysctl.conf最后一行添加下面命令:
     [root@localhost redis]# vim /etc/sysctl.conf
         vm.overcommit_memory = 1
 6.在/etc/rc.local里面添加:
     echo never > /sys/kernel/mm/transparent_hugepage/enabled
 7.进入redis配置文件136行将daemonize no修改为yes
     [root@localhost redis]# vim /usr/local/redis/redis.conf
         136行将daemonize no修改为daemonize yes
 8.重启redis:
     [root@localhost redis]# redis-server ./redis.conf
 9.测试:
 192.168.232.135:6379> auth 123321
 OK
 192.168.232.135:6379> get *
 (nil)
 

7.客户端安装httpd并启动:

[root@localhost ELK]# yum -y install httpd
[root@localhost ELK]# systemctl start httpd

8.客户端安装filebeat:

[root@localhost ~]# rpm -ivh filebeat-6.8.1-x86_64.rpm

9.配置filebeat.yml文件收集httpd的日志

[root@localhost ~]# cd /etc/filebeat/
备份一份原配置文件,以防改错:
[root@localhost filebeat]# cp filebeat.yml filebeat.yml.bak
[root@localhost filebeat]# vim filebeat.yml
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/httpd/access_log
filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false
  setup.ilm.enabled: false
  setup.template.name: "filebeat-httpd"
  setup.template.pattern: "filebeat-httpd-*"
setup.template.settings:
  index.number_of_shards: 3
setup.kibana:
output.redis:
  hosts: ["192.168.232.135:6379"]
  key: "filebeat-httpd"
  db: 1
  timeout: 5
  password: 123321

processors:
  - add_host_metadata: ~
  - add_cloud_metadata: ~

10.服务端安装logstash

[root@localhost ELK]# rpm -ivh logstash-6.6.0.rpm

11.配置logstash文件添加httpd的索引

[root@localhost ELK]# cd /etc/logstash/conf.d/
[root@localhost conf.d]# vim httpd.conf
input {
   
   
        redis {
   
   
                data_type => "list"
                host => "192.168.232.135"
                password => "123321"
                port => "6379"
                db => "1"
                key => "filebeat-httpd"
        }
}

output {
   
   

         elasticsearch {
   
   
                hosts => ["192.168.232.135:9200"]
                index => "redis-httpdlog-%{+YYYY.MM.dd}"




         }
}

12.开启logstash并验证:

1.[root@localhost conf.d]# systemctl start logstash
2.[root@localhost conf.d]# netstat -nltp |grep 9600

ELK+redis+filebeat收集Apache日志
13.安装kibana:

1.[root@localhost ELK]# rpm -ivh kibana-6.6.2-x86_64.rpm

13.1.修改kibana配置文件:

[root@localhost ELK]# vim /etc/kibana/kibana.yml

ELK+redis+filebeat收集Apache日志
13.2.开启kibana服务并验证:

[root@localhost ELK]# systemctl start kibana
[root@localhost ELK]# netstat -nltp |grep 5601

ELK+redis+filebeat收集Apache日志
14.http://192.168.232.135:5601/浏览器访问kibana页面:
ELK+redis+filebeat收集Apache日志
ELK+redis+filebeat收集Apache日志
ELK+redis+filebeat收集Apache日志
ELK+redis+filebeat收集Apache日志
附加:如果进入页面之后索引出不来就进入httpd网页刷新页面httpd索引就会出来了
ELK+redis+filebeat收集Apache日志

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
2年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这