Kibana 用户指南(配置Kibana)

配置Kibana

Kibana服务在启动时从Kibana.yml文件读取属性,这个文件的位置取决于你如何安装Kibana。例如,如果从归档发行版(.tar.gz.zip)安装Kibana,默认情况下是$KIBANA_HOME/config。默认情况下,对于包发行版(Debian或RPM),它在/etc/kibana中。

默认设置将Kibana配置为在localhost:5601上运行,要更改主机或端口号,或连接到运行在另一台机器上的Elasticsearch,你需要更新Kibana.yml文件。还可以启用SSL并设置各种其他选项,最后,可以使用${MY_ENV_VAR}语法将环境变量注入配置。

Kibana配置设置

console.enabled

  • 默认:true
  • 设置为false以禁用控制台,切换这个将导致服务器在下一次启动时重新生成资源,这可能会导致在页面在开始服务之前出现延迟。

cpu.cgroup.path.override

  • 当挂载的方式与/proc/self/cgroup不一致时,覆盖cgroup cpu路径。

cpuacct.cgroup.path.override

  • 当挂载的方式与/proc/self/cgroup不一致时,覆盖cgroup cpuacct路径。

elasticsearch.customHeaders

  • 默认:{}
  • 发送给Elasticsearch的Header名称和值,任何自定义的头都不能被客户端的header覆盖,不管elasticsearch.requestHeadersWhitelist的配置。

elasticsearch.logQueries

  • 默认:false
  • 日志查询发送到Elasticsearch,要求将logging.verbose设置为true,这对于查看当前没有监控面板的应用程序生成的查询DSL非常有用,例如Timelion和Monitoring。

elasticsearch.pingTimeout

  • 默认:elasticsearch.requestTimeout设置的值。
  • 等待Elasticsearch响应ping的时间(毫秒)。

elasticsearch.preserveHost

  • 默认:true
  • 当此设置的值为true时,Kibana使用server.host中指定的主机名的设置,当此设置的值为false时,Kibana使用连接到此Kibana实例的主机的主机名。

elasticsearch.requestHeadersWhitelist

  • 默认:[ 'authorization' ]
  • 送到Elasticsearch的Kibana客户端headers列表,要发送无客户端headers,请将此值设置为[](空列表)。

elasticsearch.requestTimeout

  • 默认:30000
  • 等待来自后端或Elasticsearch的响应的毫秒数,这个值必须是正整数。

elasticsearch.shardTimeout

  • 默认:30000
  • Elasticsearch等待碎片响应的毫秒数,设置为0禁用。

elasticsearch.ssl.certificateelasticsearch.ssl.key

  • 可选设置,提供pem格式的SSL证书和密钥文件的路径,这些文件用于验证Kibana到Elasticsearch的身份,当在Elasticsearch中xpack.ssl.verification_mode被设置为certificatefull时需要这些文件。

elasticsearch.ssl.certificateAuthorities

  • 可选设置,使你能够为你的Elasticsearch实例的证书颁发机构指定PEM文件的路径列表。

elasticsearch.ssl.keyPassphrase

  • 用于解密私钥的密码,此值是可选的,因为密钥可能没有加密。

elasticsearch.ssl.verificationMode

  • 默认:full
  • 控制Elasticsearch所提供证书的验证,有效值为nonecertificatefullfull执行主机名验证,而certificate不执行。

elasticsearch.startupTimeout

  • 默认:5000
  • 在Kibana启动前等待Elasticsearch的毫秒时间。

elasticsearch.url

  • 默认:"http://localhost:9200"
  • 用于所有查询的Elasticsearch实例的URL。

elasticsearch.usernameelasticsearch.password

  • 如果你的Elasticsearch受到基本身份验证的保护,这些设置将提供Kibana服务器在启动时用于对Kibana索引进行维护的用户名和密码,你的Kibana用户仍然需要使用Elasticsearch进行身份验证,这是通过Kibana服务器进行的。

elasticsearch.tribe.customHeaders

  • 默认:{}
  • 发送给Elasticsearch的Header名称和值,任何自定义headers都不能被客户端标headers覆盖,不管elasticsearch.tribe.requestHeadersWhitelist配置。

elasticsearch.tribe.pingTimeout

  • 默认:elasticsearch.tribe.requestTimeout设置的值
  • 等待Elasticsearch响应ping的时间(毫秒)。

elasticsearch.tribe.requestHeadersWhitelist

  • 默认:[ 'authorization' ]
  • 发送到Elasticsearch的Kibana客户端headers列表,要发送无客户端headers,请将此值设置为[](空列表)。

elasticsearch.tribe.requestTimeout

  • 默认:30000
  • 等待后端或Elasticsearch响应的时间(以毫秒为单位),这个值必须是一个正整数。

elasticsearch.tribe.ssl.certificateelasticsearch.tribe.ssl.key

  • 可选设置,提供pem格式的SSL证书和密钥文件的路径,这些文件验证你的Elasticsearch后端使用相同的密钥文件。

elasticsearch.tribe.ssl.certificateAuthorities

  • 可选设置,使你能够为你的tribe Elasticsearch实例的证书颁发机构指定PEM文件的路径。

elasticsearch.tribe.ssl.keyPassphrase

  • 用于解密私钥的密码,此值是可选的,因为密钥可能没有加密。

elasticsearch.tribe.ssl.verificationMode

  • 默认:full
  • 控制证书的验证,有效值为nonecertificatefullfull执行主机名验证,而certificate不执行。

elasticsearch.tribe.url

  • 可供所有查询使用的Elasticsearch tribe实例的可选的URL。

elasticsearch.tribe.usernameelasticsearch.tribe.password

  • 如果你的Elasticsearch受到基本身份验证的保护,这些设置将提供Kibana服务器在启动时用于对Kibana索引进行维护的用户名和密码,你的Kibana用户仍然需要使用Elasticsearch进行身份验证,这是通过Kibana服务器进行的。

kibana.defaultAppId

  • 默认:"discover"
  • 要加载的默认应用程序。

kibana.index

  • 默认:".kibana"
  • Kibana使用Elasticsearch中的索引来存储保存的搜索、可视化和仪表盘,如果索引不存在,Kibana会创建一个新的索引。

logging.dest

  • 默认:stdout
  • 允许你指定一个文件存储Kibana日志输出。

logging.quiet

  • 默认:false
  • 将此设置的值设置为true,以抑制除错误消息之外的所有日志输出。

logging.silent

  • 默认:false
  • 将此设置的值设置为true以抑制所有日志输出。

logging.verbose

  • 默认:false
  • 将此设置的值设置为true,以记录所有事件,包括系统使用信息和所有请求,在Elastic Cloud Enterprise上支持。

logging.useUTC

  • 默认:true
  • 将此设置的值设置为false,以便使用服务器的时区(而不是UTC)记录事件。

map.includeElasticMapsService

  • 默认:true
  • 打开或关闭Elastic Maps服务的层是否应该包含在矢量和平铺层选项列表中,通过关闭这个选项,只包含在这里配置的层。

path.data

  • 默认:data
  • Kibana存储持久数据的路径,不存储在Elasticsearch。

pid.file

  • 指定Kibana创建进程ID文件的路径。

ops.interval

  • 默认:5000
  • 设置以毫秒为单位的间隔,以采样系统和处理性能指标,最小值是100

regionmap

  • 指定用于区域地图可视化的其他矢量层,每个层对象指向一个包含geojson特征集的外部向量文件,该文件必须使用WGS84坐标参考系统,并且只包括多边形,如果文件驻留在与Kibana分离的域中,则服务器需要启用内核,以便Kibana可以下载该文件,下面的示例显示了有效的regionmap配置。
regionmap:
  includeElasticMapsService: false
  layers:
     - name: "Departments of France"
       url: "http://my.cors.enabled.server.org/france_departements.geojson"
       attribution: "INRAP"
       fields:
          - name: "department"
            description: "Full department name"
          - name: "INSEE"
            description: "INSEE numeric identifier"

regionmap.layers[].name

  • 强制性的,提供的地图的描述,在Elastic Cloud Enterprise上支持。

regionmap.layers[].url

  • 强制性的,由webserver提供的geojson文件的位置,在Elastic Cloud Enterprise上支持。

regionmap.layers[].attribution

  • 可选的,引用geojson文件的源文件,在Elastic Cloud Enterprise上支持。

regionmap.layers[].fields[]

  • 强制性的,每个层可以包含多个字段,以指示你希望公开的geojson特性的哪些属性,上面的示例展示了如何定义多个属性,在Elastic Cloud Enterprise上支持。

regionmap.layers[].fields[].name

  • 强制性的,这个值用于在存储在Elasticsearch中的文档和geojson文件之间进行内部连接,例如,如果geojson中的字段被称为Location,并且具有城市名称,那么Elasticsearch中的字段必须具有与Kibana用于查找geoshape数据相同的值,在Elastic Cloud Enterprise上支持。

regionmap.layers[].fields[]. description

  • 强制性的,在构建区域地图可视化时,在Options选项卡下显示的可读文本,在Elastic Cloud Enterprise上支持。

regionmap.includeElasticMapsService

  • 打开或关闭Elastic映射服务的层是否应该包含在向量层选项列表中,在Elastic Cloud Enterprise上支持,通过关闭它,将只包括这里配置的层,默认为true

server.basePath

  • 允许你指定挂载Kibana的路径,如果你运行在代理后面,使用server.rewriteBasePath设置告诉Kibana是否应该从接收到的请求中删除basePath,并防止在启动时发出弃用警告,此设置不能以斜杠(/)结束。

server.rewriteBasePath

  • 默认:false
  • 指定Kibana是应该重写以server.basePath为前缀的请求,还是需要通过反向代理重写请求,在Kibana 6.3之前,这个设置实际上总是为false,并且开始在Kibana 7.0中默认为true

server.customResponseHeaders

  • 默认:{}
  • Header名称和值,用于将所有响应从Kibana服务器发送到客户端。

server.defaultRoute

  • 默认:"/app/kibana"
  • 此设置指定在打开Kibana时的默认路由,在打开Kibana时,可以使用此设置修改登录页面。

server.host

  • 默认:"localhost"
  • 此设置指定后端服务器的主机。

server.maxPayloadBytes

  • 默认:1048576
  • 传入服务器请求的最大有效负载大小(以字节为单位)。

server.name

  • 默认:"your-hostname"
  • 标识这个Kibana实例的可读显示名称。

server.port

  • 默认:5601
  • Kibana由后端服务器提供,此设置指定要使用的端口。

server.ssl.enabled

  • 默认:false
  • 为从Kibana服务器发送到浏览器的请求启用SSL,当设置为true时,server.ssl.certificateserver.ssl.key是必需的。

server.ssl.certificateserver.ssl.key

  • 分别指向PEM格式SSL证书和SSL密钥文件的路径。

server.ssl.certificateAuthorities

  • 应该受信任的PEM编码证书文件路径列表。

server.ssl.cipherSuites

  • 默认: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。
  • 有关格式和有效选项的详细信息可以通过OpenSSL密码列表格式文档获得。

server.ssl.keyPassphrase

  • 用于解密私钥的密码,这个值是可选的,因为密钥可能没有被加密。

server.ssl.redirectHttpFromPort

  • Kibana将绑定到这个端口,并通过配置为server.port的端口将所有http请求重定向到https。

server.ssl.supportedProtocols

  • 默认:TLSv1,TLSv1.1,TLSv1.2。
  • 带有版本的受支持协议数组,有效协议:TLSv1TLSv1.1TLSv1.2

status.allowAnonymous

  • 默认:false
  • 如果启用了身份验证,将其设置为true将允许未经身份验证的用户访问Kibana服务器状态API和状态页面。

tilemap.options.attribution

tilemap.options.maxZoom

  • 默认:10
  • 最大缩放级别,在Elastic Cloud Enterprise上支持。

tilemap.options.minZoom

  • 默认:1
  • 最小缩放级别,在Elastic Cloud Enterprise上支持。

tilemap.options.subdomains

  • 默认:false
  • 由tile服务使用的子域数组,在Elastic Cloud Enterprise上支持,使用令牌{s}指定子域的位置URL。

tilemap.url

  • Kibana用于在tilemap可视化中显示地图块的tileservice的URL,默认情况下,Kibana从外部元数据服务读取这个url,但是用户仍然可以覆盖这个参数来使用他们自己的Tile Map服务,例如:"https://tiles.elastic.co/v2/default/{z}/{x}/{y}.png?elastic_tile_service_tos=agree&my_app_name=kibana"

vega.enableExternalUrls

  • 默认:false
  • 将此值设置为true,允许Vega使用任何URL访问外部数据源和图像,如果为false,Vega只能从Elasticsearch获得数据。

安全设置

有些设置是敏感的,仅依靠文件系统权限来保护它们的值是不够的,对于这个用例,Kibana提供了一个keystore,以及用于管理keystore中的设置的kibana-keystore工具。

这里的所有命令都应该作为运行Kibana的用户运行。

创建keystore

要创建kibana.keystore,使用create命令:

bin/kibana-keystore create

文件kibana.keystore将在path.data配置设置定义的目录中创建。

列出keystore中的设置

使用list命令可以获得keystore中的设置列表:

bin/kibana-keystore list

添加字符串设置

敏感字符串设置,如Elasticsearch的身份验证凭证,可以使用add命令添加:

bin/kibana-keystore add the.setting.name.to.set

一旦添加到keystore,这些设置将在启动时自动应用到Kibana实例,举个例子:

bin/kibana-keystore add elasticsearch.username

将提示你提供elasticsearch.username的值,你的输入将显示为星号。

该工具将提示设置的值,要通过stdin传递值,使用--stdin标志:

cat /file/containing/setting/value | bin/kibana-keystore add the.setting.name.to.set --stdin

移除设置

要从keystore中移除设置,请使用remove命令:

bin/kibana-keystore remove the.setting.name.to.remove

上一篇:启动和停止Kibana

相关推荐