Prometheus + mtail로 간단한 로그 수집을 시도합니다.
4195 단어 mtailprometheus
할 일
prmetheus와 mtail을 하나의 인스턴스에 넣고 mtail에서 /var/log/messages
의 행 수를 계산 한 결과를 prometheus의 메트릭으로 수집합니다.
mtail을 처음 사용하기 때문에, mtail의 사용법을 조사하면서.
환경
mtail 준비
아무것도없는 상태에서 시작합니다.
Go 설치
우선, Go 설치 (1.7 이상)
GOPATH 설정 및 작성
sudo su -
.bash_profile
편집
vi .bash_profile
#以下の二行を追加する
export GOPATH=$HOME/go
PATH=$PATH:$HOME/bin:$GOPATH/bin
.bash_profile
로딩
source ~/.bash_profile
GOPATH는 아래에 src 디렉토리 만들기
mkdir -p $GOPATH/src
Go와 git 설치
cd $GOPATH/src
yum install go git
go get github.com/google/mtail
cd github.com/google/mtail
make
프로그램 파일 작성
mtail의 동작 설정 파일인 프로그램 파일을 작성한다.
우선, 프로그램 파일을 저장하기 위한 디렉토리를 작성한다.
어디서나 좋지만 공식을 참고로/etc 아래 작성.
mkdir /etc/mtail
복잡한 설명이 가능하지만 이번에는 가장 간단한 프로그램 파일을 만듭니다.
특정 로그 파일의 행 수를 계산하는 프로그램 파일.
대상의 로그 파일은 mtail 기동시에 지정한다.
이 때 line_count
는 Prometheus에 표시되는 메트릭 이름입니다.
cd /etc/mtail
vim test.mtail
# simple line counter
counter line_count
/$/ {
line_count++
}
mtail 실행
작성한 프로그램 파일을 읽도록 mtail을 기동한다.-progs
로 읽을 프로그램 파일 지정-logs
에서 참조할 로그 파일 지정
덧붙여서, 프로그램 파일의 수정은 동적으로 반영됩니다. mtail 프로세스를 다시 시작할 필요가 없습니다.
# /var/log/messages を対象に、行数カウントのプログラムファイルを指定してmtailを起動
mtail -progs /etc/mtail/test.mtail -logs /var/log/messages &
mtail이 출력하는 메트릭의 취득은, mtail의 엔드 포인트에 3903 포트로 액세스하면 참조 가능합니다.
json, prometheus, varz 형식의 데이터로 출력됩니다.
mtail의 기본 화면은 이런 느낌
xx.xx.xx.xx:3903에 액세스한 화면
mtail on :3903
Build: mtail version v3.0.0-rc5-48-g6e17f80 git revision 6e17f8086ba73fe59c17e2156417bffdc4015d13 go version go1.8.3
Metrics: json, prometheus, varz
Debug: debug/pprof, debug/vars
Program Loader
test.mtail
No compile errors
Total load errors ; successes: 1
Log Tailer
/var/log
/var/log/messages
json 형식
xx.xx.xx.xx:3903/json
[
{
"Name": "line_count",
"Program": "test.mtail",
"Kind": 1,
"Type": 0,
"LabelValues": [
{
"Value": {
"Value": 0,
"Time": 0
}
}
]
}
]
prometheus 형식
xx.xx.xx.xx:3903/metrics
# TYPE line_count counter
# line_count defined at test.mtail:2:9-18
line_count{prog="test.mtail"} 2
문제없이 mtail이 시작되었으므로 다음은 prometheus 준비
Prometheus 준비
모니터링 대상 추가
Prometheus가 mtail의 끝점을 참조하도록 Prometheus 구성 파일 prometheus.yml
를 수정하십시오.
기본 prometheus.yml에 localhost:3903
의 작업을 추가합니다.
static_configs:
- targets: ['localhost:9090']
- targets: ['localhost:3903'] ←追加した行
구성 파일을 수정한 후 Prometheus를 시작하여 지표를 수집할 수 있는지 확인합니다.
cd ~
cd prometheus-2.1.0.linux-amd64
./prometheus &
prometheus targets 화면
xx.xx.xx.xx:9090으로 이동하여 확인
지표 확인
graph에서 line_counter
메트릭 값 보기 및 보기
logger에서 테스트 메시지를/var/log/messasges에 출력하여 카운트 값이 증가하는지 확인.
행수 3으로 스타트해, logger로 적당하게 출력해, 4,5로 증가하는 것을 확인했다.
이상
Reference
이 문제에 관하여(Prometheus + mtail로 간단한 로그 수집을 시도합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/EJ8401/items/8ea60be91a305f7086f3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
sudo su -
vi .bash_profile
#以下の二行を追加する
export GOPATH=$HOME/go
PATH=$PATH:$HOME/bin:$GOPATH/bin
source ~/.bash_profile
mkdir -p $GOPATH/src
cd $GOPATH/src
yum install go git
go get github.com/google/mtail
cd github.com/google/mtail
make
mkdir /etc/mtail
cd /etc/mtail
vim test.mtail
# simple line counter
counter line_count
/$/ {
line_count++
}
# /var/log/messages を対象に、行数カウントのプログラムファイルを指定してmtailを起動
mtail -progs /etc/mtail/test.mtail -logs /var/log/messages &
mtail on :3903
Build: mtail version v3.0.0-rc5-48-g6e17f80 git revision 6e17f8086ba73fe59c17e2156417bffdc4015d13 go version go1.8.3
Metrics: json, prometheus, varz
Debug: debug/pprof, debug/vars
Program Loader
test.mtail
No compile errors
Total load errors ; successes: 1
Log Tailer
/var/log
/var/log/messages
[
{
"Name": "line_count",
"Program": "test.mtail",
"Kind": 1,
"Type": 0,
"LabelValues": [
{
"Value": {
"Value": 0,
"Time": 0
}
}
]
}
]
# TYPE line_count counter
# line_count defined at test.mtail:2:9-18
line_count{prog="test.mtail"} 2
모니터링 대상 추가
Prometheus가 mtail의 끝점을 참조하도록 Prometheus 구성 파일
prometheus.yml
를 수정하십시오.기본 prometheus.yml에
localhost:3903
의 작업을 추가합니다. static_configs:
- targets: ['localhost:9090']
- targets: ['localhost:3903'] ←追加した行
구성 파일을 수정한 후 Prometheus를 시작하여 지표를 수집할 수 있는지 확인합니다.
cd ~
cd prometheus-2.1.0.linux-amd64
./prometheus &
prometheus targets 화면
xx.xx.xx.xx:9090으로 이동하여 확인
지표 확인
graph에서
line_counter
메트릭 값 보기 및 보기logger에서 테스트 메시지를/var/log/messasges에 출력하여 카운트 값이 증가하는지 확인.
행수 3으로 스타트해, logger로 적당하게 출력해, 4,5로 증가하는 것을 확인했다.
이상
Reference
이 문제에 관하여(Prometheus + mtail로 간단한 로그 수집을 시도합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/EJ8401/items/8ea60be91a305f7086f3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Prometheus + mtail로 간단한 로그 수집을 시도합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/EJ8401/items/8ea60be91a305f7086f3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)