一、 介绍
略。
二、 安装
2.1、使用 docker
安装版本: 6.4.3
docker-compose.yml 内容如下:
kibana:
image: 192.168.1.50:8870/kibana:6.4.3
container_name: kibana
ports:
- "5601:5601"
volumes:
- "/etc/timezone:/etc/timezone:ro"
- "/etc/localtime:/etc/localtime:ro"
- "/data/docker/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml"
restart: "always"
kibana.yml 内容如下:
[huangkai@instance-3knenqmy docker]$ cat kibana/config/kibana.yml
---
# Default Kibana configuration from kibana-docker.
#
server.name: kibana
server.host: "0"
#配置上下文路径,默认为 /
server.basePath: /kibana
# 配置上下文路径 是否重新,默认为false,当配置了 server.basePath 后,此值要配置为 true,否则会报 404.
server.rewriteBasePath: true
# 配置国际化,支持 en/zh-CN,默认为 en,配置为 zh-CN时,需要下载汉化插件: https://github.com/anbai-inc/Kibana_Hanization
#i18n.locale: "zh-CN"
elasticsearch.url: http://elasticsearch:9200
xpack.monitoring.ui.container.elasticsearch.enabled: true
说明:
kibana 连接 ElasticSearch 的配置文件为docker 容器中的 /usr/share/kibana/config/kibana.yml
中 elasticsearch.url
属性值,默认值为 http://elasticsearch:9200
,因为我这里部署的 kibana 与 elasticsearch 在同一台服务器,所以没有将 kibana的配置文件挂在到宿主机中。
启动成功后,使用浏览器访问 http://192.168.1.50:5601 即可。
2.2、 kibana 交付 k8s集群中
安装版本: 7.9.3
elasticsearch 的安装方式参考 ElastaicSearch RPM方式安装
资源配置清单:
deploy.yaml
## ConfigMap
kind: ConfigMap
apiVersion: v1
metadata:
labels:
name: kibana
name: kibana-configmap
namespace: infra
data:
kibana.yml: |-
server.name: kibana
server.host: "0"
elasticsearch.hosts: ["http://www.kevin.com:9200"]
---
## Service
kind: Service
apiVersion: v1
metadata:
labels:
name: kibana
name: kibana
namespace: infra
spec:
ports:
- port: 5601
targetPort: 5601
selector:
name: kibana
---
## Deployment
kind: Deployment
apiVersion: apps/v1
metadata:
labels:
name: kibana
name: kibana
namespace: infra
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
name: kibana
template:
metadata:
labels:
name: kibana
spec:
containers:
- name: kibana
image: kibana:7.9.3
imagePullPolicy: IfNotPresent
ports:
- containerPort: 5601
protocol: TCP
volumeMounts:
- name: configmap-volume
mountPath: /usr/share/kibana/config/kibana.yml
subPath: kibana.yml
volumes:
- name: configmap-volume
configMap:
name: kibana-configmap
route.yaml
kind: IngressRoute
metadata:
name: kibana-route
namespace: infra
spec:
entryPoints:
- web
routes:
- match: Host(`kibana.kevin.com`)
kind: Rule
services:
- name: kibana
port: 5601
应用资源配置清单:
[root@k8s-180 kibana]# kubectl apply -f deploy.yaml
[root@k8s-180 kibana]# kubectl apply -f route.yaml
配置DNS 解析
## 在配置文件中添加如下行
[root@www ~]# vim /var/named/kevin.com.zone
grafana A 192.168.1.189
## 重启热加载 kevin.com 域
[root@www ~]# rndc freeze kevin.com
[root@www ~]# rndc thawkevin.com
使用浏览器访问: http://kibana.kevin.com
,如果正常显示 kibana界面,部署成功。
三、kibana 基本使用
在 kibana 的 Dev Tools 菜单 console 中使用如下语法查看:
GET _search
{
"query": {
"match_all": {}
}
}
### 根据Id 查询
## 语法:/索引名称/索引类型/要查询的id
GET /test/commodity/dec3dceed7214a9184ba9cd58da5c4c6
### 添加数据
### 语法: /索引名称/索引类型/id
PUT /test/commodity/2323
{
"name":"小米",
"price":2399
}
### 查询所有
### 语法:/索引名称/索引类型/要查询的id
GET /test/commodity/_search
### 根据多个id 查询
GET /test/commodity/_mget
{
"ids":["dec3dceed7214a9184ba9cd58da5c4c6","bf3727cb6822420c82ff371858f05c16"]
}
### 条件查询:查询 price 为 5288
GET /test/commodity/_search?q=price:5288
### 区间查询:查询价格在 5000 ~ 5500
GET /test/commodity/_search?q=price[5000 TO 5500]
### 排序: 价格 desc | asc
GET /test/commodity/_search?sort=price:asc
### 分页查询
GET /test/commodity/_search?from=0&size=2
###-------- DSL 查询 -------
### term 查询:精确匹配
GET /test/commodity/_search
{
"query":{
"term": {
"price": "5888"
}
}
}
### like 查询,支持分词查询(分将参数分词),form和 size ###分页面参数
GET /test/commodity/_search
{
"from": 0,
"size": 20,
"query":{
"match": {
"name": "果"
}
}
}
kibana 文档:
https://www.elastic.co/products/stack/monitoring