Linux에 문제가 발생하면 문제를 해결하는 것이 악몽이 될 수 있습니다. 이와 관련된 고유한 문제는 직면한 문제가 간헐적으로 발생하고 원인을 알 수 없는 경우 두 배가 됩니다.
나는 당신이 할 수 있다고 생각합니다 Stack Overflow를 살펴보고 Reddit에 도움을 요청하세요. 또는 문제가 무엇인지 알아내기 위해 스스로 문제를 해결하고 시스템의 로그 파일을 살펴볼 수 있습니다.
로그 파일이란 무엇입니까?
많은 프로그램(Windows, Mac 또는 Linux용)은 진행하면서 로그 파일을 생성합니다. 안드로이드도 그것들을 생성합니다. 프로그램 실행 방법에 대한 정보가 포함된 일반 텍스트 파일입니다. 각 이벤트는 두 번째 줄에 타임스탬프가 찍힌 자체 줄에 있습니다.
이것이 모든 응용 프로그램에 보편적으로 해당되는 것은 아니지만 일반적으로 로그 파일은 /var/log 디렉토리에 있는 경향이 있습니다.
압도적으로, 이 파일의 데이터는 평범할 것입니다. 반드시 문제를 나타내는 것은 아닙니다. 특정 시간에 프로그램이 수행한 작업에 대한 업데이트입니다.
그러나 문제가 있는 경우 해당 정보가 로그 파일에 포함된다는 것을 보장할 수 있습니다. 이 정보는 문제를 해결하거나 아는 사람에게 설명적인 질문을 하는 데 사용할 수 있습니다.
따라서 로그 파일을 처리할 때 중요하지 않은 정보와 관심 있는 정보를 어떻게 분리합니까?
표준 Linux 유틸리티 사용
앞서 언급했듯이 로그 파일은 어느 한 플랫폼에만 국한되지 않습니다. 그럼에도 불구하고 이 기사의 초점은 Linux와 OS X가 될 것입니다. 이 두 운영 체제는 구문 분석에 필요한 필수 UNIX 명령줄 도구와 함께 제공되기 때문입니다.
로그 파일은 일반 텍스트 파일이므로 이러한 파일을 보는 데 사용하는 모든 도구를 사용할 수 있습니다. 이 중 grep은 아마도 가장 배우기 어렵지만 가장 유용할 것입니다. 특정 파일 내에서 특정 구문과 용어를 검색할 수 있습니다. 이에 대한 구문은 grep [term] [filename]입니다. .
가장 고급에서는 정규식(RegEx)을 사용하여 레이저 초점으로 용어와 항목을 검색할 수 있습니다. RegEx는 종종 마법처럼 보이지만 실제로는 매우 간단합니다.
그런 다음 'head' 및 'tail' 명령이 있습니다. 이것들이 무엇을 하는지 추측할 포인트가 없습니다. 파일의 상단 및 하단 10줄을 각각 보여줍니다. 따라서 로그 파일의 최신 항목을 보려면 "꼬리 파일 이름"을 실행합니다.
'-n' 트리거를 사용하여 표시되는 줄 수를 변경할 수 있습니다. 따라서 파일의 처음 20줄을 보려면 다음을 실행합니다.
헤드 -n 20 [파일 이름]
파일의 전체 내용을 보려면 'cat' 유틸리티를 사용할 수 있습니다. 로그 파일은 종종 수십만 줄 단위로 측정될 수 있기 때문에 다소 다루기 어려울 수 있습니다. . 더 나은 아이디어는 한 번에 한 페이지씩 볼 수 있는 less 유틸리티로 파이프하는 것입니다. 그렇게 하려면 실행
고양이 [파일 이름] | 적게
또는 sed 및 awk를 사용할 수 있습니다. 이 두 유틸리티를 사용하면 텍스트 파일을 처리하는 간단한 스크립트를 작성할 수 있습니다. 우리는 작년에 그들에 대해 썼습니다.
마지막으로, 자신이 있다면 vim 텍스트 편집기를 사용해 볼 수도 있습니다. 여기에는 로그 파일을 쉽게 구문 분석할 수 있는 여러 내장 명령이 있습니다. 32비트 버전의 vim도 최대 파일 크기가 2GB이지만 성능상의 이유로 대용량 파일에는 사용하지 않는 것이 좋습니다.
로그 관리 소프트웨어 사용
너무 힘든 작업처럼 들리거나 더 시각적인 것을 사용하고 싶다면 로그 관리 응용 프로그램(종종 SIEM 또는 보안 정보 및 이벤트 관리와 혼동됨) 사용을 고려할 수 있습니다.
이것에 대한 좋은 점은 그들이 당신을 위해 많은 노력을 기울인다는 것입니다. 그들 중 많은 사람들이 로그를 보고 자동으로 문제를 식별할 수 있습니다. 또한 모든 종류의 멋진 그래프와 차트로 로그를 시각화할 수 있으므로 애플리케이션이 얼마나 안정적으로 수행되고 있는지 더 잘 이해할 수 있습니다.
가장 잘 알려진 로그 관리 프로그램 중 하나는 Splunk입니다. 이 로그 관리 도구를 사용하면 웹 인터페이스를 사용하여 파일을 탐색할 수 있습니다. 강력하고 다재다능한 자체 검색 처리 언어도 있어 프로그래밍 방식으로 결과를 드릴다운할 수 있습니다.
Splunk는 수많은 대기업에서 사용하고 있습니다. Mac, Windows 및 Linux에서 사용할 수 있습니다. 그러나 가정 및 소규모 기업 사용자가 로그를 관리하는 데 사용할 수 있는 무료 버전도 있습니다.
Splunk Light라고 하는 이 버전은 엔터프라이즈 버전과 많은 공통점을 공유합니다. 로그를 탐색하고 문제가 있는지 파일을 모니터링하며 문제가 있을 때 경고를 발행할 수 있습니다.
그렇긴 하지만 Splunk Light에는 몇 가지 제한 사항이 있으며 이는 상당히 합리적입니다. 첫째, 사용할 수 있는 데이터의 양은 하루에 500MB로 제한됩니다. 충분하지 않은 경우 하루에 20GB의 로그를 사용할 수 있는 Splunk Light 유료 버전으로 업그레이드할 수 있습니다. 하지만 현실적으로 대부분의 사용자는 어디서든 얻을 수 없습니다. 그 근처.
또한 5명의 사용자만 지원하므로 대부분의 사람들에게 문제가 되지 않습니다. 특히 가정용 웹 및 파일 서버에서만 실행되는 경우에는 더욱 그렇습니다.
Splunk는 컴퓨터에 전체 클라이언트를 설치하지 않으려는 사용자나 원격 서버가 많은 사용자에게 이상적인 클라우드 버전을 제공합니다. 이것의 단점은 막대한 비용이 든다는 것입니다. 가장 저렴한 Splunk 요금제는 월 $125.00입니다. #
많은 현금입니다.
로그 파일을 어떻게 처리합니까?
따라서 직접 또는 원격 지원을 통해 로그 파일을 조사하고 문제를 해결하는 데 필요한 정보를 찾을 수 있는 방법을 살펴보았습니다. 그러나 더 나은 방법을 알고 있습니까? 로그 관리 소프트웨어나 표준 Linux 유틸리티를 사용하십니까?
그것에 대해 듣고 싶습니다. 아래 댓글로 알려주세요.