问题与分析 在使用Elasticsearch进行index数据时,发现报错如下: java.lang.IllegalArgumentException: cannot write xcontent for unknown value of type class java.math.BigDecimal at org.elasticsearch.common.xcontent.XContentBuilder.unknownValue(XContentBuilder.java:755) at org…
前言 最近公司分了个ELK相关的任务给我,在一边学习一边工作之余,总结下这些天来的学习历程和踩坑记录. 首先介绍下使用ELK的项目背景:在项目的数据库里有个表用来存储消息队列的消费日志,这些日志用于开发者日后的维护.每当客户端生产一条消息并发送到消息队列后,就会插入一条对应的记录到数据库里.当这条消息被消费之后,又会更新数据库里对应的记录的几个column的值,比如status.updated_on这些常用的column. 由于客户每天生产消费的消息很多,导致数据库里的这个表里的数据很多,长年累…
方法 Elasticsearch默认会配置1G的JVM堆的初始值和最大值,该jvm参数被配置在/config/jvm.options里: -Xms1g -Xmx1g 如果只是个人开发小项目,可以把参数改小些,比如: -Xms512m -Xmx512m 这个jvm.options用来配置各种jvm参数,比如GC.GC logging.heap dumps等.…
背景 2019年5月21日,Elastic官方发布消息: Elastic Stack 新版本6.8.0 和7.1.0的核心安全功能现免费提供. 这意味着用户现在能够对网络流量进行加密.创建和管理用户.定义能够保护索引和集群级别访问权限的角色,并且使用 Spaces 为 Kibana 提供全面保护. 免费提供的核心安全功能如下: 1)TLS 功能. 可对通信进行加密: 2)文件和原生 Realm. 可用于创建和管理用户: 3)基于角色的访问控制. 可用于控制用户对集群 API 和索引的访问权限:…
1.基本下载安装 #按照ELK系列一博客安装启动即可,没有大坑,注意一下权限即可 chmod -R 777 ./elasticsearch #此外没有java的,注意安装下JDK,我这次部署的环境是CentOS-7.x,使用yum安装 sudo yum -y list java* sudo yum install java-1.8.0-openjdk.x86_64 2.集群配置: 2.1.配置过程 编辑好elasticseach-1的配置之后,复制出elasticsearch-2,然后修改结点名…
经验与实践 前两篇文章里我们介绍了nxlog的日志收集和转发<ELK系列~Nxlog日志收集加转发(解决log4日志换行导致json转换失败问题)>,今天我们主要总结一下,在与log4和fluentd及elasticsearch配合工作时需要注意的几个点,这几个点也是我们经常遇到的坑,希望可以帮到大家!我们从日志产生端log4开始说. log4需要注意的,编码与时间戳格式 nxlog需要注意output里对内容处理 fluentd需要注意类型和format的规定 1 log4产生日志,格式必须…
一. Elastic Stack Elastic Stack是ELK的官方称呼,网址:https://www.elastic.co/cn/products ,其作用是“构建在开源基础之上, Elastic Stack 让您能够安全可靠地获取任何来源.任何格式的数据,并且能够实时地对数据进行搜索.分析和可视化.” 它主要包括三个元件: Beats + Logstash:采集任何格式,任何来源的数据. Beats: Beats 是轻量型采集器的平台,从边缘机器向 Logstash 和 Elastic…
Fluentd是一个日志收集工具,有输入端和输出端的概念,前者主要是日志的来源,你可以走多种来源方式,http,forward,tcp都可以,后者输出端主要指把日志进行持久化的过程,你可以直接把它持久化到elasticsearch里,也可以直接在控制台输出,这看你如何配置了,更多基础配置可以看大叔这篇文章<ELK系列~对fluentd参数的理解>. Fluentd输入端的小知识 今天写这篇文章主要是因为在实际工作中遇到的问题,我们为了查询方便把日志定义成了json格式,当你的输入日志不是jso…
preface logstash--> redis --> logstash --> es这套架构在讲究松耦合关系里面是最简单的,架构图如下: 解释下这个架构图的流程 首先前端logstash读取apache的日志(input读取).然后放到redis的db里面(output存入).存储形式为列表形式存放 后端logstash从redis读取日志内容(input读取),从前端logstash指定的库里面读取指定的key.读取之后filter(filter-grok)过滤.然后传送到es上…
preface rsyslog是CentOs系统自带的的一个日志工具,那么我们就配置logstash来接受rsyslog的日志. logstash的syslog模块 linux-node2上操作logstash采集rsyslog发过来的日志,需要通过syslog模块来接受,这个模块的官网资料是:https://www.elastic.co/guide/en/logstash/2.3/plugins-inputs-syslog.html下面我们就动手配置下logstash的配置文件 [root@l…