ELK 集群搭建

本片文章记录的大概是18年ELK的搭建过程,现在找个时间记录下来。由于当时业务没有涉及到Logstash组件的应用,下文介绍不包括Logstash的搭建。
1:JDK1.8

基础环境 配置

JDK配置
Java8或更高版本
export JAVA_HOME=/app/bi/public_script/app_data/decrypt_appmsg/java1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
图1

软件包

下载es,kibana,head,node相关安装包
1️. es下载
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.2.tar.gz
2️. kibana下载
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.2-linux-x86_64.tar.gz
3️. node下载
wget https://npm.taobao.org/mirrors/node/latest/node-v10.1.0-linux-x64.tar.gz
4️. head下载
https://github.com/mobz/elasticsearch-head

Elasticsearch配置

1️. elasticsearch.yml
cluster.name: youyu-es-cluster
node.name: es-master
node.master: true
node.data: true
path.data: /home/es/elasticsearch/elasticsearch-data/data/data
path.logs: /home/es/elasticsearch/elasticsearch-data/data/logs
network.host: 192.168.83.90
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content- Length,Content-Type
discovery.zen.ping.unicast.hosts: ["192.168.83.90","192.168.83.91","192.168.83.92"]
discovery.zen.minimum_master_nodes: 2
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
2️. jvm.options
修改JVM相关的配置,内存大小等等
vim /home/es/elasticsearch/elasticsearch-6.2.2/config/jvm.options
-Xms4g
-Xmx4g
图2

node配置

1. node安装包下载:
wget https://npm.taobao.org/mirrors/node/latest/node-v10.1.0-linux-x64.tar.gz

配置环境变量(在es用户下配置的环境) 如图1:

2️. node配置
export NODE_HOME=/app/service/elasticsearch/node/node-v10.1.0-linux-x64
export PATH=$NODE_HOME/bin:$PATH
3️. 使node生效
source ~/.bash_profile
4️. 查看node是否安装成功
node -v
npm -v

head配置

1️. ead安装包下载:

下载地址

2️. head安装文档:

文档

注意:安装node需要在root用户下安装

3️. node.js 安装
安装head 前要安装node.js,只需要解压安装配置环境变量就OK
node地址:
1> [https://npm.taobao.org/mirrors/node/](https://npm.taobao.org/mirrors/node/)
2>  wget https://npm.taobao.org/mirrors/node/latest/node-v10.1.0-linux-x64.tar.gz
4️. 启动head需要grunt命令执行:
安装grunt需要进入head目录下安装,root用户下安装
sudo npm install -g grunt-cli
5️. 在head的目录下面执行,安装head 需要grunt命令启动
npm install grunt --save-dev
npm install 
6️. 修改Gruntfile.js文件,增加hostname属性,设置为*

修改 vim _site/app.js 文件:修改head的连接地址

注意:head访问要加上用户名和密码

kibana配置

server.port: 5601
server.host: "0.0.0.0"
elasticsearch.url: "http://192.168.83.90:9200"
注意kibana.yml解决启动警告的现象
xpack.reporting.encryptionKey: "a_random_string"
xpack.security.encryptionKey: "something_at_least_32_characters"
解决启动请求es超时的现象
elasticsearch.requestTimeout: 50000
遇到问题相关文档问题

相关文档1☞
相关文档2☞

解决6.2版本权限认证问题

相关文档

创建用户
bin/x-pack/users useradd admin -p 123456 -r superuser
elasticsearch忘记用户名密码,重置三步走:
1️⃣创建超级用户admin 密码123456
> bin/x-pack/users useradd admin -p 123456 -r superuser

2️⃣用超级用户给elastic创建密码
curl -u admin -XPUT 'http://192.168.83.91:9200/_xpack/security/user/elastic/_password?pretty' -H 'Content-Type: application/json' -d' { "password" : "123456" }'

3️⃣验证
curl -u elastic 'http://192.168.83.92:9200/_xpack/security/_authenticate?pretty'

注意

线上环境各个节点的es的用户名 密码都是elastic:123456
http://192.168.83.91:9100/?auth_user=elastic&auth_password=123456

破解x-pack证书

参考博客☞
将elasticsearch 6.2.2安装包的/plugins/x-pack/x-pack-core/x-pack-core-6.2.2.jar 这个x-pack-core-6.2.2.jar进行解压

1️. 重新编译XPackBuild和LicenseVerifier文件
  • 将博客相应内容拷贝到下面的文件中
    vim XPackBuild.java
    
  • 编译XPackBuild.java
    javac -cp "/app/service/elasticsearch/elastic/elasticsearch-6.2.2/lib/elasticsearch-6.2.2.jar:/app/service/elasticsearch/elastic/elasticsearch-6.2.2/lib/lucene-core-7.2.1.jar:/app/service/elasticsearch/elastic/elasticsearch-6.2.2/lib/elasticsearch-core-6.2.2.jar:app/service/elasticsearch/elastic/elasticsearch-6.2.2/plugins/x-pack/x-pack-core/x-pack-core-6.2.2.jar" XPackBuild.java
    
  • 将博客相应内容拷贝到下面的文件中
    vim LicenseVerifier.java
    
  • 编译LicenseVerifier.java
    javac -cp "/app/service/elasticsearch/elastic/elasticsearch-6.2.2/lib/elasticsearch-6.2.2.jar:/app/service/elasticsearch/elastic/elasticsearch-6.2.2/lib/lucene-core-7.2.1.jar:/app/service/elasticsearch/elastic/elasticsearch-6.2.2/plugins/x-pack/x-pack-core/x-pack-core-6.2.2.jar" LicenseVerifier.java
    
2️. 创建一个临时文件夹mytest解压jar
  • 解压
    jar -xvf x-pack-core-6.2.2.jar
    
  • 解压后删除
    rm -rf x-pack-core-6.2.2.jar
    
  • 将原先包内的老.class文件用新的替换掉
    XPackBuild.class路径:/app/service/elasticsearch/elastic/mytest/org/elasticsearch/xpack/core
    mv XPackBuild.class /app/service/elasticsearch/elastic/mytest/org/elasticsearch/xpack/core/.
    
    LicenseVerifier.class路径:/app/service/elasticsearch/elastic/mytest/org/elasticsearch/license
    mv LicenseVerifier.class /app/service/elasticsearch/elastic/mytest/org/elasticsearch/license/.
    
3️. 重新打包x-pack-core-6.2.2.jar
jar -cvf x-pack-core-6.2.2.jar ./*
4️. 将新打的x-pack-core-6.2.2.jar包,拷贝到其他节点的es中相应的位置
  • 拷贝到91节点:
    scp /app/service/elasticsearch/elastic/elasticsearch-6.2.2/plugins/x-pack/x-pack-core/x-pack-core-6.2.2.jar es@192.168.83.91:/app/service/elasticsearch/elastic/elasticsearch-6.2.2/plugins/x-pack/x-pack-core/.
    
  • 拷贝到92节点:
    scp /app/service/elasticsearch/elastic/elasticsearch-6.2.2/plugins/x-pack/x-pack-core/x-pack-core-6.2.2.jar es@192.168.83.92:/app/service/elasticsearch/elastic/elasticsearch-6.2.2/plugins/x-pack/x-pack-core/.
    
  • 激活x-pack:
    curl -XPUT -u admin:123456 'http://192.168.83.90:9200/_xpack/license?acknowledge=true' -H "Content-Type: application/json" -d @license.json
    

安全认证

注意:在es和x-pack安装完成启动正常的前提下,需要使用者继续按照如下操作进行

第一步:在es集群的每个节点的配置文件elasticsearch.yml中添加下面配置使得x-pack认证机制生效
xpack.security.audit.enabled: true
第二步:开启 xpack的 安全机制。 需要在 kibana.yml中同样加入
xpack.security.enabled: true
xpack.graph.enabled: true
xpack.watcher.enabled: true
xpack.monitoring.enabled: true
第三步:因为我们导入的不是试用版的license 所以如果我们要开启安全验证 必须要配置集群内部通讯的TLS/SSL,实现过程如下:
1️. 为es集群的每个节点创建证书颁发机构,执行bin/x-pack/certutil ca 会产生一个文件elastic-stack-ca.p12,默认的名称是elastic-stack-ca.p12,也可以自己指定,执行的过程中,需要的密码为:es123456
bin/x-pack/certutil ca
2️. 为集群中的每个节点生成证书和私钥,执行下面命令,会生成一个elastic-certificates.p12,在生成的过程中需要输入生成的文件名和需要的密码,密码为:es123456
  bin/x-pack/certutil cert --ca elastic-stack-ca.p12
3️. 在config目录下面创建一个文件夹certs,将生成的elastic-certificates.p12拷贝进去,并且要将步骤2️⃣产生的证书要拷贝到其他节点的相应位置上;
4️. 启用TLS并指定访问节点证书所需的信息,下面的配置在所有节点的elasticsearch.yml下都要加上
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12
5️. 如果使用密码保护节点的证书,将密码添加到elasticsearch秘钥库;密码为:es123456
bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password

bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password
6️. 最后可以初始化es kibana logstach的密码,执行如下命令:
./bin/x-pack/setup-passwords interactive(6.2版本)

./bin/elasticsearch-setup-passwords interactive(6.3版本)

注意执行上面的命令后,数据相关组件的密码后,记住es的密码和用户名,因为这个账号和密码需要配置到kibana文件中去

安全验证相关文章

相关文章1☞
相关文章2☞

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容