elasticsear+kibana+logstash 优化
##关于s2安装cerebro来可视化集群管理#####
https://blog.csdn.net/RWSLR6/article/details/79648767
https://github.com/lmenezes/cerebro/releases
######关于head安装#################
https://blog.csdn.net/s740556472/article/details/78995843
##关于logstash日志规则制定###############
https://discuss.elastic.co/t/grok-for-parsing-java-log/43718/3
https://www.cnblogs.com/xing901022/p/4805586.html
https://blog.csdn.net/gebitan505/article/details/70255727
https://blog.csdn.net/zhaoyangjian724/article/details/54343178
#####logstash grok过滤器条件#################
https://github.com/elastic/logstash/blob/v1.4.2/patterns/grok-patterns
####logstash grok表达式在线匹配#############
http://grokdebug.herokuapp.com/
##关键笔记
https://blog.csdn.net/gebitan505/article/details/70336282
##关于Elk安全##################################
http://www.cnblogs.com/cjsblog/p/9501858.html
https://www.cnblogs.com/dmjx/p/9120474.html
##Elk相关地址##########################
cerebro地址:http://192.168.2.161:1234/#/overview?host=elk
kibana地址:http://192.168.2.161:5601
elasticsearch:http://192.168.2.161:9200/
####关于ELK版本#############################
elasticsearch 6.4.0
logstash 6.4.2
kibana 6.4.0
cerebro 0.8.1
###关于ELK配置###################################
###关于logstash配置
创建/data/service/logstash/etc目录,启动配置文件为logstash.conf
创建自定义正则表达式匹配文件,在/data/service/logstash/patterns目录下,创建postfix文件
###关于elasticsearch配置#########################
network.host: 192.168.2.161
cluster.name: yutang_elk
node.name: node-1 ###多节点设置不同node名称
http.cors.enabled: true
http.cors.allow-origin: "*"
###关于kibana配置####################
elasticsearch.url: "http://192.168.2.161:9200"
##########关于需要优化内容#################
x-pack使用
####示例版本 Filter日志格式规则##########################################
##日志格式介绍
以|符号隔开,第一个是访问时间,timestamp,作为logstash的时间戳,接下来的依次为:服务端IP,客户端的IP,
机器类型(WEB/APP/ADMIN),用户的ID(没有用0表示),请求的完整网址,请求的控制器路径,reference,设备的信息,duringTime,请求所花的时间。
##########################################################################
##打印格式
2015-05-07-16:03:04|10.4.29.158|120.131.74.116|WEB|11299073|
http://quxue.renren.com/shareApp?isappinstalled=0&userId=11299073&from=groupmessage
|/shareApp|null|Mozilla/5.0 (iPhone; CPU iPhone OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12D508 MicroMessenger/6.1.5 NetType/WIFI
|duringTime|98||
################################################################
filter {
#定义数据的格式
grok {
match => { "message" => "%{DATA:timestamp}\|%{IP:serverIp}\|%{IP:clientIp}\|%{DATA:logSource}\|%{DATA:userId}\|%{DATA:reqUrl}\|%{DATA:reqUri}\|%{DATA:refer}\|%{DATA:device}\|%{DATA:textDuring}\|%{DATA:duringTime:int}\|\|"}
}
}
##########################################
###编码解码###########
# codec类:定于处理数据格式,如plain,json,json_lines等格式。这个可以定义在input、output区域中。
json_lines # 用于json过长使用
plain # 用于文件字节使用
json_lines # 用于json使用
#####关于Logback and logstash 使用方式###################
1、可以提供哪些字段
1.1 logback可以提供哪些字段供logstash做切割筛选
2、扫描方式
2.1 读取指定目录下文件/**/**/*error.log 文件
2.2 logstash通过接受logback指定的tcp端口发送的数据
https://blog.csdn.net/gebitan505/article/details/70336343
3、logbak日志通过tcp传输,logbak需要添加配置(主机地址/端口)
3.1 示例:
logback.xml增加
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>169.254.247.253:9250</destination>
<!-- encoder必须配置,有多种可选 -->
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" />
</appender>
<root level="${log.level}">
<appender-ref ref="LOGSTASH" />
</root>
3.2 示例2:
<appender name="stash1" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>10.8.120.37:4560</destination>
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<pattern>
<pattern>
{
"timestamp": "%d{yyyy-MM-dd HH:mm:ss.SSS}", //时间戳格式
"thread": "%thread", //进程名
"level": "%level", //日志等级
"logger_name": "%logger", //日志记录器名
"class_name": "%class", //类名
"method_name": "%method", //方法名
"line_number": "%line", //行号
"message": "%message" //日志主题信息
}
</pattern>
</pattern>
</providers>
</encoder>
</appender>
####成品############################################
###注意事项##########################
#设置多长时间扫描目录,发现新文件,按秒为单位
discover_interval => 15
#设置多长时间检测文件是否修改
stat_interval => 1
#####################################
创建postfix文件
################################
CUSTOMER_ERROR_LOG customererrorlog
###############################
vim logstash.conf
input {
file {
path => "/data/service/logs/*study-center-api*.log"
type => "elk-java-logs"
start_position=> "beginning"
discover_interval => 15
stat_interval => 1
}
}
filter {
grok {
patterns_dir => ["/data/service/logstash/patterns/postfix"]
match => { "message" => "%{CUSTOMER_ERROR_LOG:customererrorlog}\|%{NOTSPACE:applicationName}\|%{NOTSPACE:applicationNode}\|%{NOTSPACE:header}\|%{NOTSPACE:param}\|%{NOTSPACE:msg}\|%{NOTSPACE:stac
ktrace}" }
match => {"customererrorlog" => "%{CUSTOMER_ERROR_LOG:customererrorlog}"}
match => {"applicationName" => "%{NOTSPACE:applicationName}"}
match => {"applicationNode" => "%{NOTSPACE:applicationNode}"}
match => {"header" => "%{NOTSPACE:header}"}
match => {"param" => "%{NOTSPACE:param}"}
match => {"msg" => "%{NOTSPACE:msg}"}
match => {"stacktrace" => "%{NOTSPACE:stacktrace}"}
break_on_match => true
}
}
output {
if !("_grokparsefailure" in [tags]) {
elasticsearch {
hosts => ["192.168.2.161:9200"]
index => "elk-java-log-%{+YYYY.MM.dd}"
}
}
}
elasticsear+kibana+logstash 优化的更多相关文章
- ELK(elasticsearch+kibana+logstash)搜索引擎(一): 环境搭建
1.ELK简介 这里简单介绍一下elk架构中的各个组件,关于elk的详细介绍的请自行百度 Elasticsearch是个开源分布式搜索引擎,是整个ELK架构的核心 Logstash可以对数据进行收集. ...
- Kibana+Logstash+Elasticsearch 日志查询系统
搭建该平台的目的就是为了运维.研发很方便的进行日志的查询.Kibana一个免费的web壳:Logstash集成各种收集日志插件,还是一个比较优秀的正则切割日志工具:Elasticsearch一个开源的 ...
- kibana ,logstash and filebeat
https://www.elastic.co/guide/en/kibana/current/install.html https://www.elastic.co/guide/en/logstash ...
- Elasticsearch,Kibana,Logstash,NLog实现ASP.NET Core 分布式日志系统
Elasticsearch - 简介 Elasticsearch 作为核心的部分,是一个具有强大索引功能的文档存储库,并且可以通过 REST API 来搜索数据.它使用 Java 编写,基于 Apac ...
- 【ELK】【docker】【elasticsearch】2.使用elasticSearch+kibana+logstash+ik分词器+pinyin分词器+繁简体转化分词器 6.5.4 启动 ELK+logstash概念描述
官网地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-cli-run-prod ...
- Elasticsearch+Kibana+Logstash安装
安装环境: [root@node- src]# cat /etc/redhat-release CentOS Linux release (Core) 安装之前关闭防火墙 firewalld 和 se ...
- Docker安装部署ELK教程(Elasticsearch+Kibana+Logstash+Filebeat)
Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash 是一个完全开 ...
- elasticsearch kibana logstash(ELK)的安装集成应用
官网关于kibana的学习指导网址是:https://www.elastic.co/guide/en/kibana/current/index.html Kibana是一个开源的分析和可视化平台,设计 ...
- ELK (elasticsearch+kibana+logstash+elasticsearch-head) 华为云下载地址
https://mirrors.huaweicloud.com/elasticsearch https://mirrors.huaweicloud.com/kibana https://mirrors ...
随机推荐
- Window8.1下安装Matplotlib库
有两种方法: 直接选用一些预打包库软件,如WinPython, Python(x,y), Enthought Canopy, or Continuum Anaconda.这些软件中已包含有Matplo ...
- drf02 序列化器详解 Serializer
作用 1. 序列化,序列化器会把模型对象转换成字典,经过response以后变成json字符串2. 反序列化,把客户端发送过来的数据,经过request以后变成字典,序列化器可以把字典转成模型3. 反 ...
- [NOIP2018模拟赛]d
d题大概是让有n个矩阵,可以随意平移,问删除m个矩阵后最大的面积交是多少. 其实思路很显然. 肯定删x个a最小的和m-x个b最小的. 然后我们先删m个a最小的,然后逐渐少删a,开始删b,用个堆维护b的 ...
- while(Thread.activeCount() > 1)
今天看到深入理解JVM第367页多线程volatile部分照着书本敲着代码发现了一个问题 Thread.activeCount()会一直大于2 public class VolatileTest { ...
- 56.doc values
主要知识点 doc values 搜索的时候,要依靠倒排索引:在54小节中写到在聚合排序的时候如果仅仅依靠倒排索引的话是不能得出准确的结果的,需要依靠正排索引,所谓的正排索引,其实就是doc ...
- StringUtils.isNotBlank 和StringUtils.isNotEmpty 的区别
StringUtils.isNotBlank判断某字符串是否不为空且长度不为0且不由空白符(whitespace)构成下面是示例:StringUtils.isNotBlank(null) = fals ...
- Netty学习总结(2)——Netty的高性能架构之道
Netty是一个高性能.异步事件驱动的NIO框架,它提供了对TCP.UDP和文件传输的支持,作为一个异步NIO框架,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener机制,用 ...
- HDU - 2833 - WuKong
先上题目: WuKong Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- [bzoj1708][Usaco2007 Oct]Money奶牛的硬币_动态规划_背包dp
Money奶牛的硬币 bzoj-1708 Usaco-2007 Oct 题目大意:在创立了她们自己的政权之后,奶牛们决定推广新的货币系统.在强烈的叛逆心理的驱使下,她们准备使用奇怪的面值.在传统的货币 ...
- js 清空对象\删除对象的属性
在项目中,有些对象用完后需要重置,下面简单介绍下JS中清除对象的方法.方法如下: 方法一:字面量定义对象 第一步,定义一个空对象并打印出来,代码和效果: 代码: var student = {};co ...