Postfix를 사용하고 있으며 메일을 보낸 후 메일 로그를 구문 분석해야합니다. 지금 필자는 꼬리 플러그인을 사용하여 Fluentd를 사용하여 Postfix 로그를 구문 분석하도록 노력하고 있습니다.POSTFIX 로그 파싱 및 ElasticSearch로 보내기
제가 직면 한 문제는 꼬리 플러그인의 multiline 옵션을 사용하여 구문 분석 할 수 없다는 것입니다. 정규식을 사용하여 개별적으로 구문 분석 할 수 있지만 함께 사용할 수는 없습니다. 이는 로그가 본질적으로 비동기이며 로깅 할 정보가있을 때마다 각 프로세스가 파일에 로깅한다는 사실 때문일 수 있습니다. 이 목적을 위해 루비 스크립트를 작성할 계획이지만 시간이 많이 걸릴 수도 있습니다.
Ruby/Perl을 모르면 Fluentd 용 스크립트/사용자 정의 플러그인을 작성하는 것보다 나은 해결책이 있습니까?
Jan 5 09:02:48 localhost postfix/cleanup[5978]: 1733D16A90A: message-id=<[email protected]>
Jan 5 09:02:48 localhost postfix/qmgr[2596]: 1733D16A90A: from=<[email protected]>, size=460, nrcpt=1 (queue active)
Jan 5 09:02:51 localhost postfix/smtp[5980]: 1733D16A90A: to=<[email protected]>, relay=gmail-smtp-in.l.google.com[74.125.130.27]:25, delay=3.4, delays=0.05/0.01/1.9/1.5, dsn=2.0.0, status=sent (250 2.0.0 OK 1483624971 s11si76004239pgc.259 - gsmtp)
로그해야 예 : 나는 정보를 추출하는 데 관심이있는
Jan 5 09:02:48 localhost postfix/pickup[5501]: 1733D16A90A: uid=0 from=<root>
Jan 5 09:02:51 localhost postfix/qmgr[2596]: 1733D16A90A: removed
로그 :
로그되는 I는 정보를 추출하는 상관 없어 JSON 파일로 ElasticSearch로 전송 된 후 추가 처리를 위해 저장됩니다.
답장을 보내 주셔서 감사합니다. 비록 로그 데이터를 내 Elasticsearch 인덱스로 내보내는 사용자 정의 python 스크립트를 작성하고 데이터가 발견되는 즉시 json의 키 및 데이터로 QueueID가있는 문서를 업데이트합니다. –