ELK basic---http://udn.yyuap.com/doc/logstash-best-practice-cn/filter/grok.html
http://blog.csdn.net/lgnlgn/article/details/8053626 elasticsearch学习入门
input {stdin{}}
filter {
grok {
match => {
"message" => ".*(?<json_body>\{.*\}).*"
}
}
json {
source => "json_body"
}
}
************jdbc-in********************
input {
jdbc {
jdbc_driver_library => "/home/app/logstash/vendor/jar/jdbc/mysql-connector-java-5.1.36-bin.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://12.0.1.28:3306/ucampus_dev?characterEncoding=utf8"
jdbc_user => "user"
jdbc_password => "Kn!0748j"
statement => "SELECT * FROM sys_online_history limit 0,1"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
schedule => "* * * * *"
}
}
filter {
json {
source => "message"
remove_field => ["message"]
}
}
output {
stdout {
codec => rubydebug
}
}
************jdbc-in********************
检查ES集群状态:
curl 54.223.139.77:9200/_cat/health?v
检查ES节点状态:
curl 54.223.139.77:9200/_cat/nodes?v
查询所有的索引:
curl 54.223.139.77:9200/_cat/indices?v
curl -XPUT 'http://localhost:9200/twitter/'
$ curl -XPUT 'http://localhost:9200/twitter/'
-d '
index :
number_of_shards : 3
number_of_replicas : 2
'
上面第二个curl例子展示了如何创建一个名字叫 twitter 的索引,并且使用 YAML
格式为其指定设置项。在这个例子中,我们为该索引配置了三个切片和两个副本。索引设置项也可以通过 JSON 格式指定:
$ curl -XPUT 'http://localhost:9200/twitter/'
-d '{
"settings" : {
"index" : {
"number_of_shards" : 3,
"number_of_replicas" : 2
}
}
}'
或者简化为
$ curl -XPUT 'http://localhost:9200/twitter/'
-d '{
"settings" : {
"number_of_shards" : 3,
"number_of_replicas" : 2
}
}'
curl -XPOST localhost:9200/test -d '{
"settings" : {
"number_of_shards" : 1
},
"mappings" : {
"type1" : {
"_source" : { "enabled" : false },
"properties" : {
"field1" : { "type" : "string", "index" :
"not_analyzed" }
}
}
}
}'
删除索引:
curl -XDELETE localhost:9200/索引名字
查询索引:
curl -XGET localhost:9200/索引名字/类型名字/id
ES 使用bulk 添加数据
动态映射无法添加数据,不要担心!可以使用bulk命令,添加json文件内的数据。
1 定义json数据文件:
{"index":{"_index":"aaa123","_id":1}}
{"name":"xingoo","age":25}
{"index":{"_index":"aaa123","_id":2}}
{"name":"test111","age":31}
{"index":{"_index":"aaa123","_id":3}}
{"name":"test222","age":42}
{"index":{"_index":"aaa123","_id":4}}
{"name":"test333","age":13}
注意的是,json文件名称随意指定,第一行定义了索引和一些常用字段:
_index定义了索引的名称,如果没有指定需要在curl命令中添加索引名称字段
_type定义了索引的类型,如果没有指定需要在curl命令中添加索引类型字段
_id定义了该行数据的id,如果没有指定,会随机生成一串数字。
2 执行命令
进入到json文件所在的目录,执行命令
curl localhost:9200/索引名称/索引类型/_bulk?pretty --data-binary @data.json
注意的是:
如果json文件中定义了_index和_type,那么这里可以不写变成(即便写了也会按照json文件中的生成)
curl localhost:9200/_bulk?pretty --data-binary @data.json
field 换 type
首先创建一个新的索引
curl -XPUT localhost:8305/store_v2 -d '{ "settings" : { "number_of_shards" : 20 }, "mappings" : { "client" : { "properties" : { "ip" : { "type" : "string" }, "cost" : { "type" : "long" },} ====create index mapping curl -XPUT 54.223.139.77:9200/store_v2 --data-binary @data1.json python用起来比较熟,所以我就直接选 pyes了,装了一大堆破依赖库之后,终于可以run起来了 import pyes conn = pyes.es.ES("http://10.xx.xx.xx:8305/") search = pyes.query.MatchAllQuery().search(bulk_read=1000) hits = conn.search(search, 'store_v1', 'client', scan=True, scroll="30m", model=lambda _,hit: hit) for hit in hits: #print hit conn.index(hit['_source'], 'store_v2', 'client', hit['_id'], bulk=True) conn.flush() 花了大概一个多小时,新的索引基本和老索引数据一致了,对于线上完成瞬间的增量,这里没心思关注了,数据准确性要求没那么高,得过且过。 接下来修改alias别名的指向(如果你之前没有用alias来改mapping,纳尼就等着哭吧) curl -XPOST localhost:8305/_aliases -d ' { "actions": [ { "remove": { "alias": "store", "index": "store_v1" }}, { "add": { "alias": "store", "index": "store_v2" }} ] }
等新索引的数据已经追上时
将老的索引删掉
|
1
|
curl -XDELETE localhost:8303/store_v1 |
ELK basic---http://udn.yyuap.com/doc/logstash-best-practice-cn/filter/grok.html的更多相关文章
- ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置
注意事项: 1.ELK版本要求5.X以上,本人使用版本:elasticsearch-6.0.0.kibana-6.0.0-linux-x86_64.logstash-6.0.0.tar 2.Elast ...
- logstash filter grok 用法
在elk+filebeat都安装好,且明白了基本流程后,主要的就是写logstash的filter了,以此来解析特定格式的日志 logstash的filter是用插件实现的,grok是其中一个,用来解 ...
- logstash笔记(二)——grok之match
官方文档: https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html 基本语法: %{SYNTAX:SEMA ...
- 使用Logstash filter grok过滤日志文件
Logstash提供了一系列filter过滤plugin来处理收集到的log event,根据log event的特征去切分所需要的字段,方便kibana做visualize和dashboard的da ...
- Logstash详解之——filter模块-grok插件
1. grok插件:能匹配一切数据,但是性能和对资源的损耗也很大. grok内置字段类型参见: https://blog.csdn.net/cui929434/article/details/9439 ...
- 使用logstash的input file filter收集日志文件
使用logstash的input file filter收集日志文件 一.需求 二.实现步骤 1.前置知识 2.编写pipeline文件 3.Input 中 file 插件的部分参数解释: 4.启动l ...
- ELK快速入门(二)通过logstash收集日志
ELK快速入门二-通过logstash收集日志 说明 这里的环境接着上面的ELK快速入门-基本部署文章继续下面的操作. 收集多个日志文件 1)logstash配置文件编写 [root@linux-el ...
- ELK 架构之 Elasticsearch、Kibana、Logstash 和 Filebeat 安装配置汇总(6.2.4 版本)
相关文章: ELK 架构之 Elasticsearch 和 Kibana 安装配置 ELK 架构之 Logstash 和 Filebeat 安装配置 ELK 架构之 Logstash 和 Filebe ...
- 170228、Linux操作系统安装ELK stack日志管理系统--(1)Logstash和Filebeat的安装与使用
安装测试环境:Ubuntu 16.04.2 LTS 前言 (1)ELK是Elasticsearch,Logstash,Kibana 开源软件的集合,对外是作为一个日志管理系统的开源方案.它可以从任何来 ...
随机推荐
- JAVA多线程之synchronized和volatile实例讲解
在多线程中,提到线程安全.线程同步,我们经常会想到两个关键字:volatile和synchronized,那么这两者有什么区别呢? 1. volatile修饰的变量具有可见性 volatile是变量修 ...
- JVM基础学习之基本概念、可见性与同步
开发高性能并发应用不是一件容易的事情.这类应用的例子包括高性能Web服务器.游戏服务器和搜索引擎爬虫等.这样的应用可能需要同时处理成千上万个请求.对于这样的应用,一般采用多线程或事件驱动的 架构 .对 ...
- django 将model转换为字典
from django.forms.models import model_to_dict from projects.models import ProjectInformation site = ...
- 在容器中使用erase函数,迭代器的处理
在c++编程中,用到迭代器的时候,往往不知道如何删除当前迭代器指向的元素. erase函数: 返回下一个迭代器. 只使用vector的erase函数,记住,该函数是迭代器失效,返回下一个迭代器. ...
- 基于HTML5 Canvas 实现的 Loading 效果
Sonic.js 是一个很小的 JavaScript 类,用于创建基于 HTML5 画布的加载图像.更强大的是 Sonic.js 还提供了基于现成的例子的创建工具,可以帮助你实现更多自定义的(Load ...
- 基于html5和css3响应式全屏滚动页面切换效果
分享一款全屏响应式的HTML5和CSS3页面切换效果.这个页面布局效果对于那些页面要求固定100%高度和宽度的网站和APP来说是十分有用的.效果图如下: 在线预览 源码下载 HTML wrappe ...
- Spring Boot 属性配置&自定义属性配置
在使用spring boot过程中,可以发现项目中只需要极少的配置就能完成相应的功能,这归功于spring boot中的模块化配置,在pom.xml中依赖的每个Starter都有默认配置,而这些默认配 ...
- 实现Easyui 可编辑表格
一.前端框架使用的easyui框架 二.后端使用的是jfinal 三.效果图 四.html代码 <div id="table_tree" class="easyui ...
- 错题0925-java
1.Given the following code: public class Test { private static int j = 0; private static Boolean met ...
- 在J2EE的Web应用中,编译后的class文件存放的目录为(选择1项)
在J2EE的Web应用中,编译后的class文件存放的目录为(选择1项) A. classes目录 B. images目录 C. jar目录 D. 任意位置 解答:A