- Logstash
- Logstash - 入门示例
- 入门示例 - 下载安装
- 入门示例 - hello world
- 入门示例 - 配置语法
- 入门示例 - plugin的安装
- 入门示例 - 长期运行
- Logstash - 插件配置
- 插件配置 - input配置
- input配置 - file
- input配置 - stdin
- input配置 - syslog
- input配置 - tcp
- 插件配置 - codec配置
- codec配置 - json
- codec配置 - multiline
- codec配置 - collectd
- codec配置 - netflow
- 插件配置 - filter配置
- filter配置 - date
- filter配置 - grok
- filter配置 - dissect
- filter配置 - geoip
- filter配置 - json
- filter配置 - kv
- filter配置 - metrics
- filter配置 - mutate
- filter配置 - ruby
- filter配置 - split
- filter配置 - elapsed
- 插件配置 - output配置
- output配置 - elasticsearch
- output配置 - email
- output配置 - exec
- output配置 - file
- output配置 - nagios
- output配置 - statsd
- output配置 - stdout
- output配置 - tcp
- output配置 - hdfs
- Logstash - 场景示例
- 场景示例 - nginx访问日志
- 场景示例 - nginx错误日志
- 场景示例 - postfix日志
- 场景示例 - ossec日志
- 场景示例 - windows系统日志
- 场景示例 - Java日志
- 场景示例 - MySQL慢查询日志
- Logstash - 性能与测试
- 性能与测试 - generator方式
- 性能与测试 - 监控方案
- 监控方案 - logstash-input-heartbeat方式
- 监控方案 - jmx启动参数方式
- 监控方案 - API方式
- Logstash - 扩展方案
- 扩展方案 - 通过redis传输
- 扩展方案 - 通过kafka传输
- 扩展方案 - AIX 平台上的logstash-forwarder-java
- 扩展方案 - rsyslog
- 扩展方案 - nxlog
- 扩展方案 - heka
- 扩展方案 - fluent
- 扩展方案 - Message::Passing
- Logstash - 源码解析
- 源码解析 - pipeline流程
- 源码解析 - Event的生成
- Logstash - 插件开发
- 插件开发 - utmp插件示例
- Beats
- Beats - filebeat
- Beats - packetbeat网络流量分析
- Beats - metricbeat
- Beats - winlogbeat
- ElasticSearch
- ElasticSearch - 架构原理
- 架构原理 - segment、buffer和translog对实时性的影响
- 架构原理 - segment merge对写入性能的影响
- 架构原理 - routing和replica的读写过程
- 架构原理 - shard的allocate控制
- 架构原理 - 自动发现的配置
- ElasticSearch - 接口使用示例
- 接口使用示例 - 增删改查操作
- 接口使用示例 - 搜索请求
- 接口使用示例 - Painless脚本
- 接口使用示例 - reindex接口
- ElasticSearch - 性能优化
- 性能优化 - bulk提交
- 性能优化 - gateway配置
- 性能优化 - 集群状态维护
- 性能优化 - 缓存
- 性能优化 - fielddata
- 性能优化 - curator工具
- 性能优化 - profile接口
- ElasticSearch - rally测试方案
- ElasticSearch - 多集群互联
- ElasticSearch - 别名的应用
- ElasticSearch - 映射与模板的定制
- ElasticSearch - puppet-elasticsearch模块的使用
- ElasticSearch - 计划内停机升级的操作流程
- ElasticSearch - 镜像备份
- ElasticSearch - rollover和shrink
- ElasticSearch - Ingest节点
- ElasticSearch - Hadoop 集成
- Hadoop 集成 - spark streaming交互
- ElasticSearch - 权限管理
- 权限管理 - Shield
- 权限管理 - Search-Guard 在 Elasticsearch 2.x 上的运用
- ElasticSearch - 监控方案
- 监控方案 - 监控相关接口
- 监控相关接口 - 集群健康状态
- 监控相关接口 - 节点状态
- 监控相关接口 - 索引状态
- 监控相关接口 - 任务管理
- 监控相关接口 - cat 接口的命令行使用
- 监控方案 - 日志记录
- 监控方案 - 实时bigdesk方案
- 监控方案 - cerebro
- 监控方案 - zabbix trapper方案
- ElasticSearch - ES在运维监控领域的其他玩法
- ES在运维监控领域的其他玩法 - percolator接口
- ES在运维监控领域的其他玩法 - watcher报警
- ES在运维监控领域的其他玩法 - ElastAlert
- ES在运维监控领域的其他玩法 - 时序数据库
- ES在运维监控领域的其他玩法 - Grafana
- ES在运维监控领域的其他玩法 - juttle
- ES在运维监控领域的其他玩法 - Etsy的Kale异常检测
- Kibana 5
- Kibana 5 - 安装、配置和运行
- Kibana 5 - 生产环境部署
- Kibana 5 - discover功能
- Kibana 5 - 各visualize功能
- 各visualize功能 - area
- 各visualize功能 - table
- 各visualize功能 - line
- 各visualize功能 - markdown
- 各visualize功能 - metric
- 各visualize功能 - pie
- 各visualize功能 - tile map
- 各visualize功能 - vertical bar
- Kibana 5 - dashboard功能
- Kibana 5 - timelion 介绍
- Kibana 5 - console 介绍
- Kibana 5 - setting功能
- Kibana 5 - 常用sub agg示例
- 常用sub agg示例 - 函数堆栈链分析
- 常用sub agg示例 - 分图统计
- 常用sub agg示例 - TopN的时序趋势图
- 常用sub agg示例 - 响应时间的百分占比趋势图
- 常用sub agg示例 - 响应时间的概率分布在不同时段的相似度对比
- Kibana 5 - 源码解析
- 源码解析 - .kibana索引的数据结构
- 源码解析 - 主页入口
- 源码解析 - discover解析
- 源码解析 - visualize解析
- 源码解析 - dashboard解析
- Kibana 5 - 插件
- 插件 - 可视化开发示例
- 插件 - 后端开发示例
- 插件 - 完整app开发示例
- Kibana 5 - Kibana报表
- 竞品对比
Kibana 5 - 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。
你可以在表达式里引用任意单个数值类型字段,比如:
doc['field_name'].value
要创建一个脚本化字段:
- 进入
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 的地址。 |
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论