Dev Ops/python-Dev Ops

[python] linux log를 활용한 문자열 인덱싱

ErrorMin 2022. 11. 14. 16:01

이전 포스팅과 관련된 포스팅입니다.

https://errormindevops.tistory.com/41

 

[Python]linux log 활용하기

[Python] linux grep값 변수로 담기 포스팅의 연장된 포스팅입니다. https://errormindevops.tistory.com/40 [Python] linux grep값 변수로 담기 외부든 외부든 어떠한 통신 값이나 임의로 설정한 데이터 값이 있으면 l

errormindevops.tistory.com

 

이전 포스팅에서 python으로 뽑아낸 log 출력을 필요한 문장만 뽑아내려고 합니다.

 

이것을 우리는 아주 오래전부터 이렇게 부르기로 했습니다.

문자열 인덱싱...

 

설명을 쉽게 하려고 했더니 조금 난잡하네요... 그래도 코드 읽을 줄 아시는 분들이라면 아주 바로 이해하실 겁니다.

 

이번 포스팅은 저 결과 값 중 1101이라는 값만 뽑아낼 겁니다.

log ##/##/##day 1101 log 가 결과값 이라고 가정합시다.

 

그런데 저 결과값 중에서 1101만 모니터링 대시보드의 결과값으로 보고 싶어요 그럴 땐 grep 명령어를 조금 더 사용해서

하는 방법도 물론 있지만. 패턴이 단순하다면 python 문자열 인덱싱을 사용하는 것도 하나의 방법입니다.

 

test1=subprocess.check_output("cat /web/nlab/logs/web.log | grep -A1 -e 'log'| grep '1101' | tail -1", shell=True)

test2 = str(test1)

print(test2)

if 'log' in test2:
	print(test2[16:-3])
else:
	print('Null')
    
#결과
#1101

끝....