logstash

ELK分布式日志收集系统

核能气质少年 提交于 2020-08-11 23:29:49
ELK分布式日志收集系统 一、传统系统日志收集的问题 在传统项目中,如果在生产环境中,有多台不同的服务器集群,如果生产环境需要通过日志定位项目的Bug的话,需要在每台节点上使用传统的命令方式查询,这样效率非常底下。 通常,日志被分散在储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。 集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。 二、ELK分布式日志收集系统介绍 ElasticSearch是一个基于Lucene的开源分布式搜索服务器。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二流行的企业搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。 Logstash是一个完全开源的工具

如何做一次Elasticsearch技术分享?

╄→尐↘猪︶ㄣ 提交于 2020-08-11 21:02:06
0、问题引出 经群讨论,建议从以下几个方面展开,大家有好的想法,也欢迎留言交流。 1、可视化展示ELK效果 如果条件允许,demo的内容是:通过logstash 同步日志或数据库(oracle、mysql)表的数据到 Elasticsearch,然后通过kibana进行可视化。 1 通过Canvas对数据进行可视化布局与展现,可以实现非常酷炫的大屏展示效果。 2 展示实时数据的数据量。 3 展示你定的几个维度的数据信息。 这么切入的目的:很直观,很明显,很接地气。用到ELK技术栈的内容,有带动性,让参与的同事不犯困且很容易让大家对它产生兴趣。 2、 Elk stack大家族简介 考虑到不同受众关注点不同。结合业务的数据的特点,从输入、中间处理、存储&检索、分析等全数据流环节展开。 2.1 输入 Elastic 支持的输入包含但不限于: 日志类数据:类log4j.log,apache log等,可借助 beats或logstash同步 关系型数据库:mysql oracle pgsql等 非关系型数据库:mongodb redis等 实时数据流:flink spark kafka hdfs等 大数据:hadoop hdfs等 此处的不同数据的导入,Lostash有丰富的input/output插件,支持N多不同数据源接入,估计同事也会眼前一亮。 2.2 中间处理ETL

Logstash下字段以及嵌套Json字段类型转换

早过忘川 提交于 2020-08-11 20:09:58
前言 从filebeat传输到Logstash的数据,某个字段需要由string类型装换成float类型。但是不管怎么改logstash的配置文件都不生效,其实官方文档都有,但是具体细节方面的东西就得自己不断的实践验证最后达到自己想要的目标了。整整一天,都在弄这一个,中间实在想放弃了。但是就如张靓颖的“终于等到你,还好没放弃”,最后在某一篇博文得到了启发,才解决。 这里类型转换分两个类型: 1)字段是单纯的字段,也就是直接在_source下的 2)字段是在json里的,在_source下还有嵌套一层json里的字段 一、单一字段 可以从下面的图中看出,字段就在顶层机构_source下,这种情况下的Logstash配置文件设置如下: filter { mutate { convert => { " request_time " => " float " } convert => { " upstream_response_time " => " float " } } } 二、嵌套Json下的字段 如果需要转换的字段是在非顶级结构下,是在一个JSON里,因为在filebeat做decode的时候指定了,如我需要转换的字段是在jsonn的json字段里: processors: - decode_json_fields: fields: [ " message " ]

Docker部署ElasticSearch以及使用

做~自己de王妃 提交于 2020-08-10 21:13:39
ElasticSearch笔记 1. ElasticSearch前期 1.1 聊聊ElasticSearch的简介 ​ Elaticsearch,简称为es, es是一个开源的 高扩展的分布式全文检索引擎 ,它可以近乎实时的 存储 、 检索 数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别(大数据时代)的数据。es也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。 ​ 据国际权威的数据库产品评测机构DB Engines的统计,在2016年1月,ElasticSearch已超过Solr等,成为排名第一的搜索引擎类应用。 ElasticSearch的小故事 ​ 多年前,一个叫做Shay Banon的刚结婚不久的失业开发者,由于妻子要去伦敦学习厨师,他便跟着也去了。在他找工作的过程中,为了给妻子构建一个食谱的搜索引擎,他开始构建一个早期版本的Lucene。直接基于Lucene工作会比较困难,所以Shay开始抽象Lucene代码以便Java程序员可以在应用中添加搜 索功能。他发布了他的第一个开源项目,叫做“Compass”。 ​ 后来Shay找到一份工作,这份工作处在高性能和内存数据网格的分布式环境中,因此高性能的、实时 的、分布式的搜索引擎也是理所当然需要的

MySQL到Elasticsearch数据同步

依然范特西╮ 提交于 2020-08-09 02:25:31
MySQL与Elasticsearch同步 当业务需要对海量数据进行多维度、实时的搜索时,关系型数据库显然力不从心。一个非常典型的例子就是对产品或者商品进行多维度搜索。此时,业务经常需要借助搜索引擎Elasticsearch满足多样化的实时搜索诉求。搜索开始前,首先需要解决的问题是如何将待搜索数据从关系型数据库实时同步到Elaticsearch 方案1:阿里云数据传输DTS DTS支持本地IDC自建MySQL/其他云厂商MySQL/阿里云ECS自建MySQL/RDS MySQL->Elasticsearch之间的数据实时同步。通过DTS提供的数据实时同步功能,用户只要3步就可搭建起MySQL同Elasticsearch的实时同步实例,实现基于MySQL Binlog的毫秒级同步延迟。 方案2:Logstash将MySQL数据同步到ElasticSearch 开源工具成本高:待同步表必须更新时间字段、业务写入数据必须更新时间 性能影响大:通过SQL读取数据、对线上业务影响大 同步延迟高:定期数据同步、同步时延高达数小时 稳定性差:无法解决RDS实例迁移及、日志回收情况下的同步稳定性 除mysql外,还支持oracle、SQL server、PostgreSQL等数据库类型 使用logstash-input-jdbc插件读取mysql的数据,这个插件的工作原理比较简单

ElasticSearch系列二:Kibana的使用和C#的Nest客户端

こ雲淡風輕ζ 提交于 2020-08-08 22:48:16
目录 前言 Kibana查询ElasticSearch 使用C#的Nest查询ElasticSearch 连接 使用连接池 增加文档 批量增加文档 搜索文档 指定索引搜指定字段 查所有的索引: .AllIndices() 查询全部 高亮查询 聚合查询 结构化: 特点,查询结果要么是true要么是false 非结构化搜索: 特点,在全文字段中搜索 组合查询 布尔查询 不好的写法 推荐使用的bool查询 选择要返回的字段 前言 ElasticSearch,Kibana,Logstash等安装上一章讲完了,这一章讲讲ELasticSearch怎么使用 两种方式,一种是直接写ElasticSearch查询语句,当然是在Kibana里面 还有一种是用代码写,可以用Java,C#,PHP,Python等,我这里使用C# Kibana查询ElasticSearch #创建 PUT /test/user/1 { "name":"许嵩", "age":34, "tags":["a","b","c"] } #查询index里面的数量 GET test/_count #查询id为1的 GET test/user/1 #查询name包含许嵩的 GET article/_search?q=title:许嵩 # 也可以使用这种 GET article/_search { "query": { "match":

ElasticSearch系列一:安装

∥☆過路亽.° 提交于 2020-08-08 19:08:03
目录 前言 ElasticSearch安装 启动 命令框启动 服务启动 访问 配置文件elasticsearch.yml修改 插件 ik分词器 ElasticSearch-head安装 Kibana安装 启动 中文 ip访问 LogStash安装 启动 关闭 配置文件 前言 最近需要使用ElasticSearch做全站搜索,目前使用的是Windows版本的 去官网下载安装包,需要注意的一点是,最好版本一致,否则可能报错,比如7.6.2版本的ElasticSearch,Kibana,Logstash ElasticSearch安装 直接解压,默认的端口是9200 启动 命令框启动 可以双击bin目录下的elasticsearch.bat,这样会启动一个命令框,但是你关机下次开机还得重新打开,所以我们使用随电脑启动 服务启动 在bin目录下还有一个elasticsearch-service.bat,在bin目录下执行命令 安装:elasticsearch-service.bat install删除:elasticsearch-service.bat remove启动:elasticsearch-service.bat start停止: elasticsearch-service.bat stop 访问 默认是localhost:9200访问,可以配置使用ip访问 network

搭建一个 ELKB 日志收集系统

烈酒焚心 提交于 2020-08-08 17:17:15
开发环境 centos-release-7-3.1611.el7.centos.x86_64 elasticsearch-6.3.1 kibana-6.3.1 logstash-6.3.1 filebeat-6.3.1 ElasticSearch安装 下载ElasticSearch ,国内慢 找 镜像站 下载 wget -c https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.1.tar.gz tar -zxvf elasticsearch-6.3.1.tar.gz -C /opt/module/ mkdir data 修改配置文件/opt/module/elasticsearch-6.3.1/config/elasticsearch.yml ### node-1 192.168.9.101 ### node-2 192.168.9.102 ### node-3 192.168.9.103 http.port: 9200 http.cors.enabled: true http.cors.allow-origin: "*" node.master: true node.data: true # 集群名称,默认是elasticsearch ###保证三台服务器节点集群名称相同 cluster

PB级大规模Elasticsearch集群运维与调优实践

|▌冷眼眸甩不掉的悲伤 提交于 2020-08-08 16:12:51
导语 | 腾讯云Elasticsearch 被广泛应用于日志实时分析、结构化数据分析、全文检索等场景中,本文将以情景植入的方式,向大家介绍与腾讯云客户合作过程中遇到的各种典型问题,以及相应的解决思路与方法,希望与大家一同交流。文章作者:bellen,腾讯云大数据研发工程师。 ​ 一、背景 某中型互联网公司的游戏业务,使用了腾讯云的 Elasticsearch 产品,采用 ELK 架构存储业务日志。 因为游戏业务本身的日志数据量非常大(写入峰值在 100w qps ),在服务客户的几个月中,我们踩了不少坑。经过数次优化与调整,最后将客户的 ES 集群调整得比较稳定,避免了在业务高峰时客户集群的读写异常,并且降低了客户的资金成本和使用成本。 二、与客户的初次交锋 解决方案架构师A:bellen, XX公司要上线一款新游戏,日志存储决定用 ELK 架构,他们决定在 XX云和我们之间二选一,我们首先去他们公司和他们交流一下,争取拿下! bellen: 好,随时有空! 随后和架构师一起前往该公司,跟负责底层组件的运维部门的负责人进行沟通。 XX公司运维老大:不要讲你们的PPT了,先告诉我你们能给我们带来什么! bellen:呃,我们有很多优势,比如可以灵活扩缩容集群,还可以一键平滑升级集群版本,并且提供有跨机房容灾的集群从而实现高可用...... XX公司运维老大:你说的这些别的厂商也有