티스토리 뷰
accesslog 포맷
x.x.x.x - - [04/Apr/2021:00:00:00 +0900] "POST /x/x HTTP/1.1" 200 84 "-" "-" "x.x.x.x" "elapsed=0.532"s "request_length=1031879"
원하는 동작
request length 가 특정 값 이상 요청 추출
추출
cat http-access.log.XXXXXXX | awk '{
split($0,a,"request_length=");
b = substr(a[2], 1, length(a[2])-1)
if(b+0 > 1000000)
{
print b;
print $0
}
}'
기타
useragent 는 따로 빼는게 맞는것 같다.
지정된 포맷이니 레이블은 필요하지 않다.
그냥 promethues 에서 긁어가게 하거나 filebeat, fluentd 를 쓰거나 여튼 다른 수집 방법이 필요하다.
그외
다음날 파이썬으로 다시 짜서 원하는 결과를 얻음
단순 분석이면 잘 모르는 awk 찾아가면서 쓰는 것보다 파이썬으로 스크립트 짜서 돌리는게 관리, 응용, 공유하기 좋다.
import re
with open('http-access.log-XXXXXXXX', 'r') as reader:
for line in reader:
p = re.compile(r'.*request_length=(?P<length>\d+).*')
m = p.match(line)
if m and int(m.group('length')) > 5242880:
print(line)
if not m:
print("invalid format; " + line)
'개발관련 > 뻘팁-작업노트' 카테고리의 다른 글
jackson 분석 - 작업 노트 (0) | 2021.08.08 |
---|---|
JHipster (맛보기 + 소견) (0) | 2021.05.11 |
java - java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0 (0) | 2021.05.10 |
reactor - groupedFlux 의 키 개수 제한 (0) | 2021.04.29 |
CompletableFuture async (0) | 2021.04.06 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- kafka 2.8.0
- 클린 아키텍처
- elasticsearch
- completablefuture
- 기술센싱
- 에픽테토스
- fsync
- pecs
- Java
- Dangling
- 전설로떠나는월가의영웅
- 말의품격
- flush
- PatternSyntaxException
- Kafka
- AWS
- 만들면서 배우는 클린 아키텍처
- COMMIT
- 개발자
- meta character
- 기술블로그
- opensearch
- Spring
- Async
- WebSocket
- Generic
- 사기꾼증후군
- 기술사이트
- jhipster
- percolate
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함