You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署ClearML本地服务器后,如何便捷查看ElasticSearch与Redis日志?

便捷查看ClearML本地服务器ES和Redis日志的方案

方案1:用ELK栈(ElasticSearch + Kibana)实现类Kibana日志查询体验

这个方案完全匹配你想要的Kibana式日志查看逻辑,把Docker容器(ES、Redis)的日志统一收集到ElasticSearch,再通过Kibana可视化查询。

步骤1:部署兼容版本的Kibana

如果你的ClearML部署未自带Kibana,通过Docker启动一个和现有ES版本一致的Kibana容器:

docker run -d --name clearml-kibana \
  --network clearml_default \  # 加入ClearML默认网络,确保能访问内部ES
  -p 5601:5601 \
  -e ELASTICSEARCH_HOSTS=http://elasticsearch:9200 \  # ClearML的ES容器默认名为elasticsearch
  kibana:<你的ES版本号>  # 比如ES是7.17.0,就用kibana:7.17.0

步骤2:配置Docker日志自动推送至ES

修改Docker守护进程配置文件/etc/docker/daemon.json,让所有容器日志自动发送到ClearML的ES:

{
  "log-driver": "elasticsearch",
  "log-opts": {
    "elasticsearch-url": "http://<你的ES主机IP>:9200",
    "elasticsearch-index": "docker-logs-{DATE}"
  }
}

重启Docker服务生效:

sudo systemctl restart docker

注:如果ClearML的ES开启了身份验证,需要在log-opts中追加elasticsearch-username和elasticsearch-password参数。

步骤3:在Kibana中配置索引模式

  1. 访问Kibana面板(http://localhost:5601)
  2. 进入Management > Index Patterns,创建新索引模式,匹配docker-logs-*
  3. 设置时间字段为@timestamp,完成创建

之后就能在Kibana的Discover页面,按容器名(elasticsearch/redis)、关键词、时间范围筛选查看日志,完全实现你想要的便捷查询体验。

方案2:轻量级替代——Loki + Grafana日志可视化

如果不想部署完整ELK栈,Loki+Grafana更轻量化,适合本地测试环境:

步骤1:部署Loki和Grafana

创建docker-compose.yml文件:

version: "3"
services:
  loki:
    image: grafana/loki:latest
    ports:
      - "3100:3100"
    volumes:
      - ./loki-config.yml:/etc/loki/local-config.yaml
    command: -config.file=/etc/loki/local-config.yaml
  grafana:
    image: grafana/grafana:latest
    ports:
      - "3000:3000"
    volumes:
      - grafana-storage:/var/lib/grafana
    depends_on:
      - loki
volumes:
  grafana-storage:

创建loki-config.yml配置文件:

auth_enabled: false

server:
  http_listen_port: 3100

ingester:
  lifecycler:
    address: 127.0.0.1
    ring:
      kvstore:
        store: inmemory
      replication_factor: 1
    final_sleep: 0s
  chunk_idle_period: 5m
  chunk_retain_period: 30s
  max_transfer_retries: 0

schema_config:
  configs:
    - from: 2020-10-24
      store: boltdb-shipper
      object_store: filesystem
      schema: v11
      index:
        prefix: index_
        period: 24h

storage_config:
  boltdb_shipper:
    active_index_directory: /loki/index
    cache_location: /loki/index_cache
    shared_store: filesystem
  filesystem:
    directory: /loki/chunks

compactor:
  working_directory: /loki/compactor
  shared_store: filesystem

limits_config:
  reject_old_samples: true
  reject_old_samples_max_age: 168h

chunk_store_config:
  max_look_back_period: 0s

table_manager:
  retention_deletes_enabled: false
  retention_period: 0s

启动服务:

docker-compose up -d

步骤2:配置Docker日志推送至Loki

修改/etc/docker/daemon.json:

{
  "log-driver": "loki",
  "log-opts": {
    "loki-url": "http://<你的Loki主机IP>:3100/loki/api/v1/push",
    "loki-external-labels": "container_name={{.Name}}"
  }
}

重启Docker服务:

sudo systemctl restart docker

步骤3:在Grafana中查看日志

  1. 访问Grafana面板(http://localhost:3000,默认账号admin/admin)
  2. 进入Configuration > Data Sources,添加Loki数据源,URL填写http://loki:3100
  3. 进入Explore页面,选择Loki数据源,即可按容器名筛选、搜索ES和Redis的日志。

方案3:本地挂载日志文件(无可视化,快速查看)

如果只是需要便捷查看日志文件,不需要可视化功能,可以修改ClearML的docker-compose.yml,将ES和Redis的日志目录挂载到本地:
找到ES和Redis的服务配置,添加volumes字段:

services:
  elasticsearch:
    ...
    volumes:
      - ./elasticsearch-logs:/usr/share/elasticsearch/logs
  redis:
    ...
    volumes:
      - ./redis-logs:/var/log/redis

重启ClearML服务:

docker-compose up -d

之后可以直接在本地目录查看日志,用tail -f实时监控:

tail -f ./elasticsearch-logs/elasticsearch.log
tail -f ./redis-logs/redis-server.log

内容的提问来源于stack exchange,提问作者happy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 12:33:17