博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用RELK进行日志收集
阅读量:4654 次
发布时间:2019-06-09

本文共 2023 字,大约阅读时间需要 6 分钟。

发布时间:April 3, 2018 // 分类:,, // 

前不久在做应急的总是遇到要求对日志进行分析溯源,当时就想到如果对常见的日志类进行解析后统一入库处理,然后在对相关的IP/URL进行统计归纳。对于溯源之类的很是方便。想到数据量比较大,又要便于分析,就想到了ELK.

搭建一套基于elk的日志分析系统。

系统centos 内存4G 双核
大概架构如此
1.elk搭建

wget https:
//artifacts
.elastic.co
/downloads/elasticsearch/elasticsearch-6
.4.2.rpm
wget https:
//artifacts
.elastic.co
/downloads/kibana/kibana-6
.4.2-x86_64.rpm
wget https:
//artifacts
.elastic.co
/downloads/logstash/logstash-6
.4.2.rpm
 
rpm -ivh elasticsearch-6.4.2.rpm
sudo
chkconfig --add elasticsearch
/etc/init
.d
/elasticsearch
start
 
rpm -ivh kibana-6.4.2-x86_64.rpm
/etc/init
.d
/kibana
start
sudo
chkconfig --add kibana
 
rpm -ivh logstash-6.4.2.rpm
cd
/usr/share/logstash
ln
-s
/etc/logstash
.
/config

整个elk系统搭建好了,安装redis作为agent收集日志来作为logstash的输入源

wget http:
//download
.redis.io
/redis-stable
.
tar
.gz
tar
zxf redis-stable.
tar
.gz
cd
redis-stable
make
&&
make
install

修改redis.conf。

bind 0.0.0.0
protected-mode no
daemonize yes
maxclients 1000000

启动redis

sudo
redis.conf
/etc/
redis-server
/etc/redis
.conf

Logstash配置文件是JSON格式,放在/etc/logstash/conf.d 。 该配置由三个部分组成:输入,过滤器和输出。

input 数据输入端,可以接收来自任何地方的源数据。
file:从文件中读取
syslog:监听在514端口的系统日志信息,并解析成RFC3164格式。
redis:从redis-server list 中获取
beat:接收来自Filebeat的事件
Filter 数据中转层,主要进行格式处理,数据类型转换、数据过滤、字段添加,修改等,常用的过滤器如下。
grok: 通过正则解析和结构化任何文本。Grok 目前是logstash最好的方式对非结构化日志数据解析成结构化和可查询化。logstash内置了120个匹配模式,满足大部分需求。
mutate: 在事件字段执行一般的转换。可以重命名、删除、替换和修改事件字段。
drop: 完全丢弃事件,如debug事件。
clone: 复制事件,可能添加或者删除字段。
geoip: 添加有关IP地址地理位置信息。
output 是logstash工作的最后一个阶段,负责将数据输出到指定位置,兼容大多数应用,常用的有:
elasticsearch: 发送事件数据到 Elasticsearch,便于查询,分析,绘图。
file: 将事件数据写入到磁盘文件上。
mongodb:将事件数据发送至高性能NoSQL mongodb,便于永久存储,查询,分析,大数据分片。
redis:将数据发送至redis-server,常用于中间层暂时缓存。
graphite: 发送事件数据到graphite。
statsd: 发送事件数据到 statsd。

编写logstash的配置文件。对所有的数据全盘接受,感谢Mosuan师傅的指导。

input {   
    
redis {
        
host => '127.0.0.1'
    
port => 6379
        
password => 'password'
        
data_type => 'list'
        
key => 'logstash:redis'
    
}
}
output {
    
elasticsearch { hosts => localhost }
    
stdout { codec => rubydebug }
}

Logpara

转载于:https://www.cnblogs.com/zgq123456/p/10063318.html

你可能感兴趣的文章
building tool
查看>>
JS中for循环输出三角形
查看>>
字节对齐2
查看>>
与Win8之磁盘活动时间100%斗争心得
查看>>
Matrix: android 中的Matrix (android.graphics.Matrix) (转)
查看>>
Android中处理崩溃异常
查看>>
Day7—socket进阶
查看>>
只读数据文件损坏恢复
查看>>
转过来的,可以看下
查看>>
windows搭建SVN服务MD版
查看>>
Java私塾的一些基础练习题(一)
查看>>
Shell 07 项目案例
查看>>
Dapper基础用法
查看>>
一步步学习SPD2010--第九章节--使用可重用工作流和工作流表单(1)--创建和使用可重用工作流...
查看>>
Eclipse配置默认的编码集为utf-8
查看>>
【精解】EOS标准货币体系与源码实现分析
查看>>
HashMap
查看>>
Android广播机制概述
查看>>
[javascript]9宫格拖拽拼图游戏 puzzle
查看>>
Entity Framework底层操作封装(3)
查看>>