日志的格式如下 [08-28 07:36:30 839420] [debug] [16169] [worker.cc:1100] ivyjxj,Foo, timer
我想把合并的日志按前面的时间进行排序
![]() | 1 summerLast 2024-08-28 15:40:13 +08:00 elk |
![]() | 2 xnplus 2024-08-28 15:40:34 +08:00 syslogd |
3 tgcdz 2024-08-28 15:57:39 +08:00 |
4 Jemini 2024-08-28 15:58:23 +08:00 elk ,loki |
![]() | 5 0x5c0f 2024-08-28 16:06:49 +08:00 如果不需要进行行合并,在 linux 下,你可以直接用 cat 合并为一个文件,然后 sort 命令排个序就行了,不过还是建议导入到 loki 这种日志系统里面在进行分析 |
![]() | 6 akin520 2024-08-28 16:57:41 +08:00 rsyslog |
7 lx0758 2024-08-28 17:00:37 +08:00 公司用 elk, 自己用 loki |
![]() | 8 amazingZL 2024-08-28 17:01:54 +08:00 分布式日志手机,还是上报到日志系统来弄方便,查日志也方便 |
![]() | 9 lambdaq 2024-08-28 17:03:52 +08:00 公司用 e+k 。 用 https://vector.dev/ 代替 l |
10 vacuitym 2024-08-28 17:10:01 +08:00 promtail + loki + grafana 小项目十分友好 |
11 onesixthree 2024-08-28 17:15:58 +08:00 1 、汇总到一起如果是容器可以挂载共享盘,多个文件汇总到一个目录下,然后用工具合并这些文件,例如 @tgcdz 2 、也可以使用 filebeat 等工具采集发送到队列,在汇总的地方进行消费重写到一个文件 3 、容器内采用 EFS ,多个容器写入一个文件(共享写没实验过,不知道会不会冲突) |
![]() | 12 Kaiv2 2024-08-28 17:17:07 +08:00 如果感觉 ELK 太重,quickwit + vector 也不错 目前我用于收集一下系统日志,quickwit 可以简单的查询 |
13 jdz OP @onesixthree 能根据每条日志的时间进行排序么 |
![]() | 14 ShineyWang 2024-08-28 21:54:32 +08:00 via Android |
![]() | 15 xuanbg 2024-08-28 22:09:06 +08:00 elk ,简单好用 |
16 wxf666 2024-08-29 11:33:07 +08:00 一个 `sort` 命令不就行了嘛。。你的日期部分也满足默认字典序 里面有个选项:`-m, --merge 归并已排序的文件;不进行排序` 你可以尝试如下命令(用了 `scp`、`curl` 两种方式,流式远程获取日志文件。远程服务器可以 `python3 -m http.server` 临时开个服务端): ```shell sort -m 本机日志.log <(curl -s http://远程主机 1IP:服务端口/路径/日志.log) <(scp -O 远程主机 2 用户 @远程主机 2IP:/路径/日志.log /dev/stdout) >合并后日志.log ``` 如,`sort -m <(seq 1 4) <(seq 3 6) <(seq 5 8)` 执行效果为: ``` 1 2 3 3 4 4 5 5 6 6 7 8 ``` |