logstash

通过logstash实现mysql同步elasticsearch 实现全文检索

若如初见. 提交于 2020-02-27 06:50:40
目的:文本型数据无法实现关键字查询,某个汉字查询,思路: 实现将mysql某表中 id(mysql某张表中的主键)和content内容同步到elasticsearch ,利用elasticsearch倒排序特性,分词器,对content进行建立索引,通过分词在该elasticsearch查到记录,然后获得该记录的id,并通过该id进入mysql中通过该id(主键)去查询记录。提升查询速度。 (1) 自定义动态模板,在elasticsearch安装目录下新建templates目录(注意,elasticsearch下自定义模板,必须建这个目录) 如下,所有以所有test开头的 都会默认走这个模板配置,release_date指定date类型,des指定text,text类型默认是会分词的,将改des里的字符(汉字)按照默认分词器进行分词(倒排序,建索引的过程) (2)启动elasticsearch, ./bin/elasticsearch (3)实现mysql同步到elasticsearch,必须要借助 logstash-input-jdbc插件(插件安装省略,logstash7.0默认已自带该插件) (4)新建logstash配置文件 vi logstatic-test.sh 注意点:如果出现“LogStash::ConfigurationError com.mysql.jdbc

logstash与flume区别

左心房为你撑大大i 提交于 2020-02-26 22:16:50
-1. Logstash是一个开源的服务器端数据处理管道,可以同时从多个数据源获取数据,并对其进行转换,然后将其发送到你最喜欢的“存储”。 Inputs:用于从数据源获取数据,常见的插件如file, syslog, redis, beats 等 Filters:用于处理数据如格式转换,数据派生等,常见的插件如grok, mutate, drop, clone, geoip等 Outputs:用于数据输出,常见的插件如elastcisearch,file, graphite, statsd等 Logstash最值得一提的是,在Filter plugin部分具有比较完备的功能,比如grok,能通过正则解析和结构化任何文本,Grok 目前是Logstash最好的方式对非结构化日志数据解析成结构化和可查询化。此外,Logstash还可以重命名、删除、替换和修改事件字段,当然也包括完全丢弃事件,如debug事件。还有很多的复杂功能供程序员自己选择,你会发现这些功能Flume是绝对没有(以它的轻量级线程也是不可能做到的)。当然,在input和output两个插件部分也具有非常多类似的可选择性功能,这一点跟Flume是比较相似的。 -2. Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。

基于ELK收集业务日志的初步体验

梦想的初衷 提交于 2020-02-26 11:14:16
elasticsearch - 7.5.1 logstash - 7.5.1 kibana - 7.5.1 logback.properties # 应用名称 appName=data-center # 日志级别 logLevel=debug # logstash服务器ip和开发端口 logstash=localhost:5044 logstash.host=127.0.0.1 logstash.port=9600 logback.xml <?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="1 seconds"> <property scope="context" resource="config/logback.properties"/> <contextName>${appName}</contextName> <!-- 文件输出 --> <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>d:/logs/${appName}-all.log</file> <rollingPolicy class="ch.qos.logback.core.rolling

一文详解微服务架构

心不动则不痛 提交于 2020-02-26 05:33:28
本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件。本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组件等细节。 要理解微服务,首先要先理解不是微服务的那些。通常跟微服务相对的是单体应用,即将所有功能都打包成在一个独立单元的应用程序。从单体应用到微服务并不是一蹴而就的,这是一个逐渐演变的过程。本文将以一个网上超市应用为例来说明这一过程。 最初的需求 几年前,小明和小皮一起创业做网上超市。小明负责程序开发,小皮负责其他事宜。当时互联网还不发达,网上超市还是蓝海。只要功能实现了就能随便赚钱。所以他们的需求很简单,只需要一个网站挂在公网,用户能够在这个网站上浏览商品、购买商品;另外还需一个管理后台,可以管理商品、用户、以及订单数据。 我们整理一下功能清单: 网站 用户注册、登录功能 商品展示 下单 管理后台 用户管理 商品管理 订单管理 由于需求简单,小明左手右手一个慢动作,网站就做好了。管理后台出于安全考虑,不和网站做在一起,小明右手左手慢动作重播,管理网站也做好了。总体架构图如下: 小明挥一挥手,找了家云服务部署上去,网站就上线了。上线后好评如潮,深受各类肥宅喜爱。小明小皮美滋滋地开始躺着收钱。 随着业务发展…… 好景不长,没过几天,各类网上超市紧跟着拔地而起,对小明小皮造成了强烈的冲击。 在竞争的压力下

十字符病毒,杀不死的小强,一次云服务器沦陷实录

假装没事ソ 提交于 2020-02-26 04:57:57
一、现象 接到客户的电话,说自己的云服务器被提供商禁止访问了,原因是监测到网络流量暴满,服务器不停的向外发包,在确认客户没有业务量突增的情况下,初步判断可能服务器遭受了流量攻&击(DDOS),不过按照常理来说,客户的业务系统就是一个小的web系统,平时流量不大,影响力也一般,不至于遭受DDOs,带着这些疑问,要到了客户服务器的登录方式,废话少说,还是进入系统,一查究竟吧。 点击此处有惊喜 二、排查问题 下图是登录系统后,执行top命令的输出结果,综合查看,系统整体负载并不高,但是带宽占用很高,由于云服务器带宽基本耗尽,ssh登录服务器也非常慢,几乎不能执行任何操作。 此外,还发现第一个进程占用很大cpu资源,就是名为apgffcztwi的进程,这个进程名刚好10个字符,这是什么进程,名字相当古怪,肯定有问题,从文件名看出,这不像一个正常的系统进程。 既然有古怪,那就看看这个进程是哪个程序启动的,操作方式见下图: 简单吧,通过刚才那个进程的pid,然后去proc下面查看pid目录下面对应的exe文件,就能找到进程对应的启动程序,linux就是这么敞亮,一下子找到了这个程序位于/usr/bin目录下。 既然找到了这个程序,那就详细查看下这个程序的属性信息吧,如下图: 看到了吗,第一个文件,文件的读、写和执行属性均没有,相当古怪。好吧,先记录下来这个文件的位置和路径。

ELK 之数据收集传输过滤 Filebeat+Logstash 部署

做~自己de王妃 提交于 2020-02-26 02:55:00
本文与前文是有关联的,之前的两篇文章客官可以抬腿出门右转 导读 , ELK 之前端 , ELK 之分布式发 #前端和消息队列搞定之后,我们需要安装数据采集工具filebeats和数据过滤机运输工具Logstash,一般情况我们都使用filebeats 用来收集日志文件,我自定义了一个log文件,文件内容如下: 55.3.244.1 GET /index.html 15824 0.043 55.3.244.1 GET /index.html 15824 0.043 文件位置放到/tmp/test.log cd /opt/elk/filebeat-6.2.2-linux-x86_64 #filebeat 的配置文件大体上分为两部分,输入部分和输出部分,输入指定输入源即可,输出可以选择直接到elasticsearch,logstash或者是消息队列(redis&kafka)等,本文采用kafka 作为消息队列; FIlebeat 配置文件内容详解: vi filebeat.yml filebeat.prospectors: #日志类型 - type: log enabled: True # 日志路径可以写多个,支持通配符 paths: - /tmp/test.log #设置字符集编码 encoding: utf-8 #文档类型 document_type: my-nginx-log

使用logstash作为docker日志驱动收集日志

巧了我就是萌 提交于 2020-02-26 00:52:13
前言 logstash是一个开源的日志统一处理数据收集器,属于ELK中的L,在日志收集领域应用广泛. docker默认的日志驱动是 json-file ,每一个容器都会在本地生成一个 /var/lib/docker/containers/containerID/containerID-json.log ,而日志驱动是支持扩展的,本章主要讲解的是使用logstash收集docker日志. docker是没有logstash这个驱动的,但是可以通过logstash的gelf input插件收集gelf驱动的日志. 前提 docker 了解 logstash 配置 docker-compose 准备配置文件 docker-compose.yml version: '3.7' x-logging: &default-logging driver: gelf options: gelf-address: "udp://localhost:12201" mode: non-blocking max-buffer-size: 4m tag: "kafeidou.{{.Name}}" #配置容器的tag,以kafeidou.为前缀,容器名称为后缀,docker-compose会给容器添加副本后缀,>如 logstash_1 services: logstash: ports: - 12201

ELK 平台收集Tomcat日志记录

巧了我就是萌 提交于 2020-02-26 00:08:31
简介 目前大多数中小型企业使用tomcat 服务作为后端服务器,因为tomcat支持java代码。但是每次查看tomcat的日志(catalina.out),不仅庞大,还特别不方便查询,所以应用ELK平台监控tomcat日志是很有必要的。 部署过程 一、安装ELK平台 详细安装过程参考博客: https://blog.51cto.com/13760351/2471799 二、安装tomcat服务 1.安装过程 可以参考博客 https://blog.51cto.com/13760351/2160828 2.上传war包项目到webapps目录 3.启动tomcat cd /usr/local/tomcat/bin sh startup.sh & 三、配置 1.添加logstash添加解析文件 tomcat.conf vim /root/tomcat.conf input { file { path => "/usr/local/tomcat/logs/catalina.out" start_position => "beginning" } } filter { date { match => ["timestamp" , "YYYY-MM-dd HH:mm:ss"] } } output { elasticsearch { hosts => ["192.168.0.102

Docker 安装Logstash 并连接Elasticsearch

我怕爱的太早我们不能终老 提交于 2020-02-26 00:03:33
1.拉取Logstash镜像(注意与ES版本保持一致) docker pull logstash:7.5.1 2.启动容器 docker run --name logstash -d -p 5044:5044 --net esnet 8b94897b4254 命令中的--net设置的网络要和ES、kibana保持一致 3.修改Logstash配置文件 该配置文件是 config 文件夹下的 logstash.yml // 0.0.0.0:允许任何IP访问 http.host: "0.0.0.0" // 配置elasticsearch集群地址 xpack.monitoring.elasticsearch.hosts: [ "http://192.168.172.131:9200","http://192.168.172.129:9200","http://192.168.172.128:9200" ] // 允许监控 xpack.monitoring.enabled: true // 启动时读取配置文件指定 path.config: /usr/share/logstash/config/logstash.conf // 指定的该文件可以配置Logstash读取一些文件导入ES 4.logstash.conf配置 # Sample Logstash configuration for

CentOS 8 部署ELK日志分析平台

我与影子孤独终老i 提交于 2020-02-25 23:51:46
需求 1.开发人员不能登录线上服务器查看日志 2.各个系统都有日志,日志分散难以查找 3.日志数据量大,查找慢,数据不够实时 解决办法:部署ELK平台 ELK介绍 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash 。 ELK架构图 Elasticsearch简介: Elasticsearch 是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。 特点:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。 部署Elasticsearch 1.配置yum源 rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch #导入密钥 vim /etc/yum.repos.d/elasticsearch.repo #配置yum源 [elasticsearch-2.x] name=Elasticsearch repository for 2.x packages baseurl=http://packages.elastic.co