kibana

kibana是一款开源分析和可视化平台,设计出来用于和Elasticsearch一起使用。

安装kibana

采用docker方式安装

1
docker run --name mykibana -e ELASTICSEARCH_URL=http://<your-ip>:9200 -p 5601:5601 -d daocloud.io/library/kibana:<version>

其中<your-ip>请填写你的elasticsearch服务使用的ip。如果elasticsearch也是通过docker服务启动的,那么可以通过docker inspect --format '{\{.NetworkSettings.IPAddress}\}' container_id命令查看elasticsearch容器对应的ip地址。其中\为转义为了可以被hexo识别,使用命令时可以不打。

<version>请和elasticsearch保持一致避免出现问题。我的elasticsearch使用的是daocloud.io/library/elasticsearch:5.4.2-alpine,kibana使用的是daocloud.io/library/kibana:5.4.2。

使用kibana

chrome通过localhost:5601可以访问kibana。没有错误情况下应该类似下图界面:

使用kibana的第一步是配置索引。假设elasticsearch中已经有一个defensenews的索引。那么可以将索引匹配模式的名称写成defense*,由于我的这个索引内没有时间数据,因此取消勾选索引包含时间活动这一选项框。然后点击create创建即可。

在网页左侧的Management栏目下,可以看到defense*索引包含的字段及其类型。

需要注意,只有具有aggregatable属性的字段才可以进行聚合做图。我的这个索引所有字段类型都是text,因此都无法参与聚合。只需要在创建索引的时候将字段类型定义如下代码中的publish,就可以具有aggregatable属性,更具体的类型设定我没有尝试,请自行挖掘。

1
2
3
4
5
6
7
8
9
10
11
12
index_mappings = {
"mappings": {
"news": {
"properties": {
"url": {"type": "text"},
"title": {"type": "text"},
"publish": {"type": "string""index": "not_analyzed"},
"content": {"type": "text"},
}
}
}
}

inferences

记一次Docker下安装Logstash+Elasticsearch+Kibana经历

Kibana基本使用