ELK basic

http://blog.csdn.net/lgnlgn/article/details/8053626 elasticsearch学习入门

检查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

时间: 2024-09-30 15:09:21

ELK basic的相关文章

ELK+redis搭建日志分析平台

ELK+redis搭建日志分析平台 1.ELK简介 ELKStack即Elasticsearch + Logstash + Kibana.日志监控和分析在保障业务稳定运行时,起到了很重要的作用.比如对nginx日志的监控分析,nginx是有日志文件的,它的每个请求的状态等都有日志文件进行记录,所以可以通过读取日志文件来分析:redis的list结构正好可以作为队列使用,用来存储logstash传输的日志数据.然后elasticsearch就可以进行分析和查询了. 本文搭建的的是一个分布式的日志收

elk+kafka+rsyslog+hadoop-hdfs+zookeeper搭建及其应用笔记

一:简述 本人之前搭建elk+redis架构收集日志,出现瓶颈,现使用新架构(els+kafka+rsyslog+hadoop-hdfs+zookeeper),解决方案. 二:搭建过程 A.rsyslogd服务 通过对 rsyslog官方文档 查看,得知 rsyslog对 kafka的支持是 v8.7.0版本后才提供的支持.通过 ChangeLog 也可以看出 V8.X的版本变化. 最新V8稳定版已经提供RPM包的Rsyslog-kafka插件了,直接yum安装即可,添加yum源: [rsysl

ELK环境搭建

Virtualbox/Vagrant安装 41.1. Virtualbox安装 41.2. Vagrant安装 41.2.1. 简述 41.2.2. Vagrant box 41.2.3. 安装配置 51.2.4. 常用命令 6 ELK安装 62.1. CentOS7系统配置 62.1.1. 安装iptables 62.1.2. 安装ifconfig 62.1.3. 禁用IPV6 72.2. 安装Java并配置环境变量 72.3. 安装Elasticsearch 72.3.1. 导入elasti

Docker 部署ELK 日志分析

Docker 部署ELK 日志分析 elk集成镜像包 名字是 sebp/elk 安装 docke.启动 yum install docke service docker start Docker至少得分配3GB的内存:不然得加参数 -e ES_MIN_MEM=128m  -e ES_MAX_MEM=1024m 加了-e参数限制使用最小内存及最大内存. Elasticsearch至少需要单独2G的内存: vm.max_map_count至少需要262144,修改vm.max_map_count 参

ELK - MAC环境搭建

ELK - MAC环境搭建 本文旨在记录elasticsearch.logstash.kibana在mac下的安装与启动. 先决条件 java8 mac软件管理工具brew brew相关命令 # 安装软件 brew install your-software # 查看软件安装信息 brew info your-software # 管理服务,没怎么用它,ELK都有自己的启动脚本在安装目录的bin/下面,且基本上都会携带参数启动 brew services start/stop your-serv

ELK部署详解--elasticsearch

#Elasticsearch 是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析.它是一个建立在全文搜索引擎 Apache Lucene 基础上的搜索引擎,使用 Java 语言编写. elasticsearch.yml # ======================== Elasticsearch Configuration =========================## NOTE: Elasticsearch comes with reasonable defa

集中式日志分析平台 - ELK Stack - 安全解决方案 X-Pack

大数据之心 关注 0.6 2017.02.22 15:36* 字数 2158 阅读 16457评论 7喜欢 9 简介 X-Pack 已经作为 Elastic 公司单独的产品线,前身是 Shield, Watcher, Marvel, Graph, 和 reporting,先来说说这几个爸爸是做什么的吧: Shield: 提供对数据的 Password-Protect,以及加密通信.基于角色的权限控制,IP 过滤,审计,可以有效地: 防止未授权的访问:基于 Password-Protect,基于角

ELK学习笔记(一)安装Elasticsearch、Kibana、Logstash和X-Pack

最近在学习ELK的时候踩了不少的坑,特此写个笔记记录下学习过程. 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误. 通常,日志被分散的储存不同的设备上.如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志.这样是不是感觉很繁琐和效率低下.当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收

[C++] Variables and Basic Types

Getting Started compile C++ program source $ g++ -o prog grog1.cc run C++ program $ ./prog The library, iostream, define four IO object: cin, cout, cerr, clog. std::cout << "hello world" << std::endl; The result of the output operato