专栏名称: 阿里云云原生
发布云原生技术最新资讯、汇集云原生技术最全内容,定期举办云原生活动、直播,阿里产品及用户最佳实践发布。与你并肩探索云原生技术点滴,分享你需要的云原生内容。
目录
相关文章推荐
中国食品药品监管杂志  ·  科普 | 把苏打水当日常饮用水,真的健康吗? ·  8 小时前  
新疆949交通广播  ·  正式开通! ·  昨天  
中国药闻  ·  “稳”了,中国“磁吸力”将更强 ·  2 天前  
51好读  ›  专栏  ›  阿里云云原生

无需重新学习,使用 Kibana 查询/可视化 SLS 数据

阿里云云原生  · 公众号  ·  · 2024-04-23 19:50

正文

场景




Cloud Native

现在通过 SLS 的 ES 兼容能力,可以很方便地实现用 Kibana 来查询和可视化 SLS 的数据。对于从 ES 迁移到 SLS 的用户可以继续保留原来的 Kibana 使用习惯。下面来演示如何通过 Kibana 来访问 SLS。

使用方法




Cloud Native


部署架构

这里蓝色部分是需要客户端部署的组件。

  • Kibana 就是用来可视化的
  • Proxy 用来区分 Kibana 的请求,将 SLS 相关的转发到 SLS 的 ES 兼容接口
  • Elasticsearch 用来存 Kibana 的 Meta
等等,为什么这里还需要一个 ES?
原因是 SLS 的 Logstore 不支持更新,很多 Meta 类的数据不适合存在 SLS。

而 Kibana 有很多元数据要存储,比如 Kibana 的图表配置、Index Pattern 配置等。

因此需要部署一个 ES 实例,这个 ES 实例只会存 Kibana 的元数据,所以它的资源占用非常小。

部署过程




Cloud Native


使用 docker-compose 部署

相关准备

安装好 docker 和 docker compose,下面的操作步骤对于 podman compose 的方式一样适用。

创建相关目录

mkdir sls-kibaba # 创建一个新的目录cd sls-kibaba # 进入mkdir es_data # 创建一个目录用于放es的数据

配置

在 sls-kibana 目录下下创建 docker-compose.yml 文件。

内容如下:(下面标识为此处请修改的地方,请根据实际情况做一下修改)

version




    
: '3'services:  es:    image: elasticsearch:7.17.3    environment:      - "discovery.type=single-node"      - "ES_JAVA_OPTS=-Xms2G -Xmx2G"      - ELASTIC_USERNAME=elastic      - ELASTIC_PASSWORD=ES密码 # 此处请修改      - xpack.security.enabled=true    volumes:      - ./data:/usr/share/elasticsearch/data    networks:      - es717net
kproxy: image: sls-registry.cn-hangzhou.cr.aliyuncs.com/kproxy/kproxy:1.9d depends_on: - es environment: - ES_ENDPOINT=es:9200 - SLS_ENDPOINT=https://etl-dev.cn-huhehaote.log.aliyuncs.com/es/ # 此处请修改,规则为 https://${project名}.${slsEnpoint名}/es/ - SLS_PROJECT=etl-dev # 此处请修改 - SLS_ACCESS_KEY_ID=ALIYUN_ACCESS_KEY_ID # 此处请修改, 确保有读logstore的权限 - SLS_ACCESS_KEY_SECRET=ALIYUN_ACCESS_KEY_SECRET # 此处请修改为真实accessKeySecret networks: - es717net
kibana: image: kibana:7.17.3 depends_on: - kproxy environment: - ELASTICSEARCH_HOSTS=http://kproxy:9201 - ELASTICSEARCH_USERNAME=elastic - ELASTICSEARCH_PASSWORD=ES密码 # 此处请修改(跟前面设置的ES密码相同) - XPACK_MONITORING_UI_CONTAINER_ELASTICSEARCH_ENABLED=true ports: - "5601:5601" networks: - es717net
networks: es717net: ipam: driver: default

启动本地 Kibana 服务:

docker compose up -d
检查 docker compose 启动状态:
docker compose ps

访问 Kibana




Cloud Native

浏览器访问 http://$(部署 Kibaba 的 IP 地址}:5601,输入账号密码登录 Kibana。


配置 Index Pattern
选择 Stack Managment:
点击 Index Pattern Tab, 在 Index Pattern 列表中看不到数据是正常的,日志服务的 Logstore 映射到 Kibana 中的 Index Patterns 需要手动创建。 在提示框中单击 create an index pattern against hidden or system indices.
在 Create Index Pattern 页,Name 填写格式为 ${project}.${logstore},注意这里比必须完全填写,不支持*匹配。
点完成 Create Index Pattern 完成 Pattern 创建,然后进入 Discover 里就可以查询数据了。


查询 Logstore

Kibana 的查询框中可以选择 KQL 和 Lucene 两种方式,SLS 的 ES 兼容接口都进行了支持。

简单的 host 查询:

复杂一些 query、filter 都可以查询。


可视化图表
那么除了查询,可以用 Kibana 来做可视化吗?当然可以! 选择 Dashboard。
进入后点击 Create Dashboard 来创建一个图表。

通过设置,横轴、纵轴的字段和统计方式,可以很方便地做出想要图。

比如最简单的统计一个请求访问数的柱状图,时间为横轴,记录数为纵轴。






请到「今天看啥」查看全文