로그 파일 구문 분석

로그 파일 구문 분석

저는 프로세스/사용자 리소스 활용에 대한 데이터를 저장하는 Ubuntu용 시스템 통계 도구를 개발하려고 합니다. 나는 이 데이터를 내 로그 파일 (예: 프로세스에 대한 데이터 수집용)에 저장합니다. C 프로그래밍 언어를 사용하여 내 로그 파일을 구문 분석하는 /var/log/<process>.logAPI가 있는지 알고 싶습니다 . procfs이러한 로그 파일에는 사용자 이름, 프로세스 ID, CPU%, MEM%, I/O 등만 포함됩니다.

답변1

어떤 API를 원하거나 필요로 합니까? 로그 파일은 텍스트입니다. 유용하다고 생각되는 텍스트 구문 분석 유틸리티, 스크립트 또는 언어를 사용하십시오.

개인적으로 내가 선택하는 언어는 인데 awk, 그건 익숙하기 때문이다. 때로는 간단 grep하거나 sed충분할 때도 있습니다.

하지만 실제로 모든 것은 로그로 무엇을 하려는지에 달려 있습니다. 가능성은 무한합니다.

답변2

당신이 당신의내 자신의로그 파일도 자신만의 API를 만들어야 한다고 생각합니다.

답변3

귀하의 필요와 기술에 따라 선택할 수 있는 다양한 옵션이 있습니다.

Perl - 텍스트 조작에 이상적인 스크립팅 언어입니다. Perl은 종종 SED와 AWK를 사용합니다.

Awk - 쉘 스크립트에서 쉽게 사용할 수 있습니다. awk는 sed보다 좀 더 복잡한 구문을 사용합니다(그러나 여전히 간단합니다). awk는 sed보다 훨씬 빠릅니다.

Sed - awk와 마찬가지로 sed도 쉘 스크립트에서 사용할 수 있습니다. Sed는 대부분의 사람들이 배우기 쉽습니다.

Python - 정교한 로깅 시스템을 원하고 빠른 감사 시스템을 원한다면 Python을 사용해 보세요. 하지만 Python을 모른다면 배우는 데 시간이 좀 걸릴 것입니다.

답변4

통합을 고려할 수도 있습니다.RRD 도구)를 귀하의 작업 흐름에 추가하세요. 이미 귀하가 찾고 있는 일을 많이 하고 있는 것 같기 때문입니다. 온라인에는 잘 문서화된 예제가 많이 있으므로 시작하는 것이 그리 어렵지는 않습니다.

관련 정보