日志的格式如下
[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
xunandotme 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 ``` |