Heroku의 로그를 Splunk에 먹여보십시오.
소개
Heroku의 Log Drains을 사용하여 Splunk에 로그를 가져 왔습니다.
설정해보기
그래서 빨리 설정해 보았습니다.
Splunk에서 로그 수신 준비
인덱싱(≒ Heroku 로그를 저장할 디렉토리)
Splunk GUI에서 heroku
색인 만들기
※ GUI의 스크린 캡쳐는 생략, 대신에 GUI 경유로 작성되는 설정 파일(*.conf) 붙일 때군요
indexes.conf[heroku]
coldPath = $SPLUNK_DB/heroku/colddb
enableDataIntegrityControl = 0
enableTsidxReduction = 0
homePath = $SPLUNK_DB/heroku/db
maxTotalDataSizeMB = 512000
thawedPath = $SPLUNK_DB/heroku/thaweddb
소스 유형 작성
기본 소스 유형 syslog
에서 복제하여 heroku:syslog
만들기
이것도 GUI에서 작성
props.conf[heroku:syslog]
DATETIME_CONFIG =
MAX_TIMESTAMP_LOOKAHEAD = 42
NO_BINARY_CHECK = true
REPORT-syslog = syslog-extractions
SHOULD_LINEMERGE = false
TIME_FORMAT = %Y-%m-%dT%H:%M:%S.%6N
TRANSFORMS = syslog-host
TZ = UTC
category = Application
description = Syslog Drain by Heroku
disabled = false
maxDist = 3
pulldown_type = 1
갱신한 부분은 MAX_TIMESTAMP_LOOKAHEAD
TIME_FORMAT
정도일까description
라든지 category
는 적당하고 k
데이터 입력 작성
TCP 10514 포트에서 데이터 수신
이것도 GUI에서 s (ry
inputs.conf[tcp://10514]
connection_host = dns
index = heroku
source = myherokuapp
sourcetype = heroku:syslog
index
와 sourcetype
에 방금 설정한 것을 지정하는 것을 잊지 마세요.
Heroku에서 Log Drains 설정
그 전에 ...
Heroku CLI 설치
아직 Heroku CLI 들어 있지 않았기 때문에 Mac에 설치
$ brew install heroku/brew/heroku
==> Tapping heroku/brew
Cloning into '/usr/local/Homebrew/Library/Taps/heroku/homebrew-brew'...
remote: Counting objects: 9, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 9 (delta 0), reused 7 (delta 0), pack-reused 0
Unpacking objects: 100% (9/9), done.
Tapped 2 formulae (36 files, 23.6KB)
==> Installing heroku from heroku/brew
==> Installing dependencies for heroku/brew/heroku: heroku/brew/heroku-node
==> Installing heroku/brew/heroku dependency: heroku/brew/heroku-node
==> Downloading https://cli-assets.heroku.com/homebrew/node-8.7.0.tar.xz
######################################################################## 100.0%
🍺 /usr/local/Cellar/heroku-node/8.7.0: 3 files, 34MB, built in 6 seconds
==> Installing heroku/brew/heroku
==> Downloading https://cli-assets.heroku.com/homebrew/heroku-6.14.36.tar.xz
######################################################################## 100.0%
🍺 /usr/local/Cellar/heroku/6.14.36: 8,177 files, 43.5MB, built in 8 seconds
Log Drains 설정
Splunk에서 만든 데이터 입력(TCP 10514 포트)에 던지도록 CLI에서 구성
$ heroku drains:add syslog://<splunk_ip>:10514 --app myherokuapp
이상! !
Splunk에서 검색해보기
Heroku 로그가 인덱싱됨
약간 문자 코드가 맞지 않는 것일까...? 여기는 요 대응일지도
그럼에도 불구하고 로그는 Splunk에 저장할 수 있기 때문에 이제 응용 프로그램의 가동 상황이나 Heroku 사용 상황을 모니터링 할 수 있습니다.
(덤) 필드 추출
이런 필드를 추출해 보았습니다.
([^\s]+\s){3}(?P<token>[^\s]+)\s(?P<category>[^\s]+)\s(?<dyno>[^\s]+)\s([^\s]+\s){2}(?P<message>[\s\S]+$)
로그행의 선두로부터 스페이스 단락 4번째가 token
, 5번째가 category
, 6번째가 dyno
, 9번째가 message
Reference
이 문제에 관하여(Heroku의 로그를 Splunk에 먹여보십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kikeyama/items/5884e618c1b958d2c4ba
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
그래서 빨리 설정해 보았습니다.
Splunk에서 로그 수신 준비
인덱싱(≒ Heroku 로그를 저장할 디렉토리)
Splunk GUI에서
heroku
색인 만들기※ GUI의 스크린 캡쳐는 생략, 대신에 GUI 경유로 작성되는 설정 파일(*.conf) 붙일 때군요
indexes.conf
[heroku]
coldPath = $SPLUNK_DB/heroku/colddb
enableDataIntegrityControl = 0
enableTsidxReduction = 0
homePath = $SPLUNK_DB/heroku/db
maxTotalDataSizeMB = 512000
thawedPath = $SPLUNK_DB/heroku/thaweddb
소스 유형 작성
기본 소스 유형
syslog
에서 복제하여 heroku:syslog
만들기이것도 GUI에서 작성
props.conf
[heroku:syslog]
DATETIME_CONFIG =
MAX_TIMESTAMP_LOOKAHEAD = 42
NO_BINARY_CHECK = true
REPORT-syslog = syslog-extractions
SHOULD_LINEMERGE = false
TIME_FORMAT = %Y-%m-%dT%H:%M:%S.%6N
TRANSFORMS = syslog-host
TZ = UTC
category = Application
description = Syslog Drain by Heroku
disabled = false
maxDist = 3
pulldown_type = 1
갱신한 부분은
MAX_TIMESTAMP_LOOKAHEAD
TIME_FORMAT
정도일까description
라든지 category
는 적당하고 k데이터 입력 작성
TCP 10514 포트에서 데이터 수신
이것도 GUI에서 s (ry
inputs.conf
[tcp://10514]
connection_host = dns
index = heroku
source = myherokuapp
sourcetype = heroku:syslog
index
와 sourcetype
에 방금 설정한 것을 지정하는 것을 잊지 마세요.Heroku에서 Log Drains 설정
그 전에 ...
Heroku CLI 설치
아직 Heroku CLI 들어 있지 않았기 때문에 Mac에 설치
$ brew install heroku/brew/heroku
==> Tapping heroku/brew
Cloning into '/usr/local/Homebrew/Library/Taps/heroku/homebrew-brew'...
remote: Counting objects: 9, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 9 (delta 0), reused 7 (delta 0), pack-reused 0
Unpacking objects: 100% (9/9), done.
Tapped 2 formulae (36 files, 23.6KB)
==> Installing heroku from heroku/brew
==> Installing dependencies for heroku/brew/heroku: heroku/brew/heroku-node
==> Installing heroku/brew/heroku dependency: heroku/brew/heroku-node
==> Downloading https://cli-assets.heroku.com/homebrew/node-8.7.0.tar.xz
######################################################################## 100.0%
🍺 /usr/local/Cellar/heroku-node/8.7.0: 3 files, 34MB, built in 6 seconds
==> Installing heroku/brew/heroku
==> Downloading https://cli-assets.heroku.com/homebrew/heroku-6.14.36.tar.xz
######################################################################## 100.0%
🍺 /usr/local/Cellar/heroku/6.14.36: 8,177 files, 43.5MB, built in 8 seconds
Log Drains 설정
Splunk에서 만든 데이터 입력(TCP 10514 포트)에 던지도록 CLI에서 구성
$ heroku drains:add syslog://<splunk_ip>:10514 --app myherokuapp
이상! !
Splunk에서 검색해보기
Heroku 로그가 인덱싱됨
약간 문자 코드가 맞지 않는 것일까...? 여기는 요 대응일지도
그럼에도 불구하고 로그는 Splunk에 저장할 수 있기 때문에 이제 응용 프로그램의 가동 상황이나 Heroku 사용 상황을 모니터링 할 수 있습니다.
(덤) 필드 추출
이런 필드를 추출해 보았습니다.
([^\s]+\s){3}(?P<token>[^\s]+)\s(?P<category>[^\s]+)\s(?<dyno>[^\s]+)\s([^\s]+\s){2}(?P<message>[\s\S]+$)
로그행의 선두로부터 스페이스 단락 4번째가 token
, 5번째가 category
, 6번째가 dyno
, 9번째가 message
Reference
이 문제에 관하여(Heroku의 로그를 Splunk에 먹여보십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kikeyama/items/5884e618c1b958d2c4ba
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이런 필드를 추출해 보았습니다.
([^\s]+\s){3}(?P<token>[^\s]+)\s(?P<category>[^\s]+)\s(?<dyno>[^\s]+)\s([^\s]+\s){2}(?P<message>[\s\S]+$)
로그행의 선두로부터 스페이스 단락 4번째가
token
, 5번째가 category
, 6번째가 dyno
, 9번째가 message
Reference
이 문제에 관하여(Heroku의 로그를 Splunk에 먹여보십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kikeyama/items/5884e618c1b958d2c4ba텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)