[Azure Function] Microsoft Azure의 Function Log 확인하기 본문

MS Azure

[Azure Function] Microsoft Azure의 Function Log 확인하기

최재강 2020. 11. 22. 03:00

서버리스에 대해 여러 연구가 진행되고 있는 만큼 Microsoft의 FaaS 모델인 Function또한 관심이 높아 지고 있습니다.

이번 포스트 에서는 Function의 log를 어떻게 확인할 수 있는지 알아 보겠습니다.

Azure 포털에서 Function 탭들 중 Monitor를 클릭합니다. 그 후 Run query in Application Insights버튼을 눌러 쿼리문을 제공받습니다.

Application Insights에서 traces 항목에 데이터가 저장됩니다.

다음과 같이 query문을 작성할 수 있는 창으로 넘어옵니다.




다음은 제가 test한 실험값을 얻기 위해 작성한 query문 입니다.


azure query

# traces탭 안에 있는 값만 가져옵니다.
traces
# 24시간 안에 기록된 로그만 가져옵니다.
| where timestamp > ago(24h) 
# 시간을 최신순으로 배치합니다.
| order by timestamp desc
# message값을 index slice하여 "test"의 결과값인지 판단합니다.
| where substring(message,2,4) == "test"
# 원하는 형태로 결과값을 구성합니다.
| project parse_json(message).scale,parse_json(message).result, parse_json(message).test
# 381개의 결과값만 가져옵니다.
| take 381

저는 message의 2~4부분에 "test"라는 문자열을 기록해 놓아 제가 테스트한 결과 값에 대해서만 얻을 수 있도록 코드를 구성했습니다.

Azure Function에서는 json 형태로 logging 하여 Azure Logs에 기록합니다.

## dd.py 중 일부 소스 코드
import logging

res = {
            'test': str(req.route_params.get('test')),
            'result': str(result),
            'start': str(start),
            'end': str(end),
            'scale': str(req.route_params.get('scale'))
        }
        res = json.dumps(res)
        logging.info(res) #res를 azure log에 logging

query로 뽑아낸 데이터를 csv로 export 합니다.

querydata.csv 파일

Comments