草庐IT

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

赵延东的一亩三分地 2023-07-20 原文

文章目录


前言

博主所在单位使用的大数据集群为华为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。

有关【大数据开发运维解决方案】华为FusionInsight大数据Kibana对接安全模式Elasticsearch方案的更多相关文章

  1. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  2. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

  3. ruby - 在 jRuby 中使用 'fork' 生成进程的替代方案? - 2

    在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',

  4. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  5. ruby - Ruby 有 `Pair` 数据类型吗? - 2

    有时我需要处理键/值数据。我不喜欢使用数组,因为它们在大小上没有限制(很容易不小心添加超过2个项目,而且您最终需要稍后验证大小)。此外,0和1的索引变成了魔数(MagicNumber),并且在传达含义方面做得很差(“当我说0时,我的意思是head...”)。散列也不合适,因为可能会不小心添加额外的条目。我写了下面的类来解决这个问题:classPairattr_accessor:head,:taildefinitialize(h,t)@head,@tail=h,tendend它工作得很好并且解决了问题,但我很想知道:Ruby标准库是否已经带有这样一个类? 最佳

  6. ruby - 是否可以覆盖 gemfile 进行本地开发? - 2

    我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI

  7. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

  8. ruby-on-rails - 在 Rails 开发环境中为 .ogv 文件设置 Mime 类型 - 2

    我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain

  9. ruby - 我如何添加二进制数据来遏制 POST - 2

    我正在尝试使用Curbgem执行以下POST以解析云curl-XPOST\-H"X-Parse-Application-Id:PARSE_APP_ID"\-H"X-Parse-REST-API-Key:PARSE_API_KEY"\-H"Content-Type:image/jpeg"\--data-binary'@myPicture.jpg'\https://api.parse.com/1/files/pic.jpg用这个:curl=Curl::Easy.new("https://api.parse.com/1/files/lion.jpg")curl.multipart_form_

  10. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

随机推荐