Linux에서 로그를 보는 세 가지 명령은 다음과 같습니다. 1. 파일 내용과 로그 파일의 변경 사항을 실시간으로 볼 수 있는 tail 명령 2. 여러 로그 파일을 동시에 모니터링할 수 있는 multitail 명령 명령, 이 명령을 사용하면 화면을 어지럽히지 않고 로그의 변경 사항을 빠르게 확인할 수 있습니다.
이 튜토리얼의 운영 환경: linux5.9.8 시스템, Dell G3 컴퓨터.
Linux에서 로그를 보는 세 가지 명령은 무엇입니까?
Linux에서 실시간으로 로그를 보는 3가지 방법
최근 cnaaa.com에서 클라우드 서버를 구입했습니다.
우리 모두는 Linux에서 파일을 보는 방법을 알아야 합니다. 예를 들어 cat 또는 less 명령을 사용할 수 있습니다.
정적 파일을 보는 데 적합합니다. 로그 파일은 동적이며 해당 내용은 언제든지 변경될 수 있습니다. 로그 파일을 모니터링하려면 로그 파일의 내용이 변경되는 시점을 실시간으로 확인할 수 있어야 합니다.
그렇다면 실시간으로 로그 파일을 보는 방법은 무엇일까요? tail 명령도 사용할 수 있습니다. 이 기사에서는 로그 파일을 실시간으로 볼 수 있는 도구를 소개합니다.
1. tail 명령을 사용하여 로그 파일을 봅니다.
tail 명령은 매우 널리 사용되므로 시스템 관리자는 로그 파일을 tail하라는 명령을 자주 사용합니다.
대부분의 경우 tail 명령은 파일 끝의 내용을 보는 데 사용되므로 tail이라는 이름이 붙었습니다.
파일 끝의 콘텐츠를 추적하려면 -f 옵션을 사용하세요. 즉, 파일에 새로 추가된 콘텐츠가 계속 표시됩니다.
tail -f location_of_log_file
[외부 링크 이미지 전송에 실패했습니다. 원본 사이트에 리치 방지 메커니즘이 있을 수 있습니다. 이미지를 저장하고 직접 업로드하는 것이 좋습니다. (img-nzCWCjye-1664183028850)(D:/img/640.png) ]
로그 파일 추적을 중지하려면 Ctrl +C 단축키를 사용할 수 있습니다.
tail
和 grep
위에서 언급했듯이 tail 명령은 파일 내용의 변경 사항을 실시간으로 볼 수 있습니다. 그러나 파일 내용이 매우 빠르게 업데이트되면 새로 업데이트된 내용이 깜박이게 되므로 보기가 그리 편리하지 않습니다.
예를 들어 로그 파일을 추적할 때 특정 용어(문자열)를 모니터링하는 경우가 많은데, 이는 빠르게 업데이트되는 대량의 콘텐츠에서 추적하기가 매우 불편합니다.
이 문제를 해결하기 위해 tail과 grep 명령을 결합할 수 있습니다. 아래와 같습니다.
tail -f log_file | grep search_term
[외부 링크 이미지 전송에 실패했습니다. 소스 사이트에 리칭 방지 메커니즘이 있을 수 있습니다. 이미지를 저장하고 직접 업로드하는 것이 좋습니다. (img-LxXIylsU-1664183028854)(D:/img/ 640-1664179747239-1.png )]
이쪽이 훨씬 나아보이죠? 이를 토대로 몇 가지 개선을 해보겠습니다.
grep을 사용하여 검색어를 표시하면 표시되는 정보가 상대적으로 제한적이므로 검색 결과의 처음과 마지막 몇 줄을 표시하기 위해 -C 옵션을 자주 사용합니다.
tail -f log_file | grep -C 3 search_term
이런 식으로요. , 관련 검색 결과를 볼 수 있습니다. 다음 정보 줄은 로그 정보를 더 잘 추적할 수 있습니다.
좀 더 개선하고 싶으신가요? 여러 검색어에 대해 grep을 사용할 수 있으며 대소문자를 구분하지 않고 수행할 수 있습니다.
tail -f log_file | grep -C 3 -i - E 'search_term_1|search_term_2'
로그 회전을 사용하여 로그 추적
대부분의 엔터프라이즈 서버, 로그는 회전됩니다. 즉, 로그 파일이 특정 크기에 도달하면 이름이 바뀌고 압축됩니다.
[외부 링크 이미지 전송에 실패했습니다. 원본 사이트에 리치 방지 메커니즘이 있을 수 있습니다. 이미지를 저장하고 직접 업로드하는 것이 좋습니다. (img-h2RUcofL-1664183028856)(D:/img/640-1664179747241-2 .png)]
로그 파일을 실시간으로 추적하면 문제가 발생할 수 있습니다. 기본적으로 tail 명령은 파일 설명자에서 작동합니다. 현재 로그 파일이 교체되면 tail 명령은 이제 보관된 로그 파일을 가리키며 이제 변경 사항이 기록되지 않습니다.
해결책은 로그 파일을 이름으로 추적하는 것입니다. 이렇게 하면 로그 회전이 발생하더라도 꼬리는 현재 로그 파일을 가리킵니다(이름은 절대 변경되지 않으므로).
tail --follow=name log_file | grep -C 3 -i - E 'search_term_1|search_term_2'
tail은 로그 파일의 실시간 모니터링에 매우 적합하지만 위의 방법은 하나의 로그 파일만 모니터링합니다. 여러 로그 파일을 모니터링하려면 어떻게 해야 합니까? 다음 섹션을 참조하세요.
tail을 사용하여 여러 로그 파일 보기
Linux 시스템에서 작업할 때 tail 명령을 사용하여 여러 로그 파일을 동시에 모니터링할 수 있습니다. 파일 경로만 제공하면 됩니다:
tail -f log_file_1 -f log_file_2
위와 함께. 명령을 실행하면 실시간 업데이트로 로그 파일이 표시되며 앞에는 다양한 로그 파일을 구별할 수 있는 파일 이름이 표시됩니다.
[외부 링크 이미지 전송에 실패했습니다. 소스 사이트에 리칭 방지 메커니즘이 있을 수 있습니다. 이미지를 저장하고 직접 업로드하는 것을 권장합니다 (img-CMiWKszs-1664183028859) (D:/img/640-1664179747242-3.png)]
위의 방법 외에도 더 편리한 방법이 있습니다. 멀티테일이라는 도구를 사용하세요.
2. 멀티테일을 사용하여 여러 로그 파일을 동시에 모니터링
이름에서 알 수 있듯이 멀티테일은 여러 파일을 동시에 표시하는 데 사용됩니다.
tail은 동시에 여러 파일을 모니터링할 수 있는데, 멀티테일의 특별한 점은 무엇인가요?
멀티테일의 장점은 파일을 분할 보기로 표시할 수 있고 다른 파일을 다른 행과 열에 표시할 수도 있다는 것입니다.
tail 在同一视图中显示所有内容,所以有时候很难跟踪,multitail 通过提供类似 screen 命令的分割视图来克服了这一困难。
注意,multitail 在大多数Linux系统中没有被默认安装,所以在使用前需要先手动安装。
在 multitail 命令后跟文件路径,最好一次不要超过3个,因为超过3个或以上,跟踪起来就比较困难了。
multitail log_file_1 log_file_2
默认情况下,multitail 的工作方式与 tail -f 相同,它显示最后100行,然后进入实时监视视图;另外,它按行来拆分视图。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EZ9iX4d3-1664183028861)(D:/img/640-1664179747242-4.png)]
你可以按 b 键打开一个文件选择窗口,选择某个日志文件查看,以做进一步分析。
分割视图使用 -s 选项,后面跟一个数字,即视图的数量:
multitail -s 2 log_file_1 log_file_2
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ETQjV0KA-1664183028863)(D:/img/640-1664179747243-5.png)]
按 q 键可退出 multitail 所有的视图。
multitail 可以做的还有很多,大家感兴趣可以查看一下它的官方文档,本文就不继续介绍了。
3. 使用 less 命令实时查看日志文件
less 命令多用于读取文本文件,也可用于读取实时被更改的文件。
选项 +F 可以实时跟踪文件的更改:
less +F log_file
上述命令会打开日志文件,并实时显示正在写入的更改:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oDZivgss-1664183028865)(D:/img/640-1664179747243-6.png)]
按 ctrl +c 中断显示,按 q 会退出视图。
与 tail 命令不同,此方法可以让我们快速查看日志的更改,而不会使屏幕混乱。
上述监视日志的方法适用于传统的基于文本的日志文件。对于系统日志,可以使用 syslogs,但是现在许多 Linux 发行版已经开始使用 journal 日志来查看和分析日志,所以需要使用 journalctl 命令。
推荐学习:《Linux视频教程》
위 내용은 Linux에서 로그를 보는 세 가지 명령의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!