에러 감시에는 Sentry가 매우 편리!

6115 단어 감시파이썬sentry

피할 수 없는 애플리케이션의 오류 모니터링



어플리케이션을 운용하는데 있어서 에러 감시는 피해 통과할 수 없지요.
그럼에도 불구하고 오류 모니터링 도구와 서비스가 이제 많이 있기 때문에 어떤 것을 사용하면 좋은지 헤매는 곳이기도합니다.

저는 직장에서 센트리 을 사용하고 있습니다만, 지금까지 에러 감시를 할 수 없었던 처리에 센트리

이 기사에서는 python에서의 설치에 대해서만 쓰지만, 센트리이 대응하고 있는 언어라면 기본적으로 같은 방법으로 설정할 수 있게 되어 있다고 생각합니다.

Sentry 설정 방법



1. sentry-sdk 설치


sentry-sdk를 pip로 설치합니다.
$ pip install --upgrade sentry-sdk

2. Sentry 설정



다음 코드는 프로그램 실행시 반드시 호출되는 어딘가에 설명합니다.
예를 들어 설정 파일을 다루는 패키지의 __init__.py 안에 쓰는 것이 좋을까 생각합니다.
import sentry_sdk

sentry_sdk.init('< DSNの値 >')

무려, 단지 이것만으로 에러 감시의 설정을 할 수 있습니다!
그리고는 에러가 일어날 것을 기다릴 뿐.
※오류가 나오지 않는 것이 제일 좋지만・・・

오류 알림 시도



오류 알림을 시도하기 위해 다음과 같은 프로그램을 실행해 봅니다.

sentry_test.py
import logging
import sentry_sdk

# sentry sdk 初期化
sentry_sdk.init('< DSNの値 >')

# ログを出力
logging.debug('DEBUG レベルのログ')
logging.info('INFO レベルのログ')
logging.warning('WARN レベルのログ')
logging.error('ERROR レベルのログ')

# 例外
raise Exception('this is exception.')

그러면 Sentry의 화면을 보면 다음과 같이 ERROR 레벨의 로그와 예외의 2개의 에러가 통지된 것을 알 수 있습니다.BREADCRUMBS 의 위치에 에러가 발생하기 전에 출력된 로그가 표시됩니다.

예외 알림의 경우 예외가 발생할 때까지 스택 추적도 함께 표시됩니다.
※ ERROR 로그의 경우에도 스택 트레이스를 표시할 수 있으므로, 나중에 방법을 쓰고 있습니다.

로거의 설정이 기본값이면 WARN 레벨 이상의 로그만 표시되지만, 설정을 바꾸면 DEBUG의 로그를 발행할 수도 있습니다.
정말 편리!

Sentry issue





ERROR 레벨 로그





예외





ERROR 레벨 로그에서도 스택 추적 표시



아래와 같이 logger.error() 의 인수에 exc_info=True 를 지정하면 ERROR 로그의 통지의 경우에서도 스택 트레이스가 sentry 로 표시되게 됩니다.

sentry_test.py
import logging
import sentry_sdk

# sentry sdk 初期化
sentry_sdk.init('< DSNの値 >')

# ログを出力
logging.debug('DEBUG レベルのログ')
logging.info('INFO レベルのログ')
logging.warning('WARN レベルのログ')
logging.error('ERROR レベルのログ', exc_info=True)

# 例外
raise Exception('this is exception.')



최고야!

요약



우선 sentry_sdk.init() 를 불러 두면 에러 통지를 사용할 수 있다고 하는 이 간편함이 진짜로 최고가 아닙니까? ? ?

에러 통지 이외에도 어쩐지 검지하고 싶은 이벤트의 통지나, sentry 상에서 보고 싶은 정보를 여러가지 덧붙일 수도 있습니다.
어쨌든 매우 편리합니다.

강하게 단점을 준다면, 센트리 로부터 보내 오는 에러 통지의 수에 상한이 설정되어 있어, 그 상한을 올리려면 과금이 필요할 정도.
하지만 여기까지의 퀄리티의 서비스라면 과금할만한 가치가 충분히 있다고 생각합니다.

자, 당신도 오늘부터 센트리 시작하자!
htps : // / cs. 센트리. 이오 / 에로 r 레포 r 친 g / 쿠이 cks rt /? p t t rm = py ton

좋은 웹페이지 즐겨찾기