Elastic.stack集群部署课程五·Kibana

Elastic stack 是指由Elasticsearch、Logstash、Kibana和Kafka、Filebeat组成的日志分析平台,即传统的ELK加上Kafka和Filebeat,可以将系统、网站、应用等日志进行收集、过滤、清洗,然后进行集中存放,最终用于实时检索和分析。

部署Kibana

本文介绍如何部署Kibana。

点击此处访问Kibana下载地址,本文以7.6.2版本为例。

wget https://artifacts.elastic.co/downloads/kibana/kibana-7.6.2-linux-x86_64.tar.gz
tar zxvf kibana-7.6.2-linux-x86_64.tar.gz

配置kibana

修改配置config/kibana.yml

server.port: 5601
server.host: "10.10.200.207"
elasticsearch.hosts: ["http://10.10.200.204:9200","http://10.10.200.205:9200","http://10.10.200.206:9200"]

启动kibana

nohup ./bin/kibana >/dev/null 2>&1 &

访问站点

默认访问方式:http://10.10.200.207:5601/

安全配置

因 Elastic Stack 自带的XPack安全组件是收费的,因此可以采用较方便的加密方式,并通过nginx代理访问。

# 安装http-tools/nginx
yum -y install httpd-tools nginx

# 生成密钥
htpasswd -c /opt/kibana-7.6.2/key/.kibana.pass admin
chmod 644 /opt/kibana-7.6.2/key/.kibana.pass

配置nginx

修改配置/etc/nginx/conf.d/kibana.conf

server {
  listen 80;
  server_name 10.10.200.207;
  location / {
    auth_basic "Kibana";
    auth_basic_user_file /opt/kibana-7.6.2/key/.kibana.pass;
    proxy_pass http://10.10.200.207:5601$request_uri;
  }
}
nginx -s reload

最后,配置系统防火墙禁止访问本机5601端口、开放80端口即可,然后访问Kibana时就会提示输入密码了。

参数说明

Kibana是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和Elasticsearch协作。您可以使用Kibana对Elasticsearch索引中的数据进行搜索、查看、交互操作,利用图表、表格及地图对数据进行多元化的分析和呈现。

Kibana可以使大数据通俗易懂,它很简单,基于浏览器的界面便于您快速创建和分享动态数据仪表板来追踪Elasticsearch的实时数据变化。

参数 说明
server.port Kibana由后端服务器提供服务,该配置指定使用的端口号。
默认值:5601
server.host 指定后端服务器的主机地址。
默认值:localhost
server.basePath 如果启用了代理,指定Kibana的路径,该配置项只影响Kibana生成的 URLs,转发请求到Kibana时代理会移除基础路径值,该配置项不能以斜杠 (/)结尾。
server.maxPayloadBytes 服务器请求的最大负载,单位字节。
默认值:1048576
server.name Kibana实例对外展示的名称。
默认值:HOSTNAME
server.defaultRoute Kibana的默认路径,该配置项可改变Kibana的登录页面。
默认值:/app/kibana
elasticsearch.url 用来处理所有查询的Elasticsearch实例的URL。
默认值:http://localhost:9200
elasticsearch.preserveHost 该设置项的值为true时,Kibana使用server.host设定的主机名,该设置项的值为false时,Kibana使用主机的主机名来连接Kibana实例。
默认值:true
kibana.index Kibana使用Elasticsearch中的索引来存储保存的检索,可视化控件以及仪表板。如果没有索引,Kibana会创建一个新的索引。
默认值:.kibana
kibana.defaultAppId 默认加载的应用。
默认值:discover
tilemap.url Kibana用来在tile地图可视化组件中展示地图服务的URL。默认时,Kibana从外部的元数据服务读取url,用户也可以覆盖该参数,使用自己的tile地图服务。例如:"https://tiles.elastic.co/v2/default/{z}/{x}/{y}.png?elastic_tile_service_tos=agree&my_app_name=kibana"
tilemap.options.minZoom 最小缩放级别。
默认值:1
tilemap.options.maxZoom 最大缩放级别。
默认值:10
tilemap.options.attribution 地图属性字符串。
默认值:"© [Elastic Tile Service](https://www.elastic.co/elastic-tile-service)"
tilemap.options.subdomains 服务使用的二级域名列表,用{s}指定二级域名的URL地址。
elasticsearch.username
elasticsearch.password
Elasticsearch设置了基本的权限认证,该配置项提供了用户名和密码,用于Kibana启动时维护索引。Kibana用户仍需要Elasticsearch由Kibana服务端代理的认证。
server.ssl.enabled 对到浏览器端的请求启用SSL,设为true时,server.ssl.certificate和server.ssl.key也要设置。
默认值:false
server.ssl.certificate
server.ssl.key
PEM格式SSL证书和SSL密钥文件的路径。
server.ssl.keyPassphrase 解密私钥的口令,该设置项可选,因为密钥可能没有加密。
server.ssl.certificateAuthorities 可信任PEM编码的证书文件路径列表。
server.ssl.supportedProtocols 版本支持的协议,有效的协议类型:TLSv1、TLSv1.1、TLSv1.2。
默认值:TLSv1、TLSv1.1、TLSv1.2
server.ssl.cipherSuites 具体格式和有效参数可通过[OpenSSL cipher list format documentation](https://www.openssl.org/docs/man1.0.2/apps/ciphers.html#CIPHER-LIST-FORMAT) 获得。
默认值:ECDHE-RSA-AES128-GCM-SHA256, ECDHE-ECDSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-ECDSA-AES256-GCM-SHA384, DHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES128-SHA256, DHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, DHE-RSA-AES256-SHA384, ECDHE-RSA-AES256-SHA256, DHE-RSA-AES256-SHA256, HIGH,!aNULL, !eNULL, !EXPORT, !DES, !RC4, !MD5, !PSK, !SRP, !CAMELLIA.
elasticsearch.ssl.certificate
elasticsearch.ssl.key
可选配置项,提供PEM格式SSL证书和密钥文件的路径。这些文件确保Elasticsearch后端使用同样的密钥文件。
elasticsearch.ssl.keyPassphrase 解密私钥的口令,该设置项可选,因为密钥可能没有加密。
elasticsearch.ssl.certificateAuthorities 指定用于Elasticsearch实例的PEM证书文件路径。
elasticsearch.ssl.verificationMode 控制证书的认证,可用的值有none、certificate、full。full执行主机名验证,certificate不执行主机名验证。
默认值:full
elasticsearch.pingTimeout 等待Elasticsearch的响应时间。
默认值:`elasticsearch.requestTimeout`
elasticsearch.requestTimeout 等待后端或Elasticsearch的响应时间,单位微秒,该值必须为正整数。
默认值:30000
elasticsearch.requestHeadersWhitelist Kibana客户端发送到Elasticsearch头体,发送no头体,设置该值为[]。
默认值:[ 'authorization' ]
elasticsearch.customHeaders 发往Elasticsearch的头体和值, 不管elasticsearch.requestHeadersWhitelist如何配置,任何自定义的头体不会被客户端头体覆盖。
默认值:{}
elasticsearch.shardTimeout Elasticsearch等待分片响应时间,单位微秒,0即禁用。
默认值:0
elasticsearch.startupTimeout Kibana启动时等待Elasticsearch的时间,单位微秒。
默认值:5000
pid.file 指定Kibana的进程ID文件的路径。
logging.dest 指定Kibana日志输出的文件。
默认值:stdout
logging.silent 该值设为true时,禁止所有日志输出。
默认值:false
logging.quiet 该值设为true时,禁止除错误信息除外的所有日志输出。
默认值:false
logging.verbose 该值设为true时,记下所有事件包括系统使用信息和所有请求的日志。
默认值:false
ops.interval 设置系统和进程取样间隔,单位微妙,最小值100。
默认值:5000
status.allowAnonymous 如果启用了权限,该项设置为true即允许所有非授权用户访问Kibana服务端API和状态页面。
默认值:false
cpu.cgroup.path.override 如果挂载点跟/proc/self/cgroup不一致,覆盖 cgroup cpu 路径。
cpuacct.cgroup.path.override 如果挂载点跟/proc/self/cgroup不一致,覆盖 cgroup cpuacct 路径。
console.enabled 设为false来禁用控制台,切换该值后服务端下次启动时会重新生成资源文件,因此会导致页面服务有点延迟。
默认值:true
elasticsearch.tribe.url Elasticsearch tribe 实例的URL,用于所有查询。
elasticsearch.tribe.username
elasticsearch.tribe.password
Elasticsearch设置了基本的权限认证,该配置项提供了用户名和密码,用于Kibana启动时维护索引。Kibana用户仍需要Elasticsearch由Kibana服务端代理的认证。
elasticsearch.tribe.ssl.certificate
elasticsearch.tribe.ssl.key
可选配置项,提供PEM格式SSL证书和密钥文件的路径。这些文件确保Elasticsearch后端使用同样的密钥文件。
elasticsearch.tribe.ssl.keyPassphrase 解密私钥的口令,该设置项可选,因为密钥可能没有加密。
elasticsearch.tribe.ssl.certificateAuthorities 指定用于 Elasticsearch tribe 实例的PEM证书文件路径。
elasticsearch.tribe.ssl.verificationMode 控制证书的认证,可用的值有none、certificate、full 。full执行主机名验证,certificate不执行主机名验证。
默认值:full
elasticsearch.tribe.pingTimeout 等待Elasticsearch的响应时间。
默认值:`elasticsearch.tribe.requestTimeout`
elasticsearch.tribe.requestTimeout 等待后端或Elasticsearch的响应时间,单位微秒,该值必须为正整数。
默认值:30000
elasticsearch.tribe.requestHeadersWhitelist Kibana发往Elasticsearch的客户端头体,发送no头体,设置该值为[]。

默认值:[ 'authorization' ]

elasticsearch.tribe.customHeaders 发往Elasticsearch的头体和值,不管elasticsearch.tribe.requestHeadersWhitelist 如何配置,任何自定义的头体不会被客户端头体覆盖。
默认值:{}

原创文章禁止转载:技术学堂 » Elastic.stack集群部署课程五·Kibana

精彩评论

4+7=

感谢您的支持与鼓励

支付宝扫一扫打赏

微信扫一扫打赏