除了可以在 KubeSphere 界面上一键导出日志外(最大 10 万条),你还可以使用 elastic-dump 工具导出日志。

elastic-dump: https://github.com/elasticsearch-dump/elasticsearch-dump

以导出 ks-apiserver-577bcb597c-trbxf POD 日志(json 格式,升序导出)为例:

elasticdump \
  --input=http://10.233.58.22:9200/ks-logstash-log* \
  --output=query.json \
  --searchBody="{\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"kubernetes.pod_name.keyword\":\"ks-apiserver-577bcb597c-trbxf\"}},{\"match_phrase\":{\"kubernetes.container_name.keyword\":\"ks-apiserver\"}}]}},\"sort\":[{\"time\":\"asc\"}]}"

如果要选择时间范围,请调整 –searchBody 参数,在 filter 数组里补上:

{
  "range":{
    "time":{
      "gte":"2020-05-20T21:22:14+08:00",
      "lte":"2020-05-20T21:38:54+08:00"
    }
  }
}

结果如图