ELK日志收集分析系统配置
ELK是日志收益与分析的利器。
1、elasticsearch集群搭建
略
2、logstash日志收集
我这里的实现分如下2步,中间用redis队列做缓冲,可以有效的避免es压力过大:
1、n个agent对n个服务的log做日志收集(1对1的方式),从日志文件解析数据,存入broker,这里用的是redis的发布订阅模式的消息队列,当然你可以选用kafka,redis比较方便;
2、indexer做日志汇总,从redis队列中拿数据入es;
下面给出agent和index的配置示例:
1、driver_schedule.conf
input {
file {
#这是日志路径
path => [
"/home/xiaoju/driver-schedule-api/logs/driver-schedule-api.info.*",
"/home/xiaoju/driver-schedule-api/logs/driver-schedule-api.error.*"
]
#排除路径,支持glob展开,但是不递归
exclude => [
"access.*"
]
#开始位置,beginning从日志开始读取
start_position => "beginning"
#sincedb指示的文件,记录日志读取位置
sincedb_path => "/home/xiaoju/yangfan/local/logstash-1.4.2/sincedb/driver_schedule_progress"
#添加记录字段
add_field => {
"server" => "driver_schedule"
}
#编码器,正则pattern多行合并
codec => multiline {
pattern => "^\d+:\d+"
negate => true
what => "previous"
}
}
} filter {
#匹配路径中包涵info
if [path] =~ "info" {
#mutate更改值
mutate {
replace => { "type" => "info" }
}
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
}else if [path] =~ "error" {
mutate {
replace => { "type" => "error" }
}
} else {
mutate { replace => { "type" => "unknow" } }
} date {
match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
}
} output {
#debug格式化打印
#stdout{codec => rubydebug}
redis {
host => "10.94.99.55"
#这里用的是redis订阅模式,对应indexer的data_type应是pattern_channel
data_type => "channel"
port =>
db =>
key => "logstash:%{[server]}"
}
}
run起来:
nohup ./bin/logstash -f ./conf/agent/driver_schedule.conf &
2、indexer.conf
input {
redis {
host => "10.94.99.55"
port =>
db =>
#如果这里选择了pattern_channel, 采用的是redis的订阅方式, agent里data_type就要对应channel
data_type => "pattern_channel"
#这是所有的key的匹配pattern
key => "logstash:*"
}
} output {
elasticsearch {
embedded => false
protocol => "http"
host => "10.94.99.56"
port =>
#配置es索引名字
index => "%{[server]}"
#配置es索引类型
index_type => "%{[type]}"
}
#debug使用, 格式化打印
#stdout{codec => rubydebug}
}
run起来:
nohup ./bin/logstash -f ./conf/indexer/indexer.conf &
3、kibana配置
网上教程比较多,这里我只mark一些问题的解决方法:
1、connection failure:
checklist:
1、配置kibana的config.js里的es地址
2、如果es版本>1.4则需要在es的配置里加入
http.cors.allow-origin: "/.*/"
http.cors.enabled: true
注意事项:
1、ES和logstash最好选用相同大版本,不然可能写不进去
2、logstash会写一个syncsys的文件,记录上次读取文件到什么地方
ELK日志收集分析系统配置的更多相关文章
- ELK日志收集分析平台部署使用
一.ELK介绍 开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch.Logstash和Kiabana三个开源工具组成: 1.ElasticSearch是一个基于 ...
- ELK日志收集分析平台 (Elasticsearch+Logstash+Kibana)使用说明
使用ELK对返回502的报警进行日志的收集汇总 eg:Server用户访问网站返回502 首先在zabbix上找到Server的IP 然后登录到elk上使用如下搜索条件: pool_select:X. ...
- ELK/EFK——日志收集分析平台
ELK——日志收集分析平台 ELK简介:在开源的日志管理方案之中,最出名的莫过于ELK了,ELK由ElasticSearch.Logstash和Kiabana三个开源工具组成.1)ElasticSea ...
- 用ELK搭建简单的日志收集分析系统【转】
缘起 在微服务开发过程中,一般都会利用多台服务器做分布式部署,如何能够把分散在各个服务器中的日志归集起来做分析处理,是一个微服务服务需要考虑的一个因素. 搭建一个日志系统 搭建一个日志系统需要考虑一下 ...
- ELK:日志收集分析平台
简介 ELK是一个日志收集分析的平台,它能收集海量的日志,并将其根据字段切割.一来方便供开发查看日志,定位问题:二来可以根据日志进行统计分析,通过其强大的呈现能力,挖掘数据的潜在价值,分析重要指标的趋 ...
- SpringBoot使用ELK日志收集
本文介绍SpringBoot应用配合ELK进行日志收集. 1.有关ELK 1.1 简介 在之前写过一篇文章介绍ELK日志收集方案,感兴趣的可以去看一看,点击这里-----> <ELK日志分 ...
- springboot 集成 elk 日志收集功能
Lilishop 技术栈 官方公众号 & 开源不易,如有帮助请点Star 介绍 官网:https://pickmall.cn Lilishop 是一款Java开发,基于SpringBoot研发 ...
- syslog-ng日志收集分析服务搭建及配置
syslog-ng日志收集分析服务搭建及配置:1.网上下载eventlog_0.2.12.tar.gz.libol-0.3.18.tar.gz.syslog-ng_3.3.5.tar.gz三个软件: ...
- FILEBEAT+ELK日志收集平台搭建流程
filebeat+elk日志收集平台搭建流程 1. 整体简介: 模式:单机 平台:Linux - centos - 7 ELK:elasticsearch.logstash.kiban ...
随机推荐
- Android学习记录:Paint,Canvas和Bitmap
在Java中,利用过双缓冲技术,先将画笔画在内存上,再转化为图片,调出来. 当画的东西过多造成处理不过来时,双缓冲技术将防止闪屏. 在Paint方法下,我们这样写: BufferedImage tmp ...
- 获取windows任务栏高度的方法
方法一: TRect rt; SystemParametersInfo(SPI_GETWORKAREA, , &rt, ); //任务栏在下面的高度 int y = ::GetSystemMe ...
- 201521123088《Java程序设计》第6周学习总结
1. 本周学习总结 2. 书面作业 clone方法1.1 Object对象中的clone方法是被protected修饰,在自定义的类中覆盖clone方法时需要注意什么? ...
- 第2周作业-Java基本语法与类库(20170227-20170304)
本周学习总结 (1)这周学习认识和熟悉了java的一些类型和变量: (2)学习了java的运算符基本使用方法: (3)了解了如何建立远程仓库和本地仓库,和如何让java代码在临时储存,本地仓库和远程仓 ...
- 201521123037 《Java程序设计》第1周学习总结
#1.本章学习总结 了解java的发展历程 能够区分JVM.JRE.JDK之间的关系 了解文件名.类名要相同,且文件名大小写代表不同的名称 初步了解java编程语句 学会用控制台编译java程序 #2 ...
- 201521044091 java 第一周总结
1.本周学习总结 (1)第一次开始接触java语言,有些用法还是和c和c++有点差异,需要不断去学习 (2)java其实不仅仅一种高级语言,它包括的还有它的整套体系. 2. 书面作业 1.为什么jav ...
- 201521123109 《java程序设计》第11周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 1. 互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) ...
- 201521123118《java程序与设计》第9周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 1. 常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出 ...
- java课程设计-猜数游戏(201521123029 郑佳明)
1.团队课程设计博客链接 http://www.cnblogs.com/m1ng123/p/7056740.html 2.个人负责模板或任务说明 猜数运行3个主界面即相关功能 玩家信息存储的play类 ...
- Hibernate逆向工程【PowerDesigner、idea环境下】
为什么要使用逆向工程 由于我们每次编写Hibernate的时候都需要写实体,写映射文件.而且Hibernate的映射文件也容易出错.而逆向工程可以帮我们自动生成实体和映射文件,这样就非常方便了. 使用 ...