Skip to content

Commit

Permalink
更新部分目录和章首文字。更新 fluentd 章节
Browse files Browse the repository at this point in the history
  • Loading branch information
chenryn committed Jul 11, 2015
1 parent 89da3a2 commit 6d5ebd3
Show file tree
Hide file tree
Showing 14 changed files with 168 additions and 33 deletions.
18 changes: 17 additions & 1 deletion .gitignore
@@ -1,2 +1,18 @@
_book/*
# Node rules:
## Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

## Dependency directory
## Commenting this out is preferred by some people, see
## https://docs.npmjs.com/misc/faq#should-i-check-my-node_modules-folder-into-git
node_modules

# Book build output
_book

# eBook build output
*.epub
*.mobi
*.pdf

count.sh
2 changes: 1 addition & 1 deletion SUMMARY.md
Expand Up @@ -153,7 +153,7 @@
* [用agg接口开发一个percentile panel](kibana/v3/aggs.md)
* [k4](kibana/v4/README.md)
* [安装、配置和运行](kibana/v4/setup.md)
* [在nginx代理后的配置方式](kibana/v4/production.md)
* [生产环境部署](kibana/v4/production.md)
* [discover功能](kibana/v4/discover.md)
* [各visualize功能](kibana/v4/visualize/README.md)
* [area](kibana/v4/visualize/area.md)
Expand Down
5 changes: 5 additions & 0 deletions elasticsearch/monitor/README.md
@@ -0,0 +1,5 @@
# 监控方案

Elasticsearch 作为一个分布式系统,监控自然是重中之重。Elasticsearch 本身提供了非常完善的,由浅及深的各种性能数据接口。和数据读写检索接口一样,采用 RESTful 风格。我们可以直接使用 curl 来获取数据,编写监控程序,也可以使用一些现成的监控方案。通常这些方案也是通过接口读取数据,解析 JSON,渲染界面。

本章会先介绍一些常用的监控接口,以及其响应数据的含义。然后再介绍几种常用的开源和商业 Elasticsearch 监控产品。
1 change: 1 addition & 0 deletions kibana/difference.md
Expand Up @@ -26,3 +26,4 @@ Kibana 4 正式版 2015 年初发布,至今已近半年。但是本书依然

至于像 Kibana3 那种在浏览器端计算的功能,Kibana4 中则完全没有。ES 2.0 将会提供一种 pipeline aggregation 特性,目前猜测或许 Kibana4 会在这个 ES 新特性的基础上来实现类似功能。

在界面美观方面。Kibana4 至今未提供类似 Kibana3 中的 Query 设置功能,包括 Query 别名和颜色选择器这两个常用功能都没有。直接导致目前 Kibana4 的图例几乎毫无作用。
8 changes: 6 additions & 2 deletions kibana/v3/panels/query.md
Expand Up @@ -2,15 +2,15 @@

query 面板和 filter 面板都是特殊类型的面板,在 dashboard 上有且仅有一个。不能删除不能添加。

query 和 filter 的普通样式和基本操作,在官方的[请求和过滤](/queries-and-filters.md)章节已经讲述过。这里,额外讲一下一些高阶功能。
query 和 filter 的普通样式和基本操作,在之前[ Query 和 Filtering](../dashboard/queries-and-filters.md) 章节已经讲述过。这里,额外讲一下一些高阶功能。

## 请求类型

query 搜索框支持三种请求类型:

* lucene

这也是默认的类型,使用要点就是请求语法。语法说明见:<http://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html#query-string-syntax>
这也是默认的类型,使用要点就是请求语法。语法说明在之前 [Elasticsearch 一章](../../elasticsearch/api/search.md)已经讲过。

* regex

Expand All @@ -27,3 +27,7 @@ topN 是一个方便大家进行多项对比搜索的功能。其配置界面如
![](../img/topn-histogram.png)

*小贴士:如果 ES 响应较慢的时候,你甚至可以很明显的看到 histogram 面板上的多条曲线是一条一条出来数据绘制的。*

## 别名

query 还可以设置别名(alias)。默认没有别名的时候,各 panel 上显示对应 query 时,会使用具体的 query 语句。在查询比较复杂的时候,不便观看。而设置别名后,pinned queries,panel 图例等处,都会只显示设置好的别名,而不再显示复杂的查询语句,这样一目了然。
22 changes: 6 additions & 16 deletions kibana/v4/README.md
@@ -1,28 +1,18 @@
# README
# Kibana4

Kibana 是为 Elasticsearch 设计的开源分析和可视化平台。你可以使用 Kibana 来搜索,查看存储在 Elasticsearch 索引中的数据并与之交互。你可以很容易实现高级的数据分析和可视化,以图标的形式展现出来
Kibana4 是 Elastic.co 一次崭新的重构产品。在操作界面上,有一定程度的对 Splunk 的模仿。为了更直观的体现 Kibana4 跟 Kibana3 的不同,先让我们看看 Kibana4 要怎么用来探索和展示数据

Kibana 让海量数据变得更容易理解。简单的基于浏览器的界面让你可以快速创建并分享动态的仪表板,用以实时修改 Elasticsearch 请求。

安装 Kibana 非常简单。你可以在几分钟内安装好 Kibana 然后开始探索你的 Elasticsearch 索引 —— 不需要写代码,不需要额外的架构。

> 本指南讲述的是如何使用 Kibana 4。想了解 Kibana 4 里有什么新特性,请阅读 [What’s New in Kibana 4](../difference.md)。想了解 Kibana 3 的内容,请阅读 [Kibana 3 用户指南](../v3/README.md)
## 数据发现和可视化

让我们看看你可能要怎么用 Kibana 来探索和展示数据。我们会从伦敦交通局的交通运输卡的一周使用情况里导入一些数据。

在 Kibana 的 Discover 页,我们可以提交搜索请求,过滤结果,然后检查返回的文档里的数据。比如,我们可以通过排除公交出行,获取地铁出行的情况。
配置索引模式后,默认打开 Kibana4 会出现在一个叫做 Discover 的标签页,在这个类似 Kibana3 的 logstash dashboard 的页面上,我们可以提交搜索请求,过滤结果,然后检查返回的文档里的数据。如下图示:

![](http://www.elasticsearch.org/guide/en/kibana/current/images/TFL-CompletedTrips.jpg)

现在,我们可以看到早晚上下班高峰期的直方图。默认情况下,Discover 页会显示匹配搜索条件的前 500 个文档。你可以修改时间过滤器,拖拽直方图下钻数据,查看部分文档的细节。Discover 页上如何探索数据,详细说明见 [Discover](./discover.md)
默认情况下,Discover 页会显示匹配搜索条件的前 500 个文档,页面下拉到底部,会自动加载后续数据。你可以修改时间过滤器,拖拽直方图下钻数据,查看部分文档的细节。Discover 页上如何探索数据,详细说明见 [Discover 功能](./discover.md)

你可以在 Visualization 页为你的搜索结构构造可视化。每个可视化都是跟一个搜索关联着的。比如,我们可以基于前面那个搜索创建一个战士每周伦敦地铁交通流量的直方图。Y 轴显示交通流量。X 轴显示时间。而添加一个子聚合,我们还可以看到每小时排名前三的地铁站
Visualization 标签页用来为你的搜索结果构造可视化。每个可视化都是跟一个搜索关联着的。比如,我们可以基于前面那个搜索创建一个展示每周流量的直方图。Y 轴显示流量。X 轴显示时间。而添加一个子聚合,我们还可以看到每小时排名前三的结果

![](http://www.elasticsearch.org/guide/en/kibana/current/images/TFL-CommuteHistogram.jpg)

你可以保存并分析可视化结果,然后合并到仪表板上以便对比分析。比如说,我们可以创建一个展示多个伦敦交通数据的仪表板
还可以保存并分析可视化结果,然后合并到 Dashboard 标签页上以便对比分析。比如说,我们可以创建一个展示多个可视化数据的仪表板

![](http://www.elasticsearch.org/guide/en/kibana/current/images/TFL-Dashboard.jpg)

Expand Down
14 changes: 8 additions & 6 deletions kibana/v4/discover.md
@@ -1,4 +1,6 @@
你可以在 Discover 页交互式探索你的数据。你可以访问到匹配得上你选择的索引模式的每个索引的每条记录。你可以提交搜索请求,过滤搜索结果,然后查看文档数据。你还可以看到匹配搜索请求的文档总数,获取字段值的统计情况。如果索引模式配置了时间字段,文档的时序分布情况会在页面顶部以柱状图的形式展示出来。
# discover 功能

Discover 标签页用于交互式探索你的数据。你可以访问到匹配得上你选择的索引模式的每个索引的每条记录。你可以提交搜索请求,过滤搜索结果,然后查看文档数据。你还可以看到匹配搜索请求的文档总数,获取字段值的统计情况。如果索引模式配置了时间字段,文档的时序分布情况会在页面顶部以柱状图的形式展示出来。

![](http://www.elasticsearch.org/guide/en/kibana/current/images/Discover-Start-Annotated.jpg)

Expand Down Expand Up @@ -27,7 +29,7 @@

在 Discover 页提交一个搜索,你就可以搜索匹配当前索引模式的索引数据了。你可以直接输入简单的请求字符串,也就是用 Lucene [query syntax](https://lucene.apache.org/core/2_9_4/queryparsersyntax.html),也可以用完整的基于 JSON 的 [Elasticsearch Query DSL](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl.html)

当你提交搜索的时候,直方图,文档表格,字段列表,都会自动反映成搜索的结果。hits(匹配的文档)总数会在直方图的右上角显示。文档表格显示前 500 个匹配文档。默认的,文档倒序排列,最新的文档最先显示。你可以通过点击时间列的头部来反转排序。事实上,所有建了索引的字段,都可以用来排序。更多细节,请阅读 [Sorting the Documents Table](http://www.elasticsearch.org/guide/en/kibana/current/discover.html#sorting)
当你提交搜索的时候,直方图,文档表格,字段列表,都会自动反映成搜索的结果。hits(匹配的文档)总数会在直方图的右上角显示。文档表格显示前 500 个匹配文档。默认的,文档倒序排列,最新的文档最先显示。你可以通过点击时间列的头部来反转排序。事实上,所有建了索引的字段,都可以用来排序,稍后会详细说明

要搜索你的数据:

Expand All @@ -37,7 +39,7 @@
* 要搜索一个值的范围,你可以用范围查询语法,`[START_VALUE TO END_VALUE]`。比如,要查找 4xx 的状态码,你可以输入 `status:[400 TO 499]`
* 要指定更复杂的搜索标准,你可以用布尔操作符 `AND`, `OR`, 和 `NOT`。比如,要查找 4xx 的状态码,还是 `php``html` 结尾的数据,你可以输入 `status:[400 TO 499] AND (extension:php OR extension:html)`

> 这些例子都用了 Lucene query syntax。你也可以提交 Elasticsearch Query DSL 式的请求。更多示例,请阅读 Elasticsearch 文档中的 [query string syntax](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html#query-string-syntax)
> 这些例子都用了 Lucene query syntax。你也可以提交 Elasticsearch Query DSL 式的请求。更多示例,参见之前 [Elasticsearch 章节](../../elasticsearch/api/search.md)
2. 点击回车键,或者点击 `Search` 按钮提交你的搜索请求。

Expand All @@ -49,7 +51,7 @@

## 保存搜索

你可以在 Discover 页加载已保存的搜索,也可以用作 [visualizations](http://www.elasticsearch.org/guide/en/kibana/current/visualize.html) 的基础。保存一个搜索,意味着同时保存下了搜索请求字符串和当前选择的索引模式。
你可以在 Discover 页加载已保存的搜索,也可以用作 [visualizations](./visualize.md) 的基础。保存一个搜索,意味着同时保存下了搜索请求字符串和当前选择的索引模式。

要保存当前搜索:

Expand All @@ -74,7 +76,7 @@
1. 点击 Discover 工具栏的 `Settings` 按钮 ![Settings button](http://www.elasticsearch.org/guide/en/kibana/current/images/SettingsButton.jpg)
2. 从索引模式列表中选取你打算采用的模式。

关于索引模式的更多细节,请阅读 [Creating an Index Pattern](http://www.elasticsearch.org/guide/en/kibana/current/settings.html#settings-create-pattern)
关于索引模式的更多细节,请阅读稍后 [Setting 功能小节](./settings.md)

## 自动刷新页面

Expand Down Expand Up @@ -135,7 +137,7 @@

## 查看文档数据

当你提交一个搜索请求,最近的 500 个搜索结果会显示在文档表格里。你可以在 [Advanced Settings](./settings.md#advanced-options) 里通过 `discover:sampleSize` 属性配置表格里具体的文档数量。默认的,表格会显示当前选择的索引模式中定义的时间字段内容(转换成本地时区)以及 `_source` 文档。你可以从字段列表[添加字段到文档表格](http://www.elasticsearch.org/guide/en/kibana/current/discover.html#adding-columns)。还可以用表格里包含的任意已建索引的字段来[排序列出的文档](http://www.elasticsearch.org/guide/en/kibana/current/discover.html#sorting)
当你提交一个搜索请求,最近的 500 个搜索结果会显示在文档表格里。你可以在 **Advanced Settings** 里通过 `discover:sampleSize` 属性配置表格里具体的文档数量。默认的,表格会显示当前选择的索引模式中定义的时间字段内容(转换成本地时区)以及 `_source` 文档。你可以从字段列表*添加字段到文档表格*。还可以用表格里包含的任意已建索引的字段来*排序列出的文档*

要查看一个文档的字段数据,点击表格第一列(通常都是时间)文档内容左侧的 `Expand` 按钮 ![Expand Button](http://www.elasticsearch.org/guide/en/kibana/current/images/ExpandButton.jpg)。Kibana 从 Elasticsearch 读取数据然后在表格中显示文档字段。这个表格每行是一个字段的名字、过滤器按钮和字段的值。

Expand Down
4 changes: 4 additions & 0 deletions kibana/v4/examples/README.md
@@ -0,0 +1,4 @@
# 常见 sub aggs 示例

本章开始,就提到 K4 和 K3 的区别,在 K4 中,即便介绍完了全部 visualize 的配置项,也不代表用户能立刻上手配置出来和 K3 一样的面板。所以本节,会以几个具体的日志分析需求为例,演示在 K4 中,利用 Elasticsearch 1.0 以后提供的 Aggregation 特性,能够做到哪些有用的可视化效果。

4 changes: 3 additions & 1 deletion kibana/v4/production.md
@@ -1,3 +1,5 @@
# 生产环境部署

Kibana4 是是一个完整的 web 应用。使用时,你需要做的只是打开浏览器,然后输入你运行 Kibana 的机器地址然后加上端口号。比如说:`localhost:5601` 或者 `http://YOURDOMAIN.com:5601`

但是当你准备在生产环境使用 Kibana4 的时候,比起在本机运行,就需要多考虑一些问题:
Expand Down Expand Up @@ -63,7 +65,7 @@ Nginx 只能加密和管理浏览器到服务器端的请求,而 Kibana4 到 E
- indices:data/write/update
- indices:admin/create

更多配置 Shield 的内容,请阅读 [Shield with Kibana 4](https://www.elasticsearch.org/guide/en/shield/current/_shield_with_kibana_4.html)
更多配置 Shield 的内容,请阅读官网的 [Shield with Kibana 4](https://www.elasticsearch.org/guide/en/shield/current/_shield_with_kibana_4.html)

要配置 Kibana 的凭证,设置 `kibana.yml` 里的 `kibana_elasticsearch_username``kibana_elasticsearch_password` 选项即可:

Expand Down
10 changes: 6 additions & 4 deletions kibana/v4/setup.md
@@ -1,12 +1,14 @@
你可以在几分钟内安装好 Kibana 然后开始探索你的 Elasticsearch 索引。你要的就是:
# 安排、配置和运行

Kibana4 安装方式依然简单,你可以在几分钟内安装好 Kibana 然后开始探索你的 Elasticsearch 索引。只需要预备:

* Elasticsearch 1.4.4 或者更新的版本
* 一个现代浏览器 - [支持的浏览器列表](http://www.elasticsearch.com/support/matrix?_ga=1.149082614.1575542547.1409213558).
* 有关你的 Elasticsearch 集群的信息:
* 你想要连接 Elasticsearch 实例的 URL
* 你想搜索哪些 Elasticsearch 索引

> 如果你的 Elasticsearch 是被 [Shield](http://www.elasticsearch.org/overview/shield/) 保护着的,阅读 [Shield with Kibana 4](https://www.elasticsearch.org/guide/en/shield/current/_shield_with_kibana_4.html) 学习额外的安装说明
> 如果你的 Elasticsearch 是被 [Shield](http://www.elasticsearch.org/overview/shield/) 保护着的,阅读[生产环境部署章节](./production.md)相关内容学习额外的安装说明
## 安装并启动 kibana

Expand All @@ -20,9 +22,9 @@

## 让 kibana 连接到 elasticsearch

在开始用 Kibana 之前,你需要告诉它你打算探索哪个 Elasticsearch 索引。第一次访问 Kibana 的时候,你会被要求定义一个 *index pattern* 用来匹配一个或者多个索引名。好了。这就是你需要做的全部工作。以后你还可以随时从 [Settings tab](http://www.elasticsearch.org/guide/en/kibana/current/settings.html#settings-create-pattern) 页面添加更多的 index pattern。
在开始用 Kibana 之前,你需要告诉它你打算探索哪个 Elasticsearch 索引。第一次访问 Kibana 的时候,你会被要求定义一个 *index pattern* 用来匹配一个或者多个索引名。好了。这就是你需要做的全部工作。以后你还可以随时从 [Settings 标签页](./settings.md)添加更多的 index pattern。

> 默认情况下,Kibana 会连接运行在 `localhost` 的 Elasticsearch。要连接其他 Elasticsearch 实例,修改 `kibana.yml` 里的 Elasticsearch URL,然后重启 Kibana。如何在生产环境下使用 Kibana,阅读 [Using Kibana in a Production Environment](./production.md).
> 默认情况下,Kibana 会连接运行在 `localhost` 的 Elasticsearch。要连接其他 Elasticsearch 实例,修改 `kibana.yml` 里的 Elasticsearch URL,然后重启 Kibana。如何在生产环境下使用 Kibana,阅读[生产环境部署章节](./production.md)
要从 Kibana 访问的 Elasticsearch 索引的配置方法:

Expand Down
6 changes: 4 additions & 2 deletions kibana/v4/visualize/README.md
@@ -1,10 +1,12 @@
你可以用 *Visualize* 页来设计可视化。你可以保存可视化,以后再用,或者合并到 *dashboard* 里。一个可视化可以基于以下几种数据源类型:
# 各 Visualize 功能

Visualize 标签页用来设计可视化。你可以保存可视化,以后再用,或者加载合并到 *dashboard* 里。一个可视化可以基于以下几种数据源类型:

* 一个新的交互式搜索
* 一个已保存的搜索
* 一个已保存的可视化

可视化是基于 Elasticsearch 1 引入的[聚合(aggregation)](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-aggregations.html) 特性。
可视化是基于 Elasticsearch 1.0 引入的[聚合(aggregation)](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-aggregations.html) 特性。

## 创建一个新可视化

Expand Down
3 changes: 3 additions & 0 deletions logstash/examples/README.md
@@ -0,0 +1,3 @@
# 场景示例

前面虽然介绍了几十个常用的 Logstash 插件的常见配置项。但是过多的选择下,如何组合使用这些插件,依然是一部分用户的幸福难题。本节,列举一些最常见的日志场景,演示一下针对性的组件搭配。希望能给读者带来一点启发。
7 changes: 7 additions & 0 deletions logstash/performance/README.md
@@ -0,0 +1,7 @@
# 性能与测试

任何软件都需要掌握其性能瓶颈,以及线上运行时的性能状态。Logstash 也不例外。

长久以来,Logstash 在这方面一直处于比较黑盒的状态。因为其内部队列使用的是标准的 stud 库,并非自己实现,在 Logstash 本身源代码里是找不出来什么问题的。我们只能按照其 pipeline 原理,总结出来一些模拟检测的手段。本节主要介绍这方面的内容。

Logstash 官方已经将性能监控问题,列入 roadmap,或许在未来的 1.6 或者 2.0 版本中,会有质的改变。

0 comments on commit 6d5ebd3

Please sign in to comment.