kibana读取超时是什么意思,ES性能问题求助

请用Chrome或firefox浏览运维网咖社,本站博文全为愚人乙原创,转载请注明出处!!
发展到现在,每天的日志量在15个亿左右,并引入了spark选手,业务越重,压力越大,es的index和search的优化一直是面临的最大考验,每次不合理的search带来index的延迟,甚至集群某些节点
&&&&& 发展到现在,每天的日志量在15个亿左右,并引入了spark选手,业务越重,压力越大,es的index和search优化一直是面临的最大考验,每次不合理的search带来index的延迟,甚至集群某些节点假死,在发现es的5.2.1版本有请求不能熔断的bug后,进行了小版本5.2.2版本升级,效果不佳,纠结后果断选择干脆升级最新的5.5.0版本,在所有优化项和优化参数(后面会对es从结构到优化的参数做一个介绍)未做调整的前提下,发现性能和稳定性提升很明显,同时还带来了一个很牛的功能机器学习,由于服务器是纯内网结构,升级过程自己搭建文件服务器,使用shell脚本进行的批量升级,当时使用supervisor管理服务,在这个时候就显示出尤其的方便,不展开说了,记录一下升级前后的数据对比。图一总体情况(特意等了4个小时再看的数据):升级是在14:00,从x-pack图表来看,在升级瞬间indexing的速度稳稳的上去了,上扬的一下可能是要补升级瞬间kafka队列里积累的数据,但之后的表现与之前5.2.2版本的曲线形成一个很明显的对比,indexing数据在21000左右稳定下来了,取代了原来5.2.2版本不停的抖动;另外再看indexing时延,这个表现的更加明显,升级后没有大的抖动了;第三,仔细看search和indexing两张图的上下对比,发现18:00时search的上涨并未影响到indexing的性能,整体就是看到了一个性能更加稳定的曲线。图二单个node节点gc:从gc和heap来看,heap的使用率比之前总体下降,并且稳定下来,新生代gc的count有所上升,也是稳定的,也就是说同样业务下heap内存使用的少了。这次升级总体来看,es5.5.0集群的表现就是一个字“稳”,性能在提升的同时稳定了下来,非常好。“”原创作品,允许转载,转载时请务必以超链接形式标明文章
、作者信息和本声明。否则将追究法律责任。ElasticSearch 5.0 测评以及使用体验
前言 目前我厂需要上线一批ElasticSerach服务器,我们针对ElasticSearch的索引性能及查询性能进行了测试,以保证能满足上线需求。在我
目前我厂需要上线一批ElasticSerach服务器,我们针对ElasticSearch的索引性能及查询性能进行了测试,以保证能满足上线需求。在我们测试2.4.1版本的中期,ElasticSearch发布了5.0.0版本。我们感到异常的兴奋,所以对5.0.0版本也进行了测试。 ElasticSearch 5.0.0版本的升级变动相对来说还是比较大的,本文主要针对5.0.0版本关于设置方面的变动与升级进行阐述。 运行环境 1、JDK 环境 ElasticSearch5.0.0需要Java 8的环境,但是如果服务器上还有其它的应用程序,需要Java 7的环境。或者升级到Java 8代价太高,可以使用Java 7和Java 8共存的方式,在程序启动的时候指定使用Java 8运行环境。题外话:目前发现很多基础软件正向Java 8靠拢,升级Java 8的日子看来指日可待啊! 我们采用如下的方式: 1)touch setup.sh 2)echo &export JAVA_HOME=/your/jdk/path/jdk-8/;export & & &PATH=${JAVA_HOME}/bin/:$PATH;cd /your/es/path/es-cluster-./bin/elasticsearch& && setup.sh 值得注意的是,只需把Java 8的安装包放到服务器某个目录下,不用配置环境变量,在节点启动的时候指定Java 8环境即可。 2、服务器参数配置 ElasticSearch5.0.0需要设置服务器max_map_count,ElasticSearch5.0.0要求最小为262144。 切换到root用户权限下执行: sysctl -w vm.max_map_count=262144 3、JVM参数设置 通常我们在启动ElasticSearch的时候设置ES_MIN_MEN或者ES_MAX_MEN参数,但是在ElasticSearch5.0.0中不在支持ES_MIN_MEN及ES_MAX_MEN参数设置。随之替换为ES_JAVA_OPTS,具体写法如下: ES_JAVA_OPTS=&-Xms28g -Xmx28g& ./bin/elasticsearch 备注: 根据5.0.0的设置风格,建议一般有关于JVM参数的设置最好在jvm.options中进行设置。
Setting Changes 从5.0开始所有的设置项目在节点启动的时候都会进行验证 , 而且参数如果设置不合理会抛出异常信息,如果设置的属性需要服务器特定的环境不符合设置的需求也会抛出异常。节点级别或者默认的索引级别的设置在节点启动的时候进行验证,集群和索引的动态设置也会在更新或者增加的时候进行验证。 在以前的es版本中可以允许特殊的索引配置作为节点级别的默认配置。从es5.0开始只有特定的设置才能在节点级别进行设置。其它的设置必须在各自相应的索引上进行设置。在现实使用中我们很容易会遇到针对每个索引都进行某项设置,这时候我们可以通过建立索引模版的方式,对某一类的索引配置参数。 以下参数设置是我们在实际测试过程中ElasticSearch5.0.0改变或者被移除的情况。 1、bootstrap.memory_lock 众所周知内存溢出对于集群的安全运行是毁灭性的,对于ElasticSearch来说一个很好的实现方式就是通过设置bootstrap.memory_lock为Enable。 ElasticSearch5.0.0采用bootstrap.memory_lock写法替换之前的bootstrap.mlockall的写法。 2、线程池设置 为了减少每个节点管理的线程对内存的消耗,每个节点都会拥有自己的线程池。这些线程池与队列相关联,使请求变为挂起而不是丢弃。所以根据自己的业务需求设置合理的参数是十分必要的,我厂目前主要针对bulk参数进行了设置。
thread_pool:
queue_size: 1000
在ElasticSearch5.0.0之前的版本中是如下的方式:
threadpool:
queue_size: 1000
备注:size最大应为服务器(物理内核数-1)的5倍,否则会抛出如下的异常信息
如果在之前的版本中设置了不支持的属性,节点会正常启动只是不会起作用也不会抛出异常提示,但是在5.0.0版本中,如果设置不当的话会抛出异常如我进行这样设置会抛出如下的异常信息。
thread_pool:&
type: fixed
queue_size: 1000
3、master节点选举超时设置 根据业务需要及数据量大小情况,我们对discovery.zen.ping_timeout参数进行了调整,目前我厂设置的为:10s。在ElasticSearch5.0.0之前的版本设置的方式是discovery.zen.ping.timeout: 10s。目前5.0.0的版本替换为discovery.zen.ping_timeout: 10s 4、index.translog.flush_threshold_ops 为什么要有Translog? 因为Translog顺序写日志比构建索引更高效。我们不可能每加一条记录就Commit一次,这样会有大量的文件和磁盘IO产生。但是我们又想避免程序挂掉或者硬件故障而出现数据丢失,所以有了Translog,通常这种日志我们叫做Write Ahead Log。我们应该根据业务需求适当的调整其对应的参数大小可以提高集群的索引速度。 备注:上文引用威廉大神的原话。(http://www.jianshu.com/p/5eeeeb4375d4)
index.translog.flush_threshold_ops在ElasticSearch5.0.0中被取消,被index.translog.flush_threshold_size替换。 但是根据节点设置级别限制,不能在配置文件中进行设置即不能在节点级别设置,如果设置的话会抛出:
5、日志文件的变更 ElasticSearch5.0.0 日志文件的配置移植到log4j2.properties文件中,取消在logging.yml文件中设置,并且如果在目录中同时存在这两个文件,在启动的时候会报异常,程序不能正常启动。 备注:由于本人的懒癌症本想把之前版本的日志配置,直接通过拷贝文件过来使用。发现有异常抛出,从此也反映出ElasticSearch5.0.0的Check机制的强大。 6、改变配置文件地址 ElasticSearch配置文件地址默认为ES_HOME下的config文件目录。由于业务或者服务器配置的需求,ElasticSearch应用程序的config文件目录地址发生变化。故需要在程序启动的时候动态指定config文件目录。ElasticSearch5.0.0的版本采用bin/elasticsearch -Epath.conf=/path/to/your/config进行配置文件路径的更换。在之前的版本中采用/bin/elasticsearch -Des.path.conf=/path/to/your/config进行更换。 Mapping Changes ElasticSearch5.0.0版本对mapping改动也比较多,目前设计到我厂的还是对string字段的更改。 string字段被text/keyword字段替代,string自动目前的默认配置
&type&: &text&,
&fields&: {
&keyword&: {
&type&: &keyword&,
&ignore_above&: 256
这主要为了能更高效的实现全文检索及排序还有聚合操作,应该根据自己的业务需求,把之前索引中string的字段按照业务需求进行更改,比如设置keyword合适的就设置成keyword类型。 索引及性能对比 在相同硬件环境及配置相同的情况下,我们分别对ElasticSearch5.0.0和ElasticSearch2.4.1版本的建立索引的性能进行了对比测试。目前我们测试通过威廉大神开源的streamingpro项目(https://github.com/allwefantasy/streamingpro),进行简单的配置从Parquet导入数据到ElasticSearch集群。 ES集群配置了25台物理机,其中Data Node为20台,Master Node为3台,Client Node为2台。 每台物理机的硬件配置如下:
创建索引spark程序配置如下:
两个版本的集群在相同的配置环境下进行数据的写入测试
备注:根据实际情况测试5.0.0版本相比2.4.1版本性能没有提高,并且经过多次测试结果差不多。与之前期待的5.0.0版本会有80%的提升还有一定的差距,欢迎各位童鞋探讨。 监控及展示 ElasticSearch5.0.0对监控和展示也进行了整合,目前我厂简单逻辑的展示采用kibana进行展示。在测试阶段采用Marvel进行监控,在ElasticSearch5.0.0版本中需要安装x-pack插件。 安装x-pack插件的命令: bin/elasticsearch-plugin install x-pack 备注:安装插件也需要java8的环境,目前我厂采用的是离线安装的方式。 bin/elasticsearch-plugin install file:///path/to/file/x-pack-5.0.0.zip 踩过的坑 1、数据导入 因为streamingpro项目依赖ElasticSearch-hadoop项目,在往ElasticSearch5.0.0集群中导入数据的时候发现,需要更新ElasticSearch-hadoop项目的版本到5.0.0。在更新项目对ElasticSearch-hadoop依赖之后,发现ElasticSearch-hadoop项目需要JDK运行环境为Java8。瞬间崩溃因为我们Spark集群目前JDK运行环境为Java7,升级到Java8风险与代价很高。经过组内简短的讨论及ElasticSearch-hadoop项目代码的分析,我们发现此ElasticSearch-hadoop项目没有用到Java8的新增特性。我们决定自己用Java7环境去把代码重新编译,然后进行打包上传。 写到这里不得不再吐槽一下ElasticSearch-hadoop之前版本,在利用别名进行查询的时候最多支持32个节点。所以当我们集群超过32这个规模之后,发现利用ElasticSearch-hadoop进行别名查询的时候会出现问题。不过查找文档发现ElasticSearch-hadoop5.0.0版本修复了此问题,于是经过上面的操作(即对ElasticSearch-hadoop5.0.0采用Java7环境编译打包,然后把之前用的版本替换成新打的包)我们也顺便解决了我们利用ElasticSearch-hadoop进行别名查询的问题。 2、存在的问题 目前通过ElasticSearch-hadoop5.0.0倒入数据到ElasticSearch集群,发现一个异常。我们后续也会跟踪此bug,希望对这方面感兴趣的童鞋一起进行探讨。Elasticsearch + Logstash + Kibana日志管理方案浅析 -
Elasticsearch + Logstash + Kibana(ELK)是一套开源的日志管理方案。
:负责日志的收集,处理和储存。
:负责日志检索和分析。
:负责日志的可视化。
三个软件的安装使用都非常简单,基本下载下来就可以使用了,没有繁琐的安装步骤。下面我会作一个简单的介绍,但不会深入去探讨。
Logstash唯一的依赖的Java运行环境,请确保Java已正确安装,最好安装较新的版本:
$ java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
下载和解压出来就能使用了,不需要安装:
$ wget https://download.elasticsearch.org/logstash/logstash/logstash-1.4.2.tar.gz
$ tar zxvf logstash-1.4.2.tar.gz
$ cd /path/to/logstash/
$ bin/logstash -e 'input { stdin { } } output { stdout {} }'
hello world
T02:46:46.340+0000 linux hello world
-e表示直接从命令行输入配置文件,input表示输入,output表示输出。上面我们使用的是标准输入和标准输出作为logstash的输入和输出。
我们后面要做的是把输出存储到Elasticsearch。
Elasticsearch
同样的,Elasticsearch下载下来解压后即可使用:
$ wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.0.tar.gz
$ tar zxvf elasticsearch-1.4.0.tar.gz
$ cd elasticsearch-1.4.0
$ bin/elasticsearch
Elasticsearch同样依赖于Java运行环境,而且要求1.7以上的版本,不然启动会报以下错误:
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/elasticsearch/bootstrap/Elasticsearch : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.elasticsearch.bootstrap.Elasticsearch.
Program will exit.
正常的启动信息如下:
[ 18:04:14,250][INFO ][node
] [Thunderclap] version[1.4.0], pid[25882], build[bc94bd8/T14:26:12Z]
[ 18:04:14,251][INFO ][node
] [Thunderclap] initializing ...
[ 18:04:14,256][INFO ][plugins
] [Thunderclap] loaded [], sites []
[ 18:04:16,527][INFO ][node
] [Thunderclap] initialized
[ 18:04:16,528][INFO ][node
] [Thunderclap] starting ...
[ 18:04:16,820][INFO ][transport
] [Thunderclap] bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/192.168.205.252:9300]}
[ 18:04:16,839][INFO ][discovery
] [Thunderclap] elasticsearch/AWsqNT85SbytA3OYMKvekQ
[ 18:04:20,625][INFO ][cluster.service
] [Thunderclap] new_master [Thunderclap][AWsqNT85SbytA3OYMKvekQ][linux][inet[/192.168.205.252:9300]], reason: zen-disco-join (elected_as_master)
[ 18:04:20,647][INFO ][http
] [Thunderclap] bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/192.168.205.252:9200]}
[ 18:04:20,647][INFO ][node
] [Thunderclap] started
[ 18:04:20,706][INFO ][gateway
] [Thunderclap] recovered [0] indices into cluster_state
可以直接通过HTTP协议访问Elasticsearch,默认端口为9200:
$ curl -X GET http://localhost:9200
"status" : 200,
"name" : "Thunderclap",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "1.4.0",
"build_hash" : "bc94bd893ab1ddddd30a",
"build_timestamp" : "T14:26:12Z",
"build_snapshot" : false,
"lucene_version" : "4.10.2"
"tagline" : "You Know, for Search"
Elasticsearch更多的用法可以看安装目录下的README.textile文件。
下面我先把展示界面安装好。
wget https://download.elasticsearch.org/kibana/kibana/kibana-3.1.2.tar.gz
tar zxvf kibana-3.1.2.tar.gz
然后我们需要一个web server作为容器,这里我使用nginx。配置nginx文件:
/path/to/kibana/;
配置host并访问:http://kibana/。由于访问Elasticsearch服务出错,所以会出现以下界面:
我们修改Kibana安装目录下的配置文件config.js:
elasticsearch: "http://localhost:9200",
然后修改Elasticsearch的配置文件elasticsearch.yml,增加以下配置:
http.cors.enabled: true
再次访问:
然后我们修改默认的显示面板为logstash:
$ cd /path/to/kibana/app/dashboards
$ mv default.json default_origin.json
$ mv logstash.json default.json
Elasticsearch + Logstash + Kibana
下面我们结合3者来做一个例子。我们通过Logstash收集Nginx的日志,并存储到Elasticsearch,最后用Kibana显示出来。
首先我们配置Logstash,让它能收集Nginx的日志,并输出到Elasticsearch。假设我们的Nginx的access_log的格式为:
log_format
'$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" ';
我们在Logstash的安装目录下创建配置文件logstash.conf,并输入以下内容:
type =& "nginx-access"
path =& "/path/to/nginx/access.log"
type =& "nginx-access"
match =& {"message" =& "%{IPORHOST:source_ip} - %{USERNAME:remote_user} \[%{HTTPDATE:timestamp}\] %{QS:request} %{INT:status} %{INT:body_bytes_sent} %{QS:http_referer} %{QS:http_user_agent}"}
elasticsearch { host =& localhost }
我们可以看到input设为file,output设为elasticsearch,然后我们还用到了filter,它的作用是用来对输入的日志进行过滤处理。
然后我们通过这个配置文件来启动Logstash:
$ bin/logstash -f logstash.conf
等Nginx运行了一段时间后,我们再访问Kibana:
我们可以看到已经一些图表和日志事件显示在Web界面上。
通过对Kibana的定制和Elasticsearcht强大的检索功能,我们可以做出适合于我们系统的日志管理。上面只是作一个简单的了解。希望有时间作更深入的研究。
本条目发布于。  搭建该平台的目的就是为了运维、研发很方便的进行日志的查询。Kibana一个免费的web壳;Logstash集成各种收集日志插件,还是一个比较优秀的正则切割日志工具;Elasticsearch一个开源的搜索引擎框架(支持群集架构方式)。
1 安装需求
1.1&理论拓扑
1.2 安装环境
1.2.1 硬件环境
192.168.50.62(HP DL 385 G7 、RAM:12G、CPU:AMD 6128、DISK:SAS 146*4)
192.168.50.98(HP DL 385 G7 、RAM:12G、CPU:AMD 6128、DISK:SAS 146*6)
192.168.10.42 (Xen虚拟机、RAM:8G、CPU:&4、DISK:100G)
1.2.2 操作系统
CentOS 5.6 X64
1.2.3 Web-server基础环境
Nginx+php(安装过程略过)
1.2.4 软件列表
JDK 1.6.0_25
logstash-1.1.0-monolithic.jar
elasticsearch-0.18.7.zip
redis-2.4.12.tar.gz
1.3 获取方法
1.3.1 Jdk获取路径
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html
1.3.2 Logstash获取路径
http://semicomplete.com/files/logstash/logstash-1.1.0-monolithic.jar
1.3.3 Elasticsearch获取路径
https://github.com/downloads/elasticsearch/elasticsearch/ elasticsearch-0.18.7.zip
1.3.4 Kibana获取路径
http://github.com/rashidkpc/Kibana/tarball/master
2 安装步骤
2.1 JDK的下载及安装
wget http://download.oracle.com/otn-pub/java/jdk/6u25-b06/jdk-6u25-linux-x64.bin
sh jdk-6u25-linux-x64.bin
mkdir -p /usr/java
mv ./jdk1.6.0_25 /usr/java
ln &s /usr/java/jdk1.6.0_25 /usr/java/default
编辑 /etc/profile文件,加入以下行内容
export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH
刷新环境变量
source /etc/profile
2.2 Redis下载及安装
make install
mkdir -p /data/redis
cd /data/redis/
mkdir {db,log,etc}
2.3 Elasticsearch下载及安装
mkdir &p elasticsearch && cd elasticsearch
wget --no-check-certificate https://github.com/downloads/elasticsearch/elasticsearch/ elasticsearch-0.18.7.zip
unzip elasticsearch-0.18.7.zip
2.4 Logstash下载及安装
mkdir &p /data/logstash/ && cd /data/logstash
2.5 Kibana下载及安装
wget http://github.com/rashidkpc/Kibana/tarball/master --no-check-certificate
tar zxvf master
3 相关配置及启动
3.1 Redis配置及启动
3.1.1 配置文件
vim /data/redis/etc/redis.conf
#----------------------------------------------------
#this is the config file for redis
pidfile /var/run/redis.pid
loglevel verbose
logfile /data/redis/log/redis.log
databases 16
save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename dump.rdb
dir /data/redis/db/
slave-serve-stale-data yes
appendonly no
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
slowlog-log-slower-than 10000
slowlog-max-len 128
vm-enabled no
vm-swap-file /tmp/redis.swap
vm-max-memory 0
vm-page-size 32
vm-max-threads 4
hash-max-zipmap-entries 512
hash-max-zipmap-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
activerehashing yes
3.1.2 Redis启动
[logstash@Logstash_2 redis]# redis-server /data/redis/etc/redis.conf &
3.2 Elasticsearch&配置及启动
3.2.1 Elasticsearch启动
[logstash@Logstash_2 redis]# /data/elasticsearch/elasticsearch-0.18.7/bin/elasticsearch &p ../esearch.pid &
3.2.2 Elasticsearch&群集配置
curl 127.0.0.1:9200/_cluster/nodes/192.168.50.62
3.3 Logstash配置及启动
3.3.1 Logstash配置文件
host =& "192.168.50.98"
data_type =&"list"
key =& "logstash:redis"
type =& "redis-input"
type =& "linux-syslog"
pattern =& "%{SYSLOGLINE}"
type =& "nginx-access"
pattern =& "%{NGINXACCESSLOG}"
elasticsearch {
host =&"192.168.50.62"
3.3.2 Logstash启动为Index
java -jar logstash.jar agent -f my.conf &
3.3.3 Logstash启动为agent
type =& "linux-syslog"
path =& [ "/var/log/*.log", "/var/log/messages", "/var/log/syslog" ]
type =& "nginx-access"
path =& "/usr/local/nginx/logs/access.log"
type =& "nginx-error"
path =& "/usr/local/nginx/logs/error.log"
host =& "192.168.50.98"
data_type =&"list"
key =& "logstash:redis"
Agent 启动
java -jar logstash-1.1.0-monolithic.jar agent -f shipper.conf &
3.3.4 kibana配置
首先在nginx添加站点配置
listen 80;
server_name logstash.test.
index index.
root /usr/local/nginx/
#charset koi8-r;
#access_log logs/host.access.
location ~ .*\.(php|php5)$
#fastcgi_pass unix:/tmp/php-cgi.
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.
include fastcgi.
4 性能调优
4.1 Elasticsearch调优
4.1.1 JVM调优
编辑Elasticsearch.in.sh文件
ES_CLASSPATH=$ES_CLASSPATH:$ES_HOME/lib/*:$ES_HOME/lib/sigar/*
if [ "x$ES_MIN_MEM" = "x" ]; then
ES_MIN_MEM=4g
if [ "x$ES_MAX_MEM" = "x" ]; then
ES_MAX_MEM=4g
4.1.2 Elasticsearch索引压缩
vim index_elastic.sh
#!/bin/bash
#comperssion the data for elasticsearch now
date=` date +%Y.%m.%d `
/usr/bin/curl -XPUT http://localhost:9200/logstash-$date/nginx-access/_mapping -d '{"nginx-access" : {"_source" : { "compress" : true }}}'
/usr/bin/curl -XPUT http://localhost:9200/logstash-$date/nginx-error/_mapping -d '{"nginx-error" : {"_source" : { "compress" : true }}}'
/usr/bin/curl -XPUT http://localhost:9200/logstash-$date/linux-syslog/_mapping -d '{"linux-syslog" : {"_source" : { "compress" : true }}}'
保存该脚本并执行
sh index_elastic.sh
5.1 Logstash查询页
使用火狐浏览器或者谷歌浏览器访问&
引自:http://enable.blog.51cto.com/9411
阅读(...) 评论()kibana查询elasticsearch超时,如何提升elasticsearch查询性能? - 知乎3被浏览100分享邀请回答暂时还没有回答,开始写第一个回答1 个回答被折叠()

我要回帖

更多关于 读取超时 的文章

 

随机推荐