最近在华为云上购买了云搜索服务,基于Elasticsearch。官方提供了键访问kibana功能,但需要先登录华为云控制台,流程比较麻烦,所以考虑在本地建一个kibana直接连接。
本来以为很容易的事情,却折腾了半天。主要是开始没有明白华为的是Open Distro for Elasticsearch,需要使用对应的客户端,opendistroforelasticsearch-kibana。 官方文档见:https://opendistro.github.io/for-elasticsearch-docs
.
环境:华为云搜索服务对应的6.5.4版本,开启了安全模式
1:下载对应的kibana版本。华为云搜索服务对应的6.5.4版本,需要使用对应的0.7.1版本。
2:在华为云控制台下载对应集群的证书。
3:安装 。可以按官方文档yum安装,https://opendistro.github.io/for-elasticsearch-docs/docs/kibana/但下载比较慢。0.7.1可以直接在云盘下载后安装。 https://pan.baidu.com/s/1rKqJ4qpldvsjLRUbAb8zbQ 提取码: xb8q
rpm -ivh opendistroforelasticsearch-kibana-0.7.1.rpm
4:配置文件示例
[root@test ~]# less /etc/kibana/kibana.yml
#server.ssl.enabled: false
#server.ssl.certificate: /opt/cloud/kibana/config/cert/esnode.pem
#server.ssl.key: /opt/cloud/kibana/config/cert/esnode.key
#server.ssl.certificateAuthorities: "/opt/cloud/kibana/config/cert/mrd-root-ca.pem"
#server.name: kibana
server.host: "0"
server.port: "8002"
elasticsearch.url: "https://xx.xx.xx:9200"
elasticsearch.requestTimeout: 360000
elasticsearch.username: "kibanaserver"
elasticsearch.password: "xxxxxx"
elasticsearch.requestHeadersWhitelist: ["securitytenant","Authorization"]
opendistro_security.multitenancy.enabled: true
opendistro_security.multitenancy.tenants.enable_global: true
opendistro_security.multitenancy.tenants.enable_private: true
opendistro_security.multitenancy.tenants.preferred: ["Private", "Global"]
opendistro_security.multitenancy.enable_filter: false
elasticsearch.ssl.certificateAuthorities: "/opt/cloud/CloudSearchService.cer" ###此处是下载的证书路径,
elasticsearch.ssl.verificationMode: none
elasticsearch.ssl.alwaysPresentCertificate: true
#elasticsearch.ssl.certificate: /opt/cloud/kibana/config/cert/client.pem
#elasticsearch.ssl.key: /opt/cloud/kibana/config/cert/client.key
opendistro_security.allow_client_certificates: true
logging.dest: /var/log/kb.log
kibana.index: .kibana
5:启动kibana,即可正常访问了。。
注意事项:
kibana默认以kibana用户启动,需要注意日志和证书的访问权限。