°Fuhb
要比别人得到更多,就要付出比别人更多的努力
展开
-
Elasticsearch:painless script 语法基础和实战
参考:https://www.jianshu.com/p/66a72d7ba3da转载 2022-05-25 11:51:11 · 837 阅读 · 0 评论 -
centos7安装Metricbeat7.6.0采集nginx指标
下载配置下载 metricbeat官网下载地址:https://www.elastic.co/cn/downloads/past-releases#metricbeat网盘地址(7.6.0):链接:https://pan.baidu.com/s/1J9UJ3pPCwqJnkQ9a3Qe69w 提取码:0uko#下载后放在/opt/softwaretar -zxvf metricbeat-7.6.0-linux-x86_64.tar.gz -C /usr/localcd /usr/loc原创 2020-08-28 11:42:09 · 1315 阅读 · 0 评论 -
centos7安装Filebeat采集日志文件存到Elasticsearch
概述官网:https://www.elastic.co/cn/beats/filebeat官方文档:https://www.elastic.co/guide/en/beats/filebeat/current/index.html环境CentOS 7.3Filebeat 7.6.0原创 2020-08-27 14:07:20 · 2502 阅读 · 1 评论 -
Filebeat配置module采集nginx日志
环境CentOS 7.3Filebeat 7.6.0 (Filebeat安装和基本使用参考这里)Elasticsearch 7.6.0NginxModuleFilebeat集成了大量的module,可以简化我们的配置,命令如下查看module列表cd /usr/local/filebeat-7.6.0-linux-x86_64./filebeat modules list#输出如下:Enabled:Disabled:activemqapacheauditdawsaz原创 2020-08-27 15:55:46 · 2208 阅读 · 0 评论 -
Elastic 使用Heartbeat监测服务运行状态
概述Heartbeat是一个轻量级守护进程,通过在远程服务器上安装,以定期检查服务的状态并确定它们是否可用。在配置Heartbeat时,指定监视器来标识要检查的主机名,每个监视器都根据指定的计划运行。例如,你可以将一个监视器配置为每10分钟运行一次,将另一个监视器配置为在9:00到17:00之间运行。安装 Heartbeat参考资料官方文档:https://www.elastic.co/guide/en/beats/heartbeat/current/index.html...原创 2020-11-13 09:28:21 · 1398 阅读 · 0 评论 -
Filebeat常用配置
filebeat配置文件例子filebeat.prospectors: - input_type: log tags: ["wap-accesslog-tags-include","www1"] ignore_older: 2h enabled: true paths: ["/root/logs/wap.*","/root/logs/wap_iv.*"] include_lines: ["^ERR", "^WARN"] - input_type: log tags: ["w转载 2020-08-27 14:17:36 · 1380 阅读 · 0 评论 -
Kibana查询ES显示hits.total.value最大值10000的解决方法
问题正常在查询所有数据时,kibana显示的总记录数最多只会有10000GET /jm/_search{ "query":{ "match_all": { } }}解决查询时加上"track_total_hits": true即可,就能正确的显示总记录数了GET /jm/_search{ "track_total_hits": true, "query":{ "match_all": { } }}官方解释如下.原创 2020-09-22 10:28:25 · 8889 阅读 · 0 评论 -
docker安装kibana7.6.1
序言之前的文章已经介绍过docker安装elasticsearch7.6.1,由于kibana版本必须和es保持一致,所以这边介绍的kibana安装也是7.6.1版本。拉取镜像docker pull kibana:7.6.1运行容器先运行容器docker run -d --name kibana -p 5601:5601 kibana:7.6.1老规矩,拷出配置文件,后面做挂载# 拷贝docker cp kibana:/usr/share/kibana/config/ /usr原创 2020-08-15 20:40:09 · 2095 阅读 · 2 评论 -
Logstash配置多个Input、Filter、Output
概要假设现在给Logstash的pipeline配置了2个conf,也就是2个输入源。如果不做任何处理,那么所有的Filter和Output都会同时触发,如下图:这显然跟我们期望的不同,我们希望Logstash按以下的方式来处理,也就是各自区分,独立处理:因此,在处理Filter和Output时,需要用type参数来区分。input配置typeinput - 1input { stdin { } jdbc { # 在这里增加type,名字自定义 type =>原创 2020-09-24 13:51:19 · 7111 阅读 · 0 评论 -
Logstash7.6.0同步MySQL到Elasticsearch
环境操作系统:centos 7logstash:7.6.0下载安装下载地址:https://www.elastic.co/cn/downloads/past-releases#logstash选择对应的版本号下载tar.gz,上传到/opt/softwarecd /opt/software#解压到/usr/localtar -zxvf logstash-7.6.0.tar.gz -C /usr/localcd /usr/local/logstash-7.6.0/解压结果:配置同原创 2020-08-26 09:00:21 · 1349 阅读 · 0 评论 -
Logstash 使用fingerprint filter过滤重复数据
1. 概要工作中,Elasticsearch有个索引是通过Logstash同步Oracle数据生成的。但是又需要根据一定的规则,过滤掉重复的数据,生成另一个索引。用一张图来表示就是这样:数据源是Oracle数据库Logstash Input插件使用JdbcLogstash Filter插件使用FingerPrint(指纹过滤器)Logstash Output插件就是Elasticsearch,最终输出就是ES2. Logstash配置话不多说,直接上配置Demoinput { st原创 2020-10-26 21:35:41 · 1261 阅读 · 0 评论 -
Logstash官方文档地址
官方地址:7.x官方文档其他帮助文档:Logstash最佳实践(中文)原创 2020-09-22 15:40:50 · 3762 阅读 · 0 评论 -
Logstash同步mysql一对多数据到ES(踩坑日记系列)
场景:Logstash 、Kibana、ES版本:6.3.1。使用Logstash从mysql同步用户和用户所有的宠物到ES中。希望的格式:"register_name": "孟林洁", "id": 80469531, "pets": [ { "breed_name": "万能梗", "birthday": null, "pet_id": 999044, "name": "一只狗", "ima转载 2020-09-21 15:17:23 · 2795 阅读 · 1 评论 -
踩坑日记:Logstash同步数据库有type字段导致同步失败
通常情况下,我们都会在Logstash为pipeline指定type,用来区分不同管道的同步处理。举个配置的例子:input { stdin { } jdbc { type => "petition" jdbc_driver_library => "/usr/share/logstash/ojdbc6.jar" jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver" jdbc_conn原创 2020-09-27 18:02:06 · 1867 阅读 · 0 评论 -
Logstash 使用http output处理数据
1. 前言今天遇到一个需求,使用Logstash将Oracle的一张表数据定时地同步到MySQL。数据源使用Jdbc Input Plugin没问题,但是官方文档介绍的输出插件没有Jdbc,也就是说不能直接配置Jdbc -> Jdbc同步。经过一番思索,决定使用 Jdbc -> Http 的方式。2. Http Output Plugin2.1 介绍Http 插件允许我们配置url接口地址,插件会将数据传到接口,然后就可以通过代码进行数据处理了。2.2 配置output { h原创 2020-10-27 21:23:00 · 2571 阅读 · 2 评论 -
Docker安装Logstash7.7.0
版本CentOS 7Logstash 7.7.0下载镜像docker pull logstash:7.7.0启动docker run -d --restart=always -p 5044:5044 --name logstash \logstash:7.7.0拷贝配置文件docker mkdir -p /usr/local/docker/logstashdocker cp logstash:/usr/share/logstash/config /usr/local/docker/l原创 2020-09-21 16:50:57 · 2163 阅读 · 0 评论 -
ES简介及倒排索引
文章目录什么是ES?ES的核心概念ES倒排索引什么是ES?ES是Elasticsearch的简称,Elasticsearch是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎。Lucene只是一个框架,要充分利用它的功能,需要使用JAVA,并且在程序中集成Lucene,学习成本高,且Lucene确实非常复杂。特点:分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索实时分析的分布式搜索引擎可以扩展到上百台服务器,处理PB级别的转载 2021-02-06 10:58:21 · 8865 阅读 · 1 评论 -
Elasticsearch 100问(下)
四、ES启动检查43、堆大小检查JVM初始堆大小(Xms)与最大堆大小(Xmx)的值设置为相同。44、文件描述符检查设置为65536。45.内存锁定检查直接禁用操作系统的交换分区。46.最大线程数检查最大线程数,最少2048。47.最大虚拟内存检查max memory size设置为unlimited。48.最大文件大小检查file size设置为unlimited。49.虚拟内存区域最大数量检查vm.max_map_count=26214450.JVMClient模式检查O转载 2021-01-29 15:02:30 · 200 阅读 · 0 评论 -
Elasticsearch 100问(上)
一、基本概念1、ElasticSearch是什么:Elasticsearch是一个分布式的,开源的NoSQL数据库。通常做为文档搜索数据库。2、什么是索引(indices)indices分为两种情况,一指索引,另一个是指往索引里插入数据的动作。索引可理解为类似于关系型数据库表的概念,而不是网络上大部分理解的数据库的概念。索引就是一张分布在不同服务器之上的大表。3、什么是分片(shards)一个或多个分片组成一个索引(indices)。理解为关系型数据库里的水平分表。4、什么是分段(segmen转载 2021-01-29 15:00:39 · 697 阅读 · 0 评论 -
Elasticsearch+Kibana 设置连接密码
1. 版本Elasticsearch:7.10.2Kibana:7.10.22. 修改Elasticsearch密码2.1修改配置修改 elasticsearch.yml ,加上以下配置项:xpack.security.enabled: truexpack.license.self_generated.type: basicxpack.security.transport.ssl.enabled: true然后重启ES服务2.2 设置密码切换到 ${ES_HOME}/bin 目录下,原创 2021-01-29 14:18:24 · 3704 阅读 · 1 评论 -
Linux安装Elasticsearch+Kibana(7.10.2)
文章目录1. 安装Elasticsearch1.1 下载ES1.2 修改配置1.3 创建es用户1.4 启动2. 安装Kibana2.1 下载2.2 修改Kibana配置2.3 启动Kibana1. 安装Elasticsearch1.1 下载ES下载地址:https://www.elastic.co/cn/downloads/elasticsearch选择Linux 64 位下载,然后上传到 /opt 目录tar -zxvf elasticsearch-7.10.2-linux-x86_64.ta原创 2021-01-29 11:37:29 · 1091 阅读 · 0 评论 -
Elasticsearch 如何把SQL转换为DSL
SQL转为DSLPOST /_sql/translate{ "query":"select title,content from knowledge where upCount > 0 order by modifiedOn desc", "fetch_size": 10}结果如下:{ "size" : 10, "query" : { "range" : { "upCount" : { "from" : 0, "to".原创 2020-11-12 15:47:15 · 2188 阅读 · 1 评论 -
Elasticsearch 摄取节点(Ingest Node)常用的数据处理器(Processor)
3. 常用的Processor3.1 Append ProcessorAppend Processor 的作用如果字段已经存在且是数组,则向现有数组追加元素。如果该字段存在但不是数组,那会转换为数组并追加元素。如果字段不存在,则创建数组并追加元素。Append Processor 的参数参数名称是否必传默认值描述fieldY-追加元素的目标字段valueY-追加的元素数据ifN-执行该processor的条件on_fail原创 2020-11-04 17:47:10 · 759 阅读 · 1 评论 -
Elasticsearch Grok Pattern内置表达式大全
USERNAME [a-zA-Z0-9._-]+USER %{USERNAME}EMAILLOCALPART [a-zA-Z][a-zA-Z0-9_.+-=:]+EMAILADDRESS %{EMAILLOCALPART}@%{HOSTNAME}HTTPDUSER %{EMAILADDRESS}|%{USER}INT (?:[+-]?(?:[0-9]+))BASE10NUM (?<![0-9.+-])(?>[+-]?(?:(?:[0-9]+(?:\.[0-9]+)?)|(?:\.[0原创 2020-10-30 16:23:19 · 1145 阅读 · 0 评论 -
Elasticsearch 摄取节点(Ingest Node)使用Pipeline预处理文档
1. Ingest nodeIngest node是elasticsearch的节点类型之一,通过在Ingest node配置pipeline管道,可以在文档存入索引之前对文档进行预处理。例如:删除字段,重命名字段,修改字段值等等。默认情况下,所有节点都是Ingest Node,可以通过修改elasticsearch.yml,把node.ingest改成false来关闭node.ingest: false要实现索引文档之前进行预处理,需要先定义一个管道(pipeline),每个pipeline包原创 2020-10-30 17:38:20 · 991 阅读 · 0 评论 -
Elasticsearch 使用copy_to组合字段进行查询
copy_to 介绍copy_to 参数允许将多个字段的值复制到另一个字段中,然后对该字段进行查询。例如,first_name和last_name字段可以复制到full_name字段,如下所示:PUT /my_index{ "mappings": { "properties": { "first_name":{ "type": "text", "copy_to": "full_name" }, "last_name":{原创 2020-10-29 20:56:12 · 2000 阅读 · 0 评论 -
Elasticsearch Pipeline Aggregation管道聚合详解
文章目录1. buckets_path2. 特殊路径3. Bucket Sort Aggregation4. Avg Bucket Aggregation5. Max Bucket Aggregation6. Sum Bucket Aggregation7. Cumulative Sum Aggregation8. Stats Bucket Aggregation1. buckets_pathPipeline Aggregation 称为管道聚合,它的操作对象是其他聚合,而不是文档数据。这边用的是bu原创 2020-10-28 22:58:45 · 956 阅读 · 0 评论 -
Elasticsearch Terms Aggregation计数聚合详解
文章目录1. Terms Aggregation考试成绩案例某考试成绩结果如下,几个字段分别为:学科、姓名、成绩PUT /my_index/_doc/_bulk{ "index" : {} }{"course":"语文","name":"张三","score":95}{ "index" : {} }{"course":"语文","name":"李四","score":88}{ "index" : {} }{"course":"语文","name":"王五","score":82}{ "i原创 2020-10-28 20:31:04 · 2007 阅读 · 0 评论 -
Elasticsearch Metric Aggregation指标聚合详解
PUT /my_index/_doc/_bulk{ "index" : {} }{"ip":"192.168.0.1", "user":"张三"}{ "index" : {} }{"ip":"192.168.0.1", "user":"李四"}{ "index" : {} }{"ip":"192.168.0.1", "user":"王五"}{ "index" : {} }{"ip":"192.168.0.2", "user":"小红"}{ "index" : {} }{"ip":"192原创 2020-10-29 09:10:39 · 1009 阅读 · 0 评论 -
Elasticsearch 常用运维命令(持续更新)
查看所有分片状态GET /_cat/shards查看指定索引的分片状态GET /_cat/shards?index=***对集群中分配失败的索引进行重新分配POST /_cluster/reroute?retry_failed=true查看集群状态GET /_cluster/health执行结果为:{ "cluster_name" : "docker-cluster", "status" : "yellow", "timed_out" : false,.原创 2020-10-26 21:55:37 · 358 阅读 · 0 评论 -
Elasticsearch中如何进行日期(数值)范围查询
https://www.cnblogs.com/shoufeng/p/11266136.html转载 2020-10-24 22:32:36 · 4266 阅读 · 0 评论 -
Elasticsearch query和filter过滤有什么不同
1. 概述在使用DSL进行Elasticsearch的查询中,通常我们都是使用query进行过滤匹配,如下代码算是相当常见了GET /my_index/_search{ "query": { "match": { "name": "张三" } }}除此之外,ES还提供了filter过滤,二者都是提供过滤查询的功能。很多人对此比较疑惑,ES这样设计有什么目的?下面我们就讲讲他们之间的区别。2. 关注点不同query关注的是搜索条件与索引数据之间的匹配程度,在原创 2020-10-25 23:37:55 · 592 阅读 · 0 评论 -
Elasticsearch from、scroll、search_after 分页查询对比
文章目录1. From+Size1.1 基本用法1.2 基本原理1.3 存在的问题2. Scroll2.1 基本用法2.2 基本原理2.3 存在的问题3. Search After3.1 基本用法3.2 基本原理3.3 存在的问题4. 总结1. From+Size1.1 基本用法查出第 6~8 笔数据GET /my_index/_search{ "from": 5, "size": 3}from:表示记录开始的顺序,默认0size:表示取回几笔数据,默认10from+size原创 2020-10-19 13:44:03 · 4342 阅读 · 6 评论 -
Elasticsearch Suggester搜索建议详解
文章目录概述Term suggester概述Suggester用途:根据用户提供的文本,给出可能相似的词语。类似百度搜索提示,截个图大家就清楚了Suggester分类:Term suggester、本篇使用的ES版本:7.7Term suggesterterm suggester 先将搜索词进行分词,然后逐个与指定的索引数据进行比较,计算出编辑距离再返回建议词。编辑距离:这里使用了叫做Levenstein edit distance的算法,核心思想就是一个词改动多少次就可以原创 2020-10-15 18:13:36 · 2022 阅读 · 0 评论 -
Elasticsearch全文检索对比:match、match_phrase、wildcard
文章目录matchmatch_phrasequery_stringwildcardsuggestmatch根据定义的分词器(默认standard)对搜索词进行拆分,根据拆分结果逐个进行匹配。特点是可以查出大量可能相关联的数据,但是准确率低。PUT my_index/_doc/1?refresh{ "message": "this is a test"}PUT my_index/_doc/2?refresh{ "message": "this is a dog"}PUT my_ind原创 2020-10-14 10:38:51 · 3268 阅读 · 0 评论 -
Elasticsearch script使用详解
文章目录概述script 格式使用script_score处理_score使用script_fields处理返回的字段值使用script作为过滤条件使用script进行聚合统计概述script作为elasticsearch的拓展功能,通过定制对应的表达式,可以帮助我们实现一些自定义的需求:定义经过处理的字段作为返回值定义查询得分的计算公式定义特殊过滤条件,例如两个字段比较大小定义特殊过滤条件注意:script不能使用索引结构,因此会存在一定的性能问题。如果对查询的速度要求较高,建议在数据存原创 2020-10-13 16:40:12 · 22631 阅读 · 2 评论 -
Elasticsearch索引映射详解mapping.properties
概述映射是定义如何索引和存储文档和字段的过程,例如:定义字段类型,哪些字段作为全文索引,哪些字段是数值、日期类型定义日期字段的格式控制动态添加字段的映射的自定义规则字段类型字符串类型:(1)text:通常用来存储长文本字段,例如博客标题、内容。通过定义analyzer,实现分词索引。(2)keyword:不分词的字符串类型,存什么就是什么。数值类型:long、integer、short、byte、double、float日期类型:date布尔类型:boolean复合类型:(1原创 2020-10-13 12:45:15 · 4152 阅读 · 0 评论 -
Zeal工具下载Elasticsearch离线文档
下载Zeal打开官网 https://zealdocs.org/,点击Download for Windows选择64位下载下载后安装即可,我这里安装在 D:\Zeal设置离线文档存储路径运行Zeal,点击菜单 Edit -> Preferences,设置Directory即可下载离线文档方式1:打开菜单 Tools -> Docsets,搜索elasticsearch,然后点击下载(默认下载的是最新版)这种下载会比较慢,也无法选择版本,后面有介绍第2原创 2020-10-12 14:35:13 · 1636 阅读 · 0 评论 -
Elasticsearch Nested类型深入详解
0、概要在Elasticsearch实战场景中,我们或多或少会遇到嵌套文档的组合形式,反映在ES中称为父子文档。父子文档的实现,至少包含以下两种方式:1)父子文档父子文档在5.X版本中通过parent-child父子type实现,即:1个索引对应多个type;6.X+版本已经不再支持一个索引多个type,6.X+的父子索引的实现改成Join。2)Nested嵌套类型本文通过一个例子将Nested类型适合解决的问题、应用场景、使用方法串起来,文中所有的DSL都在Elasticsearch6转载 2020-09-21 15:25:37 · 4632 阅读 · 0 评论 -
elasticsearch分组统计,取最大值、最小值、求和
aggs如下例子,按areaName分组,分别取createdOn的最小值、最大值,对adCount求和GET /advertising/_doc/_search{ "size":0, "aggs":{ "GROUP_BY_AREA":{ "terms":{ "field":"areaName" }, "aggs":{ "MIN_CREATED_ON":{ "min":{ "原创 2020-09-10 17:17:36 · 5306 阅读 · 0 评论