setting功能
要使用 Kibana,你就得告诉它你想要探索的 Elasticsearch 索引是那些,这就要配置一个或者更多的索引模式。此外,你还可以:
创建脚本化字段,这个字段可以实时从你的数据中计算出来。你可以浏览这种字段,并且在它基础上做可视化,但是不能搜索这种字段。
设置高级选项,比如表格里显示多少行,常用字段显示多少个。修改高级选项的时候要千万小心,因为一个设置很可能跟另一个设置是不兼容的。
为生产环境配置 Kibana。
创建一个连接到 Elasticsearch 的索引模式
一个索引模式定义了一个或者多个你打算探索的 Elasticsearch 索引。Kibana 会查找匹配指定模式的索引名。模式中的通配符(*)匹配零到多个字符。比如,模式 myindex-*
匹配所有名字以 myindex-
开头的索引,比如 myindex-1
和 myindex-2
。
如果你用了事件时间来创建索引名(比如说,如果你是用 Logstash 往 Elasticsearch 里写数据),索引模式里也可以匹配一个日期格式。在这种情况下,模式的静态文本部分必须用中括号包含起来,日期格式能用的字符,参见表 1 "日期格式码"。
比如,[logstash-]YYYY.MM.DD
匹配所有名字以 logstash-
为前缀,后面跟上 YYYY.MM.DD
格式时间戳的索引,比如 logstash-2015.01.31
和 logstash-2015-02-01
。
索引模式也可以简单的设置为一个单独的索引名字。
要创建一个连接到 Elasticsearch 的索引模式:
切换到
Settings > Indices
标签页。指定一个能匹配你的 Elasticsearch 索引名的索引模式。默认的,Kibana 会假设你是要处理 Logstash 导入的数据。
当你在顶层标签页之间切换的时候,Kibana 会记住你之前停留的位置。比如,如果你在 Settings 标签页查看了一个索引模式,然后切换到 Discover 标签,再切换回 Settings 标签,Kibana 还会显示上次你查看的索引模式。要看到创建模式的表单,需要从索引模式列表里点击
Add
按钮。
如果你索引有时间戳字段打算用来做基于事件的对比,勾选
Index contains time-based events
然后选择包含了时间戳的索引字段。Kibana 会读取索引映射,列出所有包含了时间戳的字段供选择。如果新索引是周期性生成,名字里有时间戳的,勾选
Use event times to create index names
和Index pattern interval
选项。这会让 Kibana 只搜索哪些包含了你指定的时间范围内的数据的索引。当你使用 Logstash 往 Elasticsearch 写数据的时候非常有用。点击
Create
添加索引模式。要设置新模式作为你查看 Discover 页是的默认模式,点击
favorite
按钮。
表 1. 日期格式码
格式
描述
M
Month - cardinal: 1 2 3 … 12
Mo
Month - ordinal: 1st 2nd 3rd … 12th
MM
Month - two digit: 01 02 03 … 12
MMM
Month - abbreviation: Jan Feb Mar … Dec
MMMM
Month - full: January February March … December
Q
Quarter: 1 2 3 4
D
Day of Month - cardinal: 1 2 3 … 31
Do
Day of Month - ordinal: 1st 2nd 3rd … 31st
DD
Day of Month - two digit: 01 02 03 … 31
DDD
Day of Year - cardinal: 1 2 3 … 365
DDDo
Day of Year - ordinal: 1st 2nd 3rd … 365th
DDDD
Day of Year - three digit: 001 002 … 364 365
d
Day of Week - cardinal: 0 1 3 … 6
do
Day of Week - ordinal: 0th 1st 2nd … 6th
dd
Day of Week - 2-letter abbreviation: Su Mo Tu … Sa
ddd
Day of Week - 3-letter abbreviation: Sun Mon Tue … Sat
dddd
Day of Week - full: Sunday Monday Tuesday … Saturday
e
Day of Week (locale): 0 1 2 … 6
E
Day of Week (ISO): 1 2 3 … 7
w
Week of Year - cardinal (locale): 1 2 3 … 53
wo
Week of Year - ordinal (locale): 1st 2nd 3rd … 53rd
ww
Week of Year - 2-digit (locale): 01 02 03 … 53
W
Week of Year - cardinal (ISO): 1 2 3 … 53
Wo
Week of Year - ordinal (ISO): 1st 2nd 3rd … 53rd
WW
Week of Year - two-digit (ISO): 01 02 03 … 53
YY
Year - two digit: 70 71 72 … 30
YYYY
Year - four digit: 1970 1971 1972 … 2030
gg
Week Year - two digit (locale): 70 71 72 … 30
gggg
Week Year - four digit (locale): 1970 1971 1972 … 2030
GG
Week Year - two digit (ISO): 70 71 72 … 30
GGGG
Week Year - four digit (ISO): 1970 1971 1972 … 2030
A
AM/PM: AM PM
a
am/pm: am pm
H
Hour: 0 1 2 … 23
HH
Hour - two digit: 00 01 02 … 23
h
Hour - 12-hour clock: 1 2 3 … 12
hh
Hour - 12-hour clock, 2 digit: 01 02 03 … 12
m
Minute: 0 1 2 … 59
mm
Minute - two-digit: 00 01 02 … 59
s
Second: 0 1 2 … 59
ss
Second - two-digit: 00 01 02 … 59
S
Fractional Second - 10ths: 0 1 2 … 9
SS
Fractional Second - 100ths: 0 1 … 98 99
SSS
Fractional Seconds - 1000ths: 0 1 … 998 999
Z
Timezone - zero UTC offset (hh:mm format): -07:00 -06:00 -05:00 .. +07:00
ZZ
Timezone - zero UTC offset (hhmm format): -0700 -0600 -0500 … +0700
X
Unix Timestamp: 1360013296
x
Unix Millisecond Timestamp: 1360013296123
设置默认索引模式
默认索引模式会在你查看 Discover 标签的时候自动加载。Kibana 会在 Settings > Indices 标签页的索引模式列表里,给默认模式左边显示一个星号。你创建的第一个模式会自动被设置为默认模式。
要设置一个另外的模式为默认索引模式:
进入
Settings > Indices
标签页。在索引模式列表里选择你打算设置为默认值的模式。
点击模式的
Favorite
标签。
你也可以在 Advanced > Settings 里设置默认索引模式。
重加载索引的字段列表
当你添加了一个索引映射,Kibana 自动扫描匹配模式的索引以显示索引字段。你可以重加载索引字段列表,以显示新添加的字段。
重加载索引字段列表,也会重设 Kibana 的常用字段计数器。这个计数器是跟踪你在 Kibana 里常用字段,然后来排序字段列表的。
要重加载索引的字段列表:
进入
Settings > Indices
标签页。在索引模式列表里选择一个索引模式。
点击模式的
Reload
按钮。
删除一个索引模式
要删除一个索引模式:
进入
Settings > Indices
标签页。在索引模式列表里选择你打算删除的模式。
点击模式的
Delete
按钮。确认你是想要删除这个索引模式。
创建一个脚本化字段
脚本化字段从你的 Elasticsearch 索引数据中即时计算得来。在 Discover 标签页,脚本化字段数据会作为文档数据的一部分显示,而且你还可以在可视化里使用脚本化字段。(脚本化字段的值是在请求的时候计算的,所以它们没有被索引,不能搜索到)
即时计算脚本化字段非常消耗资源,会直接影响到 Kibana 的性能。而且记住,Elasticsearch 里没有内置对脚本化字段的验证功能。如果你的脚本有 bug,你会在查看动态生成的数据时看到 exception。
脚本化字段使用 Lucene 表达式语法。更多细节,请阅读 Lucene Expressions Scripts。
你可以在表达式里引用任意单个数值类型字段,比如:
要创建一个脚本化字段:
进入
Settings > Indices
选择你打算添加脚本化字段的索引模式。
进入模式的
Scripted Fields
标签。点击
Add Scripted Field
。输入脚本化字段的名字。
输入用来即时计算数据的表达式。
点击
Save Scripted Field
.
有关 Elasticsearch 的脚本化字段的更多细节,阅读 Scripting。
更新一个脚本化字段
要更新一个脚本化字段:
进入
Settings > Indices
。点击你要更新的脚本化字段的
Edit
按钮。完成变更后点击
Save Scripted Field
升级。
注意 Elasticsearch 里没有内置对脚本化字段的验证功能。如果你的脚本有 bug,你会在查看动态生成的数据时看到 exception。
删除一个脚本化字段
要删除一个脚本化字段:
进入
Settings > Indices
。点击你要删除的脚本化字段的
Delete
按钮。确认你确实想删除它。
设置高级参数
高级参数页允许你直接编辑那些控制着 Kibana 应用行为的设置。比如,你可以修改显示日期的格式,修改默认的索引模式,设置十进制数值的显示精度。
修改高级参数可能带来意想不到的后果。如果你不确定自己在做什么,最好离开这个设置页面。
要设置高级参数:
进入
Settings > Advanced
。点击你要修改的选项的
Edit
按钮。给这个选项输入一个新的值。
点击
Save
按钮。
管理已保存的搜索,可视化和仪表板
你可以从 Settings > Objects 查看,编辑,和删除已保存的搜索,可视化和仪表板。
查看一个已保存的对象会显示在 Discover, Visualize 或 Dashboard 页里已选择的项目。要查看一个已保存对象:
进入
Settings > Objects
。选择你想查看的对象。
点击
View
按钮。
编辑一个已保存对象让你可以直接修改对象定义。你可以修改对象的名字,添加一段说明,以及修改定义这个对象的属性的 JSON。
如果你尝试访问一个对象,而它关联的索引已经被删除了,Kibana 会显示这个对象的编辑(Edit Object)页。你可以:
重建索引这样就可以继续用这个对象。
删除对象,然后用另一个索引重建对象。
在对象的
kibanaSavedObjectMeta.searchSourceJSON
里修改引用的索引名,指向一个还存在的索引模式。这个在你的索引被重命名了的情况下非常有用。
对象属性没有验证机制。提交一个无效的变更会导致对象不可用。通常来说,你还是应该用 Discover, Visualize 或 Dashboard 页面来创建新对象而不是直接编辑已存在的对象。
要编辑一个已保存的对象:
进入
Settings > Objects
。选择你想编辑的对象。
点击
Edit
按钮。修改对象定义。
点击
Save Object
按钮。
要删除一个已保存的对象:
进入
Settings > Objects
。选择你想删除的对象。
点击
Delete
按钮。确认你确实想删除这个对象。
设置 kibana 服务器属性
Kibana 服务器在启动的时候会从 kibana.yml
文件读取属性设置。默认设置是运行在 localhost:5601
。要变更主机或端口,或者连接远端主机上的 Elasticsearch,你都需要更新你的 kibana.yml
文件。你还可以开启 SSL 或者设置其他一系列选项:
表 2. Kibana 服务器属性
属性
描述
server.port
Kibana 服务器运行的端口。默认:5601
。
server.host
Kibana 服务器监听的地址。默认:"0.0.0.0"
。
server.defaultRoute
进入 Kibana 时默认跳转的地址。默认为 /app/kibana
。
server.ssl.enabled
是否开启 Kibana 服务器的 SSL 验证。
server.ssl.key
Kibana 服务器的密钥文件路径。设置用来加密浏览器和 Kibana 之间的通信。默认:none。
server.ssl.certificate
Kibana 服务器的证书文件路径。设置用来加密浏览器和 Kibana 之间的通信。默认:none。
pid.file
你想用来存进程 ID 文件的位置。如果没有指定,PID 文件存在 /var/run/kibana.pid
。
kibana.index
保存搜索,可视化,仪表板信息的索引的名字。默认:.kibana
。
kibana.defaultAppId
进入 Kibana App 后默认显示的页面。默认:discover
。
tilemap.url
用来显示瓦片地图的服务接口 URL。想使用高德地图的读者可以设置为:"http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}"
。
elasticsearch.url
你想请求的索引存在哪个 Elasticsearch 实例上。默认:"http://localhost:9200"
。
elasticsearch.preserveHost
默认的,浏览器请求中的主机名即作为 Kibana 发送给 Elasticsearch 时请求的主机名。如果你设置这个参数为 false
, Kibana 会改用 elasticsearch.url
里的主机名。你应该不用担心这个设置 —— 直接用默认即可。默认:true
。
elasticsearch.requestTimeout
等待 Kibana 后端或 Elasticsearch 的响应的超时时间,单位毫秒。默认:30000
。
elasticsearch.shardTimeout
Elasticsearch 等待分片响应的超时时间。设置为 0 表示关闭超时控制。默认:0
。
elasticsearch.ssl.key
用来加密 Kibana 和 Elasticsearch 之间的通信的密钥文件。默认:none。
elasticsearch.ssl.certificate
用来加密 Kibana 和 Elasticsearch 之间的通信的证书文件。默认:none。
elasticsearch.tribe.url
如果使用 Elasticsearch 的 Tribe Node 查询多个集群的数据,需配置 Tribe Node 的地址。
Last updated