ELK
sxf_0123
这个作者很懒,什么都没留下…
展开
-
多聚合查询(一个字段包括A,B;A中包含C,B中包含D;C中包含E,D中包含F)
GET iptv - monitor - m - gather - apk - 20180723 / _search{ "size": 1, "query": { "bool": { "filter": [ { "terms": { ...原创 2018-07-24 18:19:23 · 873 阅读 · 0 评论 -
logstash修改字段类型
logstash 数据类型的修改logstash 中可以设置字段的类型为integer,float,stringfilter{mutate{convert => ["request_time","float"] #设置request_time的类型为float类型}}注意:mutate 除了转化字符值,还支持对数组类型的字段进行转换,即将["1","2"]转换原创 2017-09-05 21:52:38 · 15278 阅读 · 0 评论 -
date 中match插件是根据字段的日期格式,采用不同的格式进行转化
date 中match插件是根据字段的日期格式,采用不同的格式进行转化date{ match => ["gathertime","UNIX"] #原始数据为UNIX时间戳,UNIX时间戳以1970.01.01-00:00:00 开始计时到当前时间 target => "gathertime" #数据保存}date{ match => ["alarm_time原创 2017-12-25 10:06:56 · 1126 阅读 · 0 评论 -
查看logstash 导入数据到es中,数据导入的数量
查看logstash 导入数据到es中,数据导入的数量stat /home/raw_data/8_31/* #查看文件状态,查看logstash处理文件进度记录input {file {path => ["/home/raw_data/8_31/*.csv"]start_position => "beginning" # 从什么位置读取since原创 2017-12-25 09:58:31 · 4307 阅读 · 0 评论 -
使用logstash 运行配置文件,出现you must change the "path.data" setting
Logstash could not be started because there is already another instance using the configured data directory. If you wish to run multiple instances, you must change the "path.data" setting将原先的命令:/原创 2017-12-21 15:05:17 · 14696 阅读 · 0 评论 -
python 获取utc时间转化为本地时间
python 获取utc时间转化为本地时间方法一:import datetimetimenow = (datetime.datetime.utcnow() + datetime.timedelta(hours=8)) #将utc时间转化为本地时间timetext = timenow.strftime('%y%m%d')方法二:import datetim原创 2017-12-21 13:09:48 · 6112 阅读 · 0 评论 -
csv中字段类型转化与mutate中的convert比较
csv中字段类型转化与mutate中的convert比较convert 哈希类型可以转化为integer、float、date、date_time、boolean类型filter { csv { convert => { "column1" => "integer", "column2" => "floa原创 2017-12-20 17:41:27 · 625 阅读 · 0 评论 -
ELK 之 Logstash
简介:ELK 之 LogstashLogstash 是一个接收,处理,转发日志的工具。支持系统日志,webserver 日志,错误日志,应用日志,总之包括所有可以抛出来的日志类型。在一个典型的使用场景下(ELK):用 Elasticsearch 作为后台数据的存储,kibana用来前端的报表展示。Logstash 在其过程中担任搬运工的角色,它为数据存储,报表查询和日志解析创建了一个功能强转载 2017-12-20 16:27:30 · 282 阅读 · 0 评论 -
logstash 中filter中的date插件
filter{date{ match => ["logdate", "dd/MMM/yyyy:HH:mm:ss Z"] add_field =>["response_time","%{logdate}"] }}等价于filter{date{ match => ["response_time","dd原创 2017-12-20 14:27:57 · 11201 阅读 · 1 评论 -
logstash 条件判断语句
logstash 条件判断语句使用条件来决定filter和output处理特定的事件。logstash条件类似于编程语言。条件支持if、else if、else语句,可以嵌套。 比较操作有: 相等: ==, !=, , = 正则: =~(匹配正则), !~(不匹配正则) 包含: in(包含), not in(不包含) 布尔操作: and(与), or(或), nand(原创 2017-09-01 15:44:57 · 38810 阅读 · 3 评论 -
logstash 从数据库获取数据到将数据导入到es步骤
1、logstash配置文件存放路径/data/app/etc/logstash/conf.d/2、sql脚本存放路径/data/tmp/etl/scripts3、获取数据的oracle命令/data/tmp/etl/bin4、oracle命令执行生成日志存放路径/data/tmp/etl/log5、执行logstash生成日志存放路径/data/app/var原创 2017-08-03 21:08:49 · 3709 阅读 · 0 评论 -
elasticsearch 中term与match区别
elasticsearch 中term与match区别term是精确查询match是模糊查询term查询term是代表完全匹配,也就是精确查询,搜索前不会再对搜索词进行分词,所以我们的搜索词必须是文档分词集合中的一个。比如说我们要找标题为北京奥运的所有文档$curl -XGET http://localhost:9200/index/doc/_search?pr原创 2017-12-19 17:50:18 · 12183 阅读 · 3 评论 -
logstash 中将时间转化为带T格式的时间
将column_time字段时间解析为2015-01-01T01:12:23格式时间,这种格式的时间为 ISO8601标准filter { date { match ["column_time","yyyy-MM-dd'T'HH:mm:ss"] }}原创 2017-12-08 12:55:42 · 3908 阅读 · 0 评论 -
logstash input插件,加载数据时,将编码设定为GBK
logstash input插件,加载数据时,将编码设定为GBKinput{file {path => ["/data/sftp/ftpaaa/AAA/USER_*.txt"]start_position => "beginning"sincedb_path => "/data/elk/sincedb/025"type => "025"tags => ["custo原创 2017-12-25 18:22:51 · 3164 阅读 · 2 评论 -
logstash 中input插件读取的数据没有日期,现在想在filter插件的csv插件中插入以时间字段
logstash 中input插件读取的数据没有日期,现在想在filter插件的csv插件中插入以时间字段filter { csv { columns => ["column1","cloumn2","column3","colun4"] add_field => { "field1" => "2017-12-06"原创 2017-12-08 10:30:17 · 1011 阅读 · 0 评论 -
elasticsearch 中多个must、should、must_not使用
elasticsearch 中多个must、should、must_not使用在A成立的情况下,查询B成立或者C成立GET gather-034-20171225/_search{ "query": { "bool": { "must": [ {"range": { "recive_time": {原创 2017-12-27 14:51:35 · 72267 阅读 · 3 评论 -
需要用用户名密码连接es
es = Elasticsearch(['localhost'], http_auth=('iptvmoni', 'V^8rt32e'), port=9200, timeout=50000)原创 2018-05-26 10:37:39 · 26048 阅读 · 2 评论 -
kibana按照每小时为时间统计数据数量
GET gather-apk-20180417/_search{ "size": 0, "query": { "range": { "uploadTime": { "gte": "2018-04-17 01:00", "lte":"2018-04-17 09:00", "form原创 2018-04-26 10:26:05 · 10144 阅读 · 1 评论 -
elasticsearch 求某个字段的值(整型值不是字符串)的avg,max,min,cardinality求唯一值(某个字段不重复的值),percentiles求百分比, stats 可以统计数量
elasticsearch 求某个字段的值(整型值不是字符串)的avg,max,min,cardinality求唯一值(某个字段不重复的值),percentiles求百分比,stats 可以统计数量,min,max,avg,sum的值metric的聚合按照值的返回类型可以分为两种:单值聚合 和 多值聚合。单值聚合Sum 求和这个聚合返回的是单个值,dsl可以参考如下:"aggs" : { ...转载 2018-03-30 20:59:56 · 861 阅读 · 0 评论 -
es 查询根据不同字段的值查询到另一个不同字段的值
1、根据不同的硬件版本,找到对应的软件版本GET gather-012-20180109/_search{ "size": 0, "aggs": { "1": { "terms": { "field": "dev_hard_ver", "size": 200 }, "aggs":原创 2018-03-13 14:58:01 · 3721 阅读 · 0 评论 -
实时搜索引擎Elasticsearch(3)——查询API的使用
上一篇文章介绍了ES中的Rest API,本章将重点介绍ES中的查询API的使用。由于笔者在实际项目仅仅将ES用作索引数据库,并没有深入研究过ES的搜索功能。而且鉴于笔者的搜索引擎知识有限,本文将仅仅介绍ES简单(非全文)的查询API。笔者原本打算在本文中介绍聚合API的内容,但是写着写着发现文章有点过长,不便于阅读,故将聚合API的内容移至下一篇博客中。引言单单介绍理论和API是乏味和低效率的,...转载 2018-03-16 15:54:08 · 185 阅读 · 0 评论 -
实时搜索引擎Elasticsearch(4)——Aggregations (聚合)API的使用
转载:http://blog.csdn.net/xialei199023/article/details/48298635 实时搜索引擎Elasticsearch(4)——Aggregations (聚合)API的使用上一篇博客介绍了ES中的简单查询API的使用,本篇将介绍ES提供的聚合API的使用。ES提供的聚合功能可以用来进行简单的数据分析。本文仍然以上一篇提供的数据为例来讲解。数据如下:st...转载 2018-03-16 14:27:17 · 348 阅读 · 0 评论 -
elasticsearch 排序
elasticsearch之排序GET gather-034-20180316/_search{ "query": { "match_all": {} }, "sort": [ { "flr": { "order": "desc" } } ]}原创 2018-03-16 13:13:04 · 305 阅读 · 0 评论 -
es 按照时间查询的几种格式
GET m-2fg-day/_search{ "size": 0, "query": { "bool": { "filter":[ {"term":{"2fg_year":"2017"}}, {"term":{"2fg_month":"09"}},原创 2018-03-16 11:21:43 · 49135 阅读 · 4 评论 -
Kibana查询显示es数据条数
Kibana查询显示es数据条数,最多显示10000条,超过10000条不能显示。原创 2018-03-08 11:21:43 · 24361 阅读 · 5 评论 -
es 查询含有filter过滤查询和不含有filter查询
GET gather-033_112000/_search{ "size": 0, "query": { "range": { "memrate": { "gte": 0, "lte": 100 } } }}GET gather-033_112000/_search{ "size": 0, "原创 2018-03-08 09:40:42 · 7430 阅读 · 0 评论 -
使用cardinality去重查询不同厂商的用户数(精确查询和模糊查询)
先查看所有的用户数(去重查询),注意使用precision_threshold,当precision_threshold大于等于100时为模糊查询,小于100时,查询的数据有正确数据。GET gather-034test/_search{ "size": 1, "aggs": { "IptvAccount_type": { "cardinality": { "fi...原创 2018-03-07 13:31:59 · 610 阅读 · 0 评论 -
批量删除es索引(索引格式为索引前缀-YYYY-mm-dd)
cre_index.shcurl -XPUT 0.0.0.0:9200/gather-027-20170228curl -XPUT 0.0.0.0:9200/gather-027-20170227curl -XPUT 0.0.0.0:9200/gather-027-20170226curl -XPUT 0.0.0.0:9200/gather-027-20170225curl -原创 2017-12-19 17:02:24 · 2956 阅读 · 0 评论 -
logstash 数据类型的修改
logstash 数据类型的修改logstash 中可以设置字段的类型为integer,float,stringfilter{mutate{convert => ["request_time","float"] #设置request_time的类型为float类型}}注意:mutate 除了转化字符值,还支持对数组类型的字段进行转换,即将["1","2"]转换原创 2017-09-01 16:44:25 · 10680 阅读 · 0 评论 -
查询光猫厂家为ZTE,且内存范围在0到100之间,统计去掉重复的loid之后的数量,并计算出内存的avg,max,min,sum
GET gather-033_112000/_search #查询光猫厂家为ZTE,且内存范围在0到100之间,统计去掉重复的loid之后的数量,并计算出内存的avg,max,min,sum{ "size": 0, "query": { "bool": { "must": { "match": { "manufactu原创 2017-10-11 16:25:25 · 576 阅读 · 0 评论 -
elasticsearch去重计数(distinct、cardinality)
如果需要针对ES索引统计某个字段上出现的不同值的个数时,可以使用cardinality聚合查询完成:GET /urlAttributes/_search?search_type=count{ "aggs": { "uniq_attr": { "cardinality": { "field": "domain" }原创 2017-08-16 10:13:59 · 23856 阅读 · 2 评论 -
es查询,聚合、平均值、值范围、cardinality去重查询
GET ana-apk/_search{ "query": { "match_all": {} }}GET ana-apk/_search #查询不重复的mac地址{ "size": 10, "aggs": { "MAC": { "cardinality": { "field": "MAC"原创 2017-10-10 18:27:44 · 12886 阅读 · 0 评论 -
es 从某个字段中的相同数据取任意一个数据
So,什么是字段折叠,可以理解就是按特定字段进行合并去重,比如我们有一个菜谱搜索,我希望按菜谱的“菜系”字段进行折叠,即返回结果每个菜系都返回一个结果,也就是按菜系去重,我搜索关键字“鱼”,要去返回的结果里面各种菜系都有,有湘菜,有粤菜,有中餐,有西餐,别全是湘菜,就是这个意思,通过按特定字段折叠之后,来丰富搜索结果的多样性。 说到这里,有人肯定会想到,使用 term agg+ top h转载 2017-08-16 11:33:35 · 2794 阅读 · 0 评论 -
es取得某个索引中某个字段中的所有出现过的值、取得某个索引/类型下某个字段中出现的不同值的个数
1. 取得某个索引中某个字段中的所有出现过的值这种操作类似于使用SQL的SELECT UNIQUE语句。当需要获取某个字段上的所有可用值时,可以使用terms聚合查询完成:GET /index_streets/_search?search_type=count{ "aggs": { "street_values": { "terms": { "field": "n...转载 2017-08-16 10:22:43 · 11818 阅读 · 2 评论 -
CSV文件编码格式转化问题
iconv -f utf-8 -t utf-8 cy170730.csv > cy.txt[root@znwg-app-db test]# iconv --help用法: iconv [选项...] [文件...]转换给定文件的编码。 输入/输出格式规范: -f, --from-code=名称 原始文本编码 -t, --to-code=名称原创 2017-08-08 14:16:36 · 2396 阅读 · 0 评论 -
Why Elasticsearch?
由于需要提升项目的搜索质量,最近研究了一下Elasticsearch,一款非常优秀的分布式搜索程序。最开始的一些笔记放到github,这里只是归纳总结一下。首先,为什么要使用Elasticsearch?最开始的时候,我们的项目仅仅使用MySQL进行简单的搜索,然后一个不能索引的like语句,直接拉低MySQL的性能。后来,我们曾考虑过sphinx,并且sphinx也在之前的项目中成功实施过转载 2017-07-19 13:15:20 · 259 阅读 · 0 评论 -
elasticsearch学习入门
(由于ES更新很快,本文这类快餐式的记录仅供参考)这几年,搜索的开发门槛越来越低,每个语言都有开源的检索工具包,而且功能越来越全,完整的解决方案也越来越多、越来越好用,比如lucene上就有solr, elasticsearch, sensei等。它们对于绝大部分的需求应该说都覆盖了,解放了直接在检索工具包上的开发工作量,让人可以更多关注业务上的开发。个人比较看好elasticsearch(简转载 2017-07-19 13:11:05 · 182 阅读 · 0 评论 -
Elastic学习
创建一个index curl -XPUT 'localhost:9200/customer?pretty&pretty'查看所有的indexcurl -XGET 'localhost:9200/_cat/indices?v&pretty'创建一个document domain/{index}/{type}/idcurl -XPUT 'localhost:9200/custome原创 2017-07-19 11:52:04 · 246 阅读 · 0 评论 -
ElasticSearch 常用的查询过滤语句
ElasticSearch 常用的查询过滤语句query 和 filter 的区别请看: http://www.cnblogs.com/ghj1976/p/5292740.html Filter DSL term 过滤term主要用于精确匹配哪些值,比如数字,日期,布尔值或 not_analyzed 的字符串(未经分析的文本数据类型): {转载 2017-07-31 18:06:47 · 607 阅读 · 0 评论 -
用Elasticsearch做检索
ElasticSearch是一个基于Lucene的搜索服务器。它是一个分布式,REST风格的搜索和分析引擎。Elasticsearch是用Java开发的。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。安装运行 Elasticsearch 安装 Elasticsearch 之前,需要先安装一个较新的版本的 Java。可以从 www.java.co转载 2017-07-19 11:07:25 · 475 阅读 · 0 评论