kibana配置elastic kibanasearchurl选项 怎么才能配置灵活

给Elasticsearch 和Kibana添加基于角色的访问权限控制 - CSDN博客
给Elasticsearch 和Kibana添加基于角色的访问权限控制
给ELK 添加Shield权限控制
这两天整个项目(电商SAAS系统)上线后,由于系统变得很大,每天产生的业务日志、访问日志、数据库慢查询、php等语言日志,都分布在不同的机器上,所以需要统一收集并格式化存储,方便研发运维实时掌握整个系统的运行情况,所以搭建了MCAS日志收集分析系统。
系统搭建好后,由于部署在公网上,所以需要给整个系统加一套基于RBAC的权限控制,隔离大家对系统核心日志的访问,更是为了保护数据安全。
我从百度上找了N多教程,可是大部分版本都比较久,而且关于Shield的教程非常少,没办法,只能去ELK官网,一点一点按照教程来操作。说实话,官网教程很多地方没有细节,这也让我走了不少弯路。最后经过不停的实验,终于成功上线,伟哥在这里把整个过程写下来,分享给大家,让大家更愉快的工作!
本教程基于最新版的ELK
Elasticsearch 2.3.3
第一步,安装Shield2.0+
可以说整个过程中,安装是最简单的。
安装Shield到Elasticsearch。
我是通过代码包安装的,切换到elasticsearch目录
cd /usr/local/elastic/
这里面有个bin目录
执行两个命令:
# bin/plugin
install license (安装license)
- # bin/plugin install shield (安装shield)
bin/elasticsearch (重启elastic)
bin/shield/esusers useradd es_admin -r admin (添加一个管理员用户, 用户名es_admin,角色admin,这个时候会让你输入两次密码,大家都知道怎么做吧)
curl -u es_admin -XGET ‘’ 测试一下权限是否设置成功哦,如果让你输入密码,
如果能看到下面这串字符,恭喜你elasticsearch shield安装成功。
[root@mosh-mcas-3 logs]# curl -u es_admin -XGET ‘’
Enter host password for user 'es_admin':
"name" : "J2",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "2.3.3",
"build_hash" : "218bdf10790eef486ff2c41a3df5cfa32dadcfde",
"build_timestamp" : "T15:40:04Z",
"build_snapshot" : false,
"lucene_version" : "5.5.0"
"tagline" : "You Know, for Search"
给kibana添加shield权限控制
为了给kibana加用户访问权限,同时为让kibana可以访问elasticsearch的数据,需要给kibana添加kibana server密码。
/usr/local/elastic/bin/shield/esusers
useradd kibana4-server -r kibana4_server -p password
切换到kibana安装的机器(如果跟elasticsearch同一台机器,则不用更换),搜索到kibana的yml配置文件,然后添加elasticsearch第一步里创建的管理员和密码
find / -name kibana.yml
找到kibana.yml后,打开,然后添加如下两行:
elasticsearch.username: “kibana4-server” //你的elastic 管理员用户名
elasticsearch.password: “password”
//你的elastic 管理员密码
这样,kibana server就可以访问elasticsearch获取数据了。
##给kibana server添加权限控制
- 为kibana服务器配置密钥。
kibana4_server的角色控制默认存放在了Shield的roles.yml文件。
在elasticsearch 的roles.yml配置文件里面,新建一个kibana 用户role
my_kibana_user:
- names: 'logstash-*'
privileges:
- view_index_metadata
- names: '.kibana*'
privileges:
![这里写图片描述](http://img.blog.csdn.net/44761)
## 通过REST API创建一个kibana用户
POST /_shield/user/kibanauser
"password" : "123456",
"roles" : [ "my_kibana_user" ]
其中**kibanauser**为用户名,json里面为密码和该用户的角色。
您可以使用浏览器插件发送post命令,或者使用curl命令行工具:
-H “Content-type: application/json” -X POST -d ‘{“password”:”user123”,”roles”:[“my_kibana_user”]}’ http://192.168.0.7:9200/_shield/user/kibana_user -u es_admin
配置证书:
如果你对生成证书不熟悉,可以参考我的上一篇文章:[openssl生成https证书](http://blog.csdn.net/xuplus/article/details/)
server.ssl.key: /path/to/your/server.key
server.ssl.cert: /path/to/your/server.crt
## 安装kibana端shield插件
- bin/kibana plugin --install kibana/shield/2.3.3
- 给shield设置一个加密密码
Set the shield.encryptionKey property in the kibana.yml configuration file. You can use any text string as the encryption key.
shield.encryptionKey: “something_secret”
- 设置shield超时
shield.sessionTimeout: 600000
- 重启kibana,然后生效
Restart Kibana and verify that you can sign in as a user. If you are running Kibana locally, go to
and enter the credentials for a user you’ve assigned a Kibana user role. For example, you could log in as the jacknich user created in step 3.
Markdown及扩展
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面。
使用简单的符号标识不同的标题,将某些文字标记为粗体或者斜体,创建一个等,详细语法参考帮助?。
本编辑器支持 Markdown Extra ,  扩展了很多好用的功能。具体请参考.
Markdown Extra 表格语法:
可以使用冒号来定义对齐方式:
Markdown Extra 定义列表语法:
代码块语法遵循标准markdown代码,例如:
“` python
@requires_authorization
def somefunc(param1=”, param2=0):
”’A docstring”’
if param1 & param2: # interesting
print ‘Greater’
return (param2 - param1 + 1) or None
class SomeClass:
message = ”’interpreter
… prompt”’
离线写博客
即使用户在没有网络的情况下,也可以通过本编辑器离线写博客(直接在曾经使用过的浏览器中输入即可。Markdown编辑器使用浏览器离线存储将内容保存在本地。
用户写博客的过程中,内容实时保存在浏览器缓存中,在用户关闭浏览器或者其它异常情况下,内容不会丢失。用户再次打开浏览器时,会显示上次用户正在编辑的没有发表的内容。
博客发表后,本地缓存将被删除。 
用户可以选择
把正在写的博客保存到服务器草稿箱,即使换浏览器或者清除缓存,内容也不会丢失。
注意:虽然浏览器存储大部分时候都比较可靠,但为了您的数据安全,在联网后,请务必及时发表或者保存到服务器草稿箱。
浏览器兼容
目前,本编辑器对Chrome浏览器支持最为完整。建议大家使用较新版本的Chrome。
IE9以下不支持
IE9,10,11存在以下问题
不支持离线功能
IE9不支持文件导入导出
IE10不支持拖拽文件导入
本文已收录于以下专栏:
相关文章推荐
elk系统添加对kibana的登录认证
关于elk系统的安装配置可以参考:Centos6.5安装Logstash ELK stack 日志管理系统及使用详解
http://blog.csdn.net...
最近一直使用logstash+elasticsearch+kibana作日志分析,
在上一篇博客中ELK Stack之Shield介绍介绍了Shiel的简单部署和一些工作机制,本篇博客就结合实例演示一下Shield在elk stack中的权限保护Shi
使用Shield保护ELK平台
——兼权限控制
ELK系统默认并不含有用户认证功能,基本上任何人都可以随意读写ElasticSearch的API并获取数据,这时该如何对ELK系统做好防护工作呢...
本次安装的Kibana主要用于展示《CentOS7环境下搭建ElasticSearch》中搭建的ES,其详细安装部署过程如下所示:1.解压Kibana压缩包kafka_2.11-0.8.2.2.tgz...
import { createHash } from 'crypto';
import moment from 'moment';
import { get, set, includes, for...
权限控制大约有以下几种方法:
1、shield :https://www.elastic.co/products/shield
2、search-guard : http://floragunn....
1、官方文档:https://www.elastic.co/guide/en/x-pack/current/index.html2、Install X-Pack into Elasticsearch
X-Pack是一个Elastic Stack的扩展,将安全,警报,监视,报告和图形功能包含在一个易于安装的软件包中。在Elasticsearch 5.0.0之前,您必须安装单独的Shield,Watc...
Kibana4 是 Elasticsearch 分析和搜索仪表板Elasticsearch 必须要先安装风来了.fox1.下载和安装下载地址https://www.elastic.co/downloa...
他的最新文章
讲师:吴岸城
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)  对于Kibana ,我们知道,是Elasticsearch/Logstash/Kibana的必不可少成员。
&第一步:上传
  注意,对于,多节点的ELK集群安装在一个节点就好。我这里以主节点,HadoopMaster。
[hadoop@HadoopMaster app]$ pwd
/home/hadoop/app
[hadoop@HadoopMaster app]$ ll
total 3096
drwxrwxr-x.
9 hadoop hadoop
4096 Feb 22 06:05 elasticsearch-2.4.3
-rw-r--r--.
1 hadoop hadoop
908862 Jan 10 11:38 elasticsearch-head-master.zip
-rw-r--r--.
1 hadoop hadoop 2228252 Jan 10 11:38 elasticsearch-kopf-master.zip
drwxr-xr-x. 10 hadoop hadoop
4096 Oct 31 17:15 hadoop-2.6.0
drwxr-xr-x. 15 hadoop hadoop
4096 Nov 14
2014 hadoop-2.6.0-src
drwxrwxr-x.
8 hadoop hadoop
2 18:20 hbase-1.2.3
drwxr-xr-x.
8 hadoop hadoop
4096 Apr 11
2015 jdk1.7.0_79
drwxrwxr-x.
9 hadoop hadoop
4096 Feb 25 19:18 tomcat-7.0.73
drwxr-xr-x. 10 hadoop hadoop
1 23:39 zookeeper-3.4.6
[hadoop@HadoopMaster app]$ rz
[hadoop@HadoopMaster app]$ ll
total 36432
drwxrwxr-x.
9 hadoop hadoop
4096 Feb 22 06:05 elasticsearch-2.4.3
-rw-r--r--.
1 hadoop hadoop
908862 Jan 10 11:38 elasticsearch-head-master.zip
-rw-r--r--.
1 hadoop hadoop
2228252 Jan 10 11:38 elasticsearch-kopf-master.zip
drwxr-xr-x. 10 hadoop hadoop
4096 Oct 31 17:15 hadoop-2.6.0
drwxr-xr-x. 15 hadoop hadoop
4096 Nov 14
2014 hadoop-2.6.0-src
drwxrwxr-x.
8 hadoop hadoop
2 18:20 hbase-1.2.3
drwxr-xr-x.
8 hadoop hadoop
4096 Apr 11
2015 jdk1.7.0_79
-rw-r--r--.
1 hadoop hadoop
Mar 24 23:34 kibana-4.6.3-linux-x86_64.tar.gz
drwxrwxr-x.
9 hadoop hadoop
4096 Feb 25 19:18 tomcat-7.0.73
drwxr-xr-x. 10 hadoop hadoop
1 23:39 zookeeper-3.4.6
[hadoop@HadoopMaster app]$
&第二步:解压
[hadoop@HadoopMaster app]$ tar -zxvf kibana-4.6.3-linux-x86_64.tar.gz
&第三步:删除安装包,并修改所属组和用户
[hadoop@HadoopMaster app]$ ll
total 36436
drwxrwxr-x.
9 hadoop hadoop
4096 Feb 22 06:05 elasticsearch-2.4.3
-rw-r--r--.
1 hadoop hadoop
908862 Jan 10 11:38 elasticsearch-head-master.zip
-rw-r--r--.
1 hadoop hadoop
2228252 Jan 10 11:38 elasticsearch-kopf-master.zip
drwxr-xr-x. 10 hadoop hadoop
4096 Oct 31 17:15 hadoop-2.6.0
drwxr-xr-x. 15 hadoop hadoop
4096 Nov 14
2014 hadoop-2.6.0-src
drwxrwxr-x.
8 hadoop hadoop
2 18:20 hbase-1.2.3
drwxr-xr-x.
8 hadoop hadoop
4096 Apr 11
2015 jdk1.7.0_79
drwxrwxr-x. 11 hadoop hadoop
4 23:24 kibana-4.6.3-linux-x86_64
-rw-r--r--.
1 hadoop hadoop
Mar 24 23:34 kibana-4.6.3-linux-x86_64.tar.gz
drwxrwxr-x.
9 hadoop hadoop
4096 Feb 25 19:18 tomcat-7.0.73
drwxr-xr-x. 10 hadoop hadoop
1 23:39 zookeeper-3.4.6
[hadoop@HadoopMaster app]$ rm kibana-4.6.3-linux-x86_64.tar.gz
[hadoop@HadoopMaster app]$ ll
total 3100
drwxrwxr-x.
9 hadoop hadoop
4096 Feb 22 06:05 elasticsearch-2.4.3
-rw-r--r--.
1 hadoop hadoop
908862 Jan 10 11:38 elasticsearch-head-master.zip
-rw-r--r--.
1 hadoop hadoop 2228252 Jan 10 11:38 elasticsearch-kopf-master.zip
drwxr-xr-x. 10 hadoop hadoop
4096 Oct 31 17:15 hadoop-2.6.0
drwxr-xr-x. 15 hadoop hadoop
4096 Nov 14
2014 hadoop-2.6.0-src
drwxrwxr-x.
8 hadoop hadoop
2 18:20 hbase-1.2.3
drwxr-xr-x.
8 hadoop hadoop
4096 Apr 11
2015 jdk1.7.0_79
drwxrwxr-x. 11 hadoop hadoop
4 23:24 kibana-4.6.3-linux-x86_64
drwxrwxr-x.
9 hadoop hadoop
4096 Feb 25 19:18 tomcat-7.0.73
drwxr-xr-x. 10 hadoop hadoop
1 23:39 zookeeper-3.4.6
[hadoop@HadoopMaster app]$
第四步:认识目录结构并,修改kibana.yml配置文件
[hadoop@HadoopMaster kibana-4.6.3-linux-x86_64]$ pwd
/home/hadoop/app/kibana-4.6.3-linux-x86_64
[hadoop@HadoopMaster kibana-4.6.3-linux-x86_64]$ ll
drwxrwxr-x.
2 hadoop hadoop 4096 Nov
4 23:24 bin
drwxrwxr-x.
2 hadoop hadoop 4096 Nov
4 23:24 config
drwxrwxr-x.
2 hadoop hadoop 4096 Nov
4 23:24 data
drwxrwxr-x.
2 hadoop hadoop 4096 Nov
4 23:24 installedPlugins
-rw-rw-r--.
1 hadoop hadoop
4 23:24 LICENSE.txt
drwxrwxr-x.
6 hadoop hadoop 4096 Nov
4 23:24 node
drwxrwxr-x. 83 hadoop hadoop 4096 Nov
4 23:24 node_modules
drwxrwxr-x.
3 hadoop hadoop 4096 Nov
4 23:24 optimize
-rw-rw-r--.
1 hadoop hadoop
4 23:24 package.json
-rw-rw-r--.
1 hadoop hadoop 2322 Nov
4 23:24 README.txt
drwxrwxr-x.
8 hadoop hadoop 4096 Nov
4 23:24 src
drwxrwxr-x.
2 hadoop hadoop 4096 Nov
4 23:24 webpackShims
[hadoop@HadoopMaster kibana-4.6.3-linux-x86_64]$ cd config/
[hadoop@HadoopMaster config]$ ll
-rw-rw-r--. 1 hadoop hadoop 3200 Nov
4 23:24 kibana.yml
[hadoop@HadoopMaster config]$ vim kibana.yml
&  更多,请见
&  很多其实,我们不需改,只是Kibana需要与ElasticSearch结合,需要更改如下地方:
&  最后得到,
server.host: "192.168.80.10"
    server.port: 5601elasticsearch.url: "http://192.168.80.10:9200"kibana.index: ".kibana"对于server.host,最好别0.0.0.0,不安全。不建议
第五步:在Kibana里,安装marvel插件
[hadoop@HadoopMaster kibana-4.6.3-linux-x86_64]$ bin/kibana plugin --install elasticsearch/marvel/latest
&  在这里,需要一段较长时间,如果在线安装不了的话,就选择离线方式来安装吧。
  在这一步,我遇到了如下问题。
&  具体怎么做,请见
&  的问题九。
&  说明的是,每次最新稳定版本,是变化的。所以若用离线来安装的话,则先复制那个网址下载就好。
  查看Kibana里是否安装marverl插件成功!
[hadoop@HadoopMaster kibana-4.6.3-linux-x86_64]$ pwd
/home/hadoop/app/kibana-4.6.3-linux-x86_64
[hadoop@HadoopMaster kibana-4.6.3-linux-x86_64]$ ll
drwxrwxr-x.
2 hadoop hadoop 4096 Nov
4 23:24 bin
drwxrwxr-x.
2 hadoop hadoop 4096 Mar 25 07:55 config
drwxrwxr-x.
2 hadoop hadoop 4096 Nov
4 23:24 data
drwxrwxr-x.
3 hadoop hadoop 4096 Mar 25 18:49 installedPlugins
-rw-rw-r--.
1 hadoop hadoop
4 23:24 LICENSE.txt
drwxrwxr-x.
6 hadoop hadoop 4096 Nov
4 23:24 node
drwxrwxr-x. 83 hadoop hadoop 4096 Nov
4 23:24 node_modules
drwxrwxr-x.
3 hadoop hadoop 4096 Nov
4 23:24 optimize
-rw-rw-r--.
1 hadoop hadoop
4 23:24 package.json
-rw-rw-r--.
1 hadoop hadoop 2322 Nov
4 23:24 README.txt
drwxrwxr-x.
8 hadoop hadoop 4096 Nov
4 23:24 src
drwxrwxr-x.
2 hadoop hadoop 4096 Nov
4 23:24 webpackShims
[hadoop@HadoopMaster kibana-4.6.3-linux-x86_64]$ cd installedPlugins/
[hadoop@HadoopMaster installedPlugins]$ ll
drwxrwxr-x. 6 hadoop hadoop 4096 Mar 25 18:49 marvel
[hadoop@HadoopMaster installedPlugins]$ cd marvel/
[hadoop@HadoopMaster marvel]$ ll
-rw-rw-r--.
1 hadoop hadoop
2366 Dec 21 10:26 index.js
-rw-rw-r--.
1 hadoop hadoop 43681 Dec 21 10:26 LICENSE.txt
drwxrwxr-x. 486 hadoop hadoop 20480 Mar 25 18:48 node_modules
-rw-rw-r--.
1 hadoop hadoop
150 Dec 21 10:26 NOTICE.txt
-rw-rw-r--.
1 hadoop hadoop
6 07:41 package.json
drwxrwxr-x.
8 hadoop hadoop
4096 Mar 25 18:48 public
drwxrwxr-x.
4 hadoop hadoop
4096 Mar 25 18:48 server
drwxrwxr-x.
2 hadoop hadoop
4096 Mar 25 18:48 webpackShims
[hadoop@HadoopMaster marvel]$
第六步:启动Kibana
  在启动之前,先启动Elasticsearch,请移步
[hadoop@HadoopMaster elasticsearch-2.4.3]$ pwd
/home/hadoop/app/elasticsearch-2.4.3
[hadoop@HadoopMaster elasticsearch-2.4.3]$ jps
[hadoop@HadoopMaster elasticsearch-2.4.3]$ bin/elasticsearch -d
[hadoop@HadoopMaster elasticsearch-2.4.3]$ jps
2104 Elasticsearch
[hadoop@HadoopMaster elasticsearch-2.4.3]$
 其实啊,或者通过es的这种后台来启动也是可以的。
  这里,我们可以使用bin/elasticsearch -help来查知怎么使用。
bin/elasticsearch
-p /home/hadoop/data/elasticsearch-2.4.3/pid
[hadoop@HadoopSlave1 elasticsearch-2.4.3]$ jps
[hadoop@HadoopSlave1 elasticsearch-2.4.3]$ bin/elasticsearch -d
[hadoop@HadoopSlave1 elasticsearch-2.4.3]$ jps
1921 Elasticsearch
[hadoop@HadoopSlave1 elasticsearch-2.4.3]$
 其实啊,或者通过es的这种后台来启动也是可以的。
  这里,我们可以使用bin/elasticsearch -help来查知怎么使用。
bin/elasticsearch
-p /home/hadoop/data/elasticsearch-2.4.3/pid
[hadoop@HadoopSlave2 elasticsearch-2.4.3]$ pwd
/home/hadoop/app/elasticsearch-2.4.3
[hadoop@HadoopSlave2 elasticsearch-2.4.3]$ jps
[hadoop@HadoopSlave2 elasticsearch-2.4.3]$ bin/elasticsearch -d
[hadoop@HadoopSlave2 elasticsearch-2.4.3]$ jps
1929 Elasticsearch
[hadoop@HadoopSlave2 elasticsearch-2.4.3]$
 其实啊,或者通过es的这种后台来启动也是可以的。
  这里,我们可以使用bin/elasticsearch -help来查知怎么使用。
bin/elasticsearch
-p /home/hadoop/data/elasticsearch-2.4.3/pid
&  Kibana 启动
1.前台启动
  bin/kibana
2.后台启动
  nohup /home/ybxiang/kibana/kibana-4.5.1-linux-x64/bin/kibana & exit
&  为了更好的演示给大家,我这另开一窗口,来特意启动Kibana进程。
  启动kibana时一直卡在[listening] Server running at http://0.0.0.0:5601,界面打开什么都没有,出现
No Marvel Data Found (marvel error)?
[error][status][plugin:elasticsearch@1.0.0] Status changed from red to red - Service Unavailable?
[error][status][plugin:elasticsearch@1.0.0] Status changed from red to red - Elasticsearch is still initializing the kibana index.
&  解决办法,请移步
  的问题十。
  然后,得到:
  更详细的,一般在Kibana里安装插件marverl,之后的浏览界面,如下:
  因为之前啊,我们搭建过Logstash,所以。可以直接用了。这里很简单,不多赘述。
  继续更新!
阅读(...) 评论()一、Elasticsearch,Kibana简介:
Elasticsearch是一个基于Apache&Lucene(TM)的开源搜索引擎。无论在开源还是专有领域, Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。&Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的 RESTful API 来隐藏Lucene的复杂性,从而让全文搜索变得简单。
Elasticsearch支持分布式的实时文件存储以及实时分析搜索,具有高度的可扩展性可扩展至上百台服务器,能够处理PB级的结构化和非结构化数据。
Elasticsearch同时也为各种语言调用提供了接口(Curl,JavaC#,Python,JavaScript&PHP,Perl,Ruby),包括hadoop,spark都可以做对接。
Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看、交互存放在Elasticsearch索引里的数据,使用各种不同的图表、表格、地图等kibana能够很轻易地展示高级数据分析与可视化。Kibana让我们理解大量数据变得很容易。它简单、基于浏览器的接口使你能快速创建和分享实时展现Elasticsearch查询变化的动态仪表盘。
二、Elasticsearch,Kibana的安装使用:
1、环境准备:
安装环境:centos6.5,Jdk1.8,Elasticsearch5.3.1,Kibana5.3.1
下载地址:可下载ES和Kibana。
安装虚拟机centos6.5。
安装JDK1.8:解压缩包-》配环境变量。
tar &zxvf jdk-8u121-linux-x64.tar.gz
mv jdk1.8.0_121
sudo vim /etc/profile
export JAVA_HOME=/home/rzxes/java
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
2、默认配置安装Elasticsearch5.3.1,Kibana5.3.1:
EK安装非常简单,开箱即用,如果只是简单的使用,无需配置,解压两个压缩包之后可直接启动。(默认ES访问:localhost:9200,Kibana访问:localhost:5601,这种配置在虚拟机外无法通过IP访问)kibana启动之后会默认的去连接localhost:9200。
[rzxes@rzxes ~]$ ls
elasticsearch-5.3.1
[rzxes@rzxes ~]$ elasticsearch-5.3.1/bin/elasticsearch
[rzxes@rzxes ~]$ kibana/bin/kibana
//启动kibana
3、编辑配置安装EK(单机单节点):
编辑ES配置文件:&[rzxes@rzxes ~]$ vim elasticsearch-5.3.1/config/elasticsearch.yml&修改如下两个即可http.port可改。
network.host:本机IP
#也有配置为 0.0.0.0 表示任何一个IP都可以访问到。这种方式在本机可以,但是外部访问的话可能会有问题。
http.port: 9200
编辑Kibana配置:&[rzxes@rzxes ~]$ vim kibana/config/kibana.yml
server.port: 5601
server.host: "本机IP"
elasticsearch.url: "http://本机IP:9200"
[rzxes@rzxes ~]$ elasticsearch-5.3.1/bin/elasticsearch
[rzxes@rzxes ~]$ kibana/bin/kibana
//启动kibana
访问端口:&[rzxes@rzxes elasticsearch-5.3.1]$ curl -XGET http://192.168.230.150:9200/&结果如下则成功。
"name" : "node-1",
"cluster_name" : "es",
"cluster_uuid" : "bbCPwel7Tn-1cip2rsFWRQ",
"version" : {
"number" : "5.3.1",
"build_hash" : "5f9cf58",
"build_date" : "T15:52:53.846Z",
"build_snapshot" : false,
"lucene_version" : "6.4.2"
"tagline" : "You Know, for Search"
浏览器访问9200:http://192.168.230.150:9200可得到上一步同样结果。
浏览器访问5601:http://192.168.230.150:5601.第一次Kibana会进入创建索引的界面,这里创建名为*的索引匹配数据(由于开始没有数据)。(取消掉所有打钩的地方)点击Create成功会显示在左侧。可以看到所有的功能组件。
4、Es-head插件的安装使用:
  &Es-head是一个界面化的集群操作和管理工具 ,可以和ES集成,也可以作为单独的一个app,通过界面可以清楚的看到集群的索引,分片,节点的分布,以及进行各种查询操作。
安装node.js:下载编译好的包,解压,配置环境变量
sudo vim /etc/profile
#末尾node添加环境变量
export PATH=/home/rzxes/node/bin:$PATH
保存退出,使其立即生效:&source /etc/profile
在node包的bin目录下有两个脚本:node和npm,查看是否配置成功:&npm -version&,&node -v&&显示版本号则成功
进入ES安装目录,获取ES-head安装包:& git clone git:///mobz/elasticsearch-head.git
配置Es-head:&
编辑Gruntfile.js:&[rzxes@rzxes elasticsearch-head]$ vim Gruntfile.js&
修改监听hostname为:*
connect: {
options: {
port: 9100,
hostname: '*',
base: '.',
keepalive: true
修改head的连接地址localhost换为本机IP:&[rzxes@rzxes elasticsearch-head]$ vim _site/app.js &
找到init function(options){&this._super();&}:&this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://IP:9200";&localhost换成ip####不过我这里原本并没有这一行,是自己直接添加上的,后面再搭建集群的时候把这一句注释掉了也并没有出现问题。
进入Es-head目录:执行以下命令:[grunt是一个很方便的构建工具,可以进行打包压缩、测试、执行等等的工作,5.x里的head插件就是通过grunt启动的。因此需要安装一下grunt]
npm install grunt
npm install -g grunt-cli
npm install
每一步执行成功进行下一步,[可能存在以下资源配置不了,是由于网络问题(可以连VPN,或者用天猫镜像)]若出现以下问题:
error: Failed at the phantomjs-prebuilt@2.1.14 install script &node install.js&
解决方法:&npm install phantomjs-prebuilt@2.1.14 --ignore-scripts
若以上nmp install 成功,则直接用&grunt server&启动服务(es要先启动),如下则成功:
[rzxes@rzxes elasticsearch-head]$ grunt server
Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://localhost:9100
访问:http://ip:9100/ &可以看到如下节点则说明成功。
到此单机版EK安装完毕。
三、Elasticsearch,Kibana安装中的异常解决:
1、[ WARN]:seccomp&unavailable:requires&kernel&3.5+&with&CONFIG_SECCOMP&and&CONFIG_SECCOMP_FILTER&compiled&in。
警告内核版本太低!,忽略警告。
2、[ERROR]:max number of threads [1024] for user [rzxes] is too low, increase to at least [2048]。
sudo vim /etc/security/limits.d/90-nproc.conf&把1024改成2048。
3、[ERROR]:max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]。
Sudo vim /etc/security/limits.conf&,末尾添加如下两行:
* hard nofile 65536
* soft nofile 65536
查看:&ulimit -Hn&结果是65536则修改成功。&
4、[ERROR]:system call filte check the logs and fix your configuration or disable system call filters at your own risk。
vim config/elasticsearch.yml&添加如下:
bootstrap.system_call_filter: false
5、[ERROR]:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]。
修改/etc/sysctl.conf&sudo vim /etc/sysctl.conf&,最后添加:&vm.max_map_count=262144&。
使用&sysctl -p&查看修改后的结果。
四、Elasticsearch,Kibana分布式安装:
ES的分布式和Kibana没什么关系哦,分布式数据分散在各个节点以分片和副本保证安全容灾,Kibana并不参与,仍旧只是做可视化。ES的分布式搭建也非常简单,没有什么复杂的配置,我们只需要将以上单机部署的虚拟机进行克隆分别命名为rzxesn2,rzxesn3。然后稍加配置即可。
1、基本环境配置:
虚拟机rzxes克隆(完全克隆)出rzxesn2,rzxesn3,并打开虚拟机。
修改hostname:因为克隆后用户名密码hostname完全相同,但是IP不同,所以需要修改hostname将其区分开。修改后如下:
--------------------------------------------
192.168.230.150
192.168.230.151
192.168.230.152
修改配置文件:主要是三点:集群名相同,端口号不同,节点名不同。配置如下:红色标记为不同之处。
rzxes配置:&[rzxes@rzxes elasticsearch-5.3.1]$ vim config/elasticsearch.yml&详细如下:
#集群名必须统一,否则是不能组成集群的cluster.name: es
#节点名需不同
node.name: node-1# IP换成各自本机IP,三个端口号需要修改成不同
network.host: 192.168.230.150
http.port: 9200
#主机请求列表[集群节点自动发现和Master选举的配置],discovery.zen.ping.unicast.hosts: ["192.168.230.150", "192.168.230.151", "192.168.230.152"]
#这两个路径可以不配,默认es根路径下的data,logs,但是如果单机运行了就需要删除生成的这两个文件夹,否侧会出错,因为启动生成instance的信息会保存,修改配置后再启动出现instance ID不匹配就不能够够形成集群。path.data: /path/to/data
path.logs: /path/to/logs
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
#配置跨域请求允许
http.cors.enabled : true
http.cors.allow-origin: "*"
rzxesn2配置:&[rzxes@rzxesn2 elasticsearch-5.3.1]$ vim config/elasticsearch.yml&详细如下:
cluster.name: es
#节点名需不同
node.name: node-2
# IP换成各自本机IP,三个端口号需要修改成不同
network.host: 192.168.230.151
http.port: 9202
discovery.zen.ping.unicast.hosts: ["192.168.230.150", "192.168.230.151", "192.168.230.152"]
path.data: /path/to/data
path.logs: /path/to/logs
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled : true
http.cors.allow-origin: "*"
rzxesn3配置:&[rzxes@rzxesn3 elasticsearch-5.3.1]$ vim config/elasticsearch.yml&详细如下:
cluster.name: es
#节点名需不同
node.name: node-3
# IP换成各自本机IP,三个端口号需要修改成不同
network.host: 192.168.230.152
http.port: 9203
discovery.zen.ping.unicast.hosts: ["192.168.230.150", "192.168.230.151", "192.168.230.152"]
path.data: /path/to/data
path.logs: /path/to/logs
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled : true
http.cors.allow-origin: "*"
2、分布式启动:
分别启动三个ES:&bin/elasticsearch&。正常起动会共同推举一个节点做Master。详情如下:
node-1最先启动,当node-2启动,node-1 added (node-2)到集群,
node-2推举master为node-1
node-3推举master为node-1
启动es-head,查看集群状况:&[rzxes@rzxes elasticsearch-head]$ grunt server&结果如下:(如下是再导入数据之后,后面会详细写)
访问9100端口:
如此,分布式就搭建完成了,这里默认的是5个分片(0,1,2,3,4)一个副本。
3、分布式搭建可能遇到的问题:
[ERROR]:with the same id but is a different node instance & &
 解决:删除data,logs目录(所有节点都要删除)重新启动。(这也是我在前面配置文件中提到的Cluster ID不同造成的问题)
1、所有复制粘贴的空格重新敲一遍,配置的冒号&:&后面必须跟空格,一旦提示找不到":"则说明是空格有问题。
2、Es不能以root启动,需要创建自己的用户:[因为我是直接在用户目录下操作的,不存在这种问题,所以放在后面写给用root角色启动的用户]
# 创建用户名为 rzxes的用户
useradd rzxes -p
# 设置 rzxes 用户的密码
passwd 123456
# 将es目录的拥有者设置为 es
chown -R rzxes:rzxes /home/rzxes/elasticsearch-5.3.1
阅读(...) 评论()}

我要回帖

更多关于 elasticsearch kibana 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信