我们知道es一般搭配kibana做可视化,grafana和promethus配合使用,其实对于es中带时间字段的索引,可以作为grafana的数据源,来做一些可视化的监控和报表。下面开始搭建环境。
version: "3"
services:
elasticsearch:
image: docker.io/elasticsearch:7.17.6
# networks:
# - elastic-jaeger
ports:
- "9200:9200"
- "9300:9300"
restart: on-failure
environment:
- cluster.name=jaeger-cluster
- discovery.type=single-node
- http.host=0.0.0.0
- transport.host=127.0.0.1
- ES_JAVA_OPTS=-Xms512m -Xmx512m
- xpack.security.enabled=false
volumes:
- ~/bilibili/live/learn/elasticsearch/esdata:/usr/share/elasticsearch/data
extra_hosts:
- host.docker.internal:host-gateway
grafana:
image: grafana/grafana:latest
restart: always
container_name: grafana
hostname: grafana
environment:
- TZ=Asia/Shanghai
- ELASTICSEARCH_HOSTS=http://host.docker.internal:9200
volumes:
# - /opt/grafana/defaults.ini:/etc/grafana/grafana.ini
- ~/bilibili/live/learn/elasticsearch/grafana:/var/lib/grafana
ports:
- 3000:3000
kibana:
image: docker.io/kibana:7.17.6
ports:
- "5601:5601"
depends_on:
- elasticsearch
extra_hosts:
- host.docker.internal:host-gateway
# -e ELASTICSEARCH_HOSTS=http://172.17.0.2:9200
environment:
- ELASTICSEARCH_HOSTS=http://host.docker.internal:9200
启动容器
docker compose -f learn/elasticsearch/docker-compose-es-grafana.yml up
先登入kibana插入数据http://127.0.0.1:3000/login,用户名和密码都是admin
PUT chengji
{
"mappings": {
"properties": {
"name": {
"type": "text"
},
"name_keyword": {
"type": "keyword"
},
"sex": {
"type": "keyword"
},
"course": {
"type": "keyword"
},
"Score": {
"type": "integer"
},
"ctime":{
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss"
}
}
}
}
POST _bulk
{"index":{"_index":"chengji"}}
{"name":"张三","name_keyword":"张三","sex":"男","course":"语文","Score":76,"ctime":"2022-10-11 12:12:00"}
{"index":{"_index":"chengji"}}
{"name":"张三","name_keyword":"张三","sex":"男","course":"数学","Score":95,"ctime":"2022-10-11 12:13:00"}
{"index":{"_index":"chengji"}}
{"name":"张三","name_keyword":"张三","sex":"男","course":"英语","Score":58,"ctime":"2022-10-11 12:14:00"}
{"index":{"_index":"chengji"}}
{"name":"李四","name_keyword":"李四","sex":"男","course":"语文","Score":68,"ctime":"2022-10-11 12:16:00"}
{"index":{"_index":"chengji"}}
{"name":"李四","name_keyword":"李四","sex":"男","course":"数学","Score":45,"ctime":"2022-10-11 12:18:00"}
{"index":{"_index":"chengji"}}
{"name":"李四","name_keyword":"李四","sex":"男","course":"英语","Score":37,"ctime":"2022-10-11 12:19:00"}
{"index":{"_index":"chengji"}}
{"name":"王五","name_keyword":"王五","sex":"男","course":"语文","Score":81,"ctime":"2022-10-11 12:11:00"}
{"index":{"_index":"chengji"}}
{"name":"王五","name_keyword":"王五","sex":"男","course":"数学","Score":74,"ctime":"2022-10-11 12:21:00"}
{"index":{"_index":"chengji"}}
{"name":"王五","name_keyword":"王五","sex":"男","course":"英语","Score":64,"ctime":"2022-10-11 12:22:00"}
{"index":{"_index":"chengji"}}
{"name":"马六","name_keyword":"马六","sex":"男","course":"语文","Score":69,"ctime":"2022-10-11 12:23:00"}
{"index":{"_index":"chengji"}}
{"name":"马六","name_keyword":"马六","sex":"男","course":"数学","Score":93,"ctime":"2022-10-11 12:24:00"}
{"index":{"_index":"chengji"}}
{"name":"马六","name_keyword":"马六","sex":"男","course":"英语","Score":77,"ctime":"2022-10-11 12:25:00"}
{"index":{"_index":"chengji"}}
{"name":"小丽","name_keyword":"小丽","sex":"女","course":"语文","Score":84,"ctime":"2022-10-11 13:12:00"}
{"index":{"_index":"chengji"}}
{"name":"小丽","name_keyword":"小丽","sex":"女","course":"数学","Score":61,"ctime":"2022-10-11 14:12:00"}
{"index":{"_index":"chengji"}}
{"name":"小丽","name_keyword":"小丽","sex":"女","course":"英语","Score":88,"ctime":"2022-10-11 15:12:00"}
{"index":{"_index":"chengji"}}
{"name":"小梅","name_keyword":"小梅","sex":"女","course":"语文","Score":85,"ctime":"2022-10-11 12:34:00"}
{"index":{"_index":"chengji"}}
{"name":"小梅","name_keyword":"小梅","sex":"女","course":"数学","Score":78,"ctime":"2022-10-11 12:35:00"}
{"index":{"_index":"chengji"}}
{"name":"小梅","name_keyword":"小梅","sex":"女","course":"英语","Score":92,"ctime":"2022-10-11 12:36:00"}
{"index":{"_index":"chengji"}}
{"name":"周美","name_keyword":"周美","sex":"男","course":"语文","Score":96,"ctime":"2022-10-11 12:38:00"}
{"index":{"_index":"chengji"}}
{"name":"周美","name_keyword":"周美","sex":"男","course":"数学","Score":97,"ctime":"2022-10-11 12:40:00"}
{"index":{"_index":"chengji"}}
{"name":"周美","name_keyword":"周美","sex":"男","course":"英语","Score":93,"ctime":"2022-10-11 12:42:00"}
做完后开始配置grafana http://127.0.0.1:5601/app/home
会爆一个错误
Query error
Elasticsearch error: Bad Gateway
这是因为xhyve虚拟机的原因导致没法访问localhost,配置改成如下
问题解决,接着配置索引,选择时序字段。
然后就可以开始配置我们的时序监控面板了,当然也是支持luence查询的
本文分享自 golang算法架构leetcode技术php 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!