zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

【大数据开发运维解决方案】华为FusionInsight大数据Kibana对接安全模式Elasticsearch方案

2023-09-14 09:16:30 时间


前言

博主所在单位使用的大数据集群为华为FusionInsight,本篇文章主要介绍的是如何将开源Kibana对接到华为安全模式下Elasticsearch。同样,本篇文章适用其他版本Kibana对接安全模式Elasticsearch。


Elasticsearch对接Kibana

注意事项:所有配置项:后边必须有个空格。

一、操作场景

Kibana提供了图形化操作界面,通过可视化界面对Elasticsearch进行索引构建、查询、分析等操作。

二、前提条件

已下载安装Kibana。

下载Kibana安装包“kibana-oss-6.7.1-linux-x86_64.tar.gz”并上传至待安装节点,例如“/opt”目录下。
开源社区下载地址:点我下载

解压安装包,并进入对应解压目录。

cd /opt

tar -zxvf kibana-oss-6.7.1-linux-x86_64.tar.gz

cd kibana-6.7.1-linux-x86_64/

说明:

  • 使用Dev Tools功能的用户,需要在elasticsearch组内。
  • 使用其他功能的用户,需要在supergroup组内。

三、操作步骤

1、确认当前系统为X86服务器还是TaiShan服务器

TaiShan,执行步骤 2。
X86,执行步骤 3。

2.(taishan服务器执行,x86不用)下载node-v10.15.2-linux-arm64.tar.gz

node下载地址:点我下载
解压后替换kibana-6.7.1-linux-x86_64下的node。

tar -zxvf node-v10.15.2-linux-arm64.tar.gz -C /opt

rm -rf /opt/kibana-6.7.1-linux-x86_64/node/*

mv /opt/node-v10.15.2-linux-arm64/* /opt/kibana-6.7.1-linux-x86_64/node/

3.x86服务器执行

修改“config/kibana.yml”配置,示例如下。

#Kibana在Elasticsearch中使用的索引名称。
#若需要启动多个Kibana,请确保不同用户的该配置项内容不重复。
kibana.index: ".kibana"
#Kibana服务端口。
server.port: 5601
#当前节点ip,默认localhost。
server.host: "192.168.56.11"
#需要访问的Elasticsearch节点IP及端口号,建议配置EsNode1实例的IP和端口号。普通模式下,请将https修改为http。
elasticsearch.hosts: ["https://192.168.56.11:24100"] 
#直接填写none即可。
elasticsearch.ssl.verificationMode: none
#修改xxxxxx为“用户名:密码”的base64转码结果;普通模式不需要此项配置。
elasticsearch.customHeaders: {"custom-proxy-username":"xxxxxx"}
#Kibana日志目录,根据实际场景自定义即可,请提前手动创建该文件。
logging.dest: /opt/kibana-6.7.1-linux-x86_64/log/kibana.log
#Kibana健康检查周期,请根据实际使用场景合理填写,单位ms。
elasticsearch.healthCheck.delay: 60000

说明:

  • elasticsearch.hosts禁止配置EsMaster节点的IP和Port。EsMaster实例为重要的管理进程,为确保Elasticsearch集群稳定性,不允许配置EsMaster节点IP和Port。
  • 因部分java库仍遵循RFC的Base64规定,在进行加密时会增加换行符,请保证elasticsearch.customHeaders配置项中的信息无换行符。
  • 可下载Elasticsearch客户端,导入RestClient二次开发样例,使用com.huawei.fusioninsight.elasticsearch.example.util.Base64Utils工具类进行Base64加密。
  • 请确保Base64转码结果在填写时,只替换“xxxxxx”部分。
  • 例如,当前用户名为test,密码为123,“test:123”转base64后为“dGVzdDoxMjM=”,则配置项填写为:elasticsearch.customHeaders: {"custom-proxy-username":"dGVzdDoxMjM="}

4、启动Kibana

./bin/kibana

说明:

  • 如需后台运行,可执行如下命令启动Kibana:
nohup ./bin/kibana &

查看Kibana日志,确认启动成功后,登录Kibana界面。
在配置的Kibana日志文件中,找到如下类似日志,即表明Kibana已经启动成功,在浏览器输入日志中打印的链接即可,如http://192.168.56.11:5601

{"type":"log","@timestamp":"2019-06-07T07:07:32Z","tags":["status","plugin:elasticsearch@6.7.1","info"],"pid":44252,"state":"green","message":"Status changed from yellow to green - Ready","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"}
{"type":"log","@timestamp":"2019-06-07T07:07:32Z","tags":["listening","info"],"pid":44252,"message":"Server running at http://10.1.1.1:5601"}

说明:

  • create index pattern等操作,Kibana会创建相关索引,默认为".kibana"开头。
  • Kibana会根据健康检查状态进行信息反馈,如果在healthCheck周期内,信息发生变化(例如切换登录用户),可能需要等到下一次healthCheck的反馈结果才会生效;同时,健康检查会发送多个http请求到Elasticsearch,为防止增加Elasticsearch集群的压力,请根据使用场景,合理配置kibana.yml中的健康检查周期,即参数elasticsearch.healthCheck.delay

四、导入Rest Client客户端样例工程

https://support.huawei.com/hedex/hdx.do?lib=EDOC1100094387YZI0715G&docid=EDOC1100094387&lang=zh&v=08&tocLib=EDOC1100094387YZI0715G&tocV=08&id=ZH-CN_TOPIC_0165589276&tocURL=resources%2525252Fzh-cn_topic_0165589276.html&p=t&fe=1&ui=3&keyword=%2525252525u5bfc%2525252525u5165Rest%252525252520Client%2525252525u5ba2%2525252525u6237%2525252525u7aef%2525252525u6837%2525252525u4f8b%2525252525u5de5%2525252525u7a0b

总结

博主所在单位使用的大数据集群为华为FusionInsight,本篇文章主要介绍的是如何将开源Kibana对接到华为安全模式下Elasticsearch。同样,本篇文章适用其他版本Kibana对接安全模式Elasticsearch。