당신의 홈 어시스턴트 로그가 무언가를 알려주려고 하고 있습니다 (귀를 기울인다면)
처음 Home Assistant를 사용하기 시작했을 때, 나는 시스템 로그에 전혀 접근하지 않았습니다. 그러나 로그는 단순한 중요하지 않은 메시지의 흐름 이상입니다. 만약 주의 깊게 본다면, 스마트 홈이 어떤 행동을 하고 있는지에 대한 중요한 정보를 제공할 수 있습니다.
당신의 시스템 로그는 스마트 홈의 이야기입니다
Home Assistant에는 백그라운드에서 많은 일이 일어나고 있습니다. 방에 들어가서 불이 켜질 때, 마법처럼 느껴지더라도 실제로는 마법이 아닙니다. Home Assistant는 모션 센서의 상태를 모니터링하고, 모션이 감지되었다는 확인을 기다린 다음, 적절한 자동화를 실행하여 불을 켜는 동작을 호출합니다.
가장 단순한 자동화라도 많은 것이 잘못될 수 있고 실제로 잘못되곤 합니다. 방에 들어갔는데 불이 켜지지 않는다면 그 원인은 여러 가지일 수 있습니다. 우선 시스템 로그를 확인하는 것이 좋습니다. 로그에는 가장 중요한 오류와 경고가 기록되어 있기 때문입니다.
Home Assistant의 중요한 부분임에도 불구하고 시스템 로그는 쉽게 간과될 수 있습니다. 로그를 확인하려면 설정 > 시스템 > 로그로 이동해야 합니다. 그런 다음 화면 상단의 드롭다운을 사용하여 확인하고자 하는 로그를 선택할 수 있습니다. 예를 들어, Home Assistant OS에서는 Home Assistant Core, Supervisor, Host의 로그뿐만 아니라 Zigbee2MQTT, Music Assistant와 같은 애드온의 로그도 확인할 수 있습니다.
가장 중요한 로그 메시지
Home Assistant 애드온이 여러 개 있는 경우 접근할 수 있는 로그의 양이 상당할 수 있습니다. 하지만 일부 로그 메시지는 다른 메시지보다 더 중요합니다. 일부는 주로 정보 제공용이지만, 다른 메시지는 Home Assistant에서 심각한 문제를 나타낼 수 있습니다.
먼저 확인해야 할 주요 영역은 Home Assistant Core 로그입니다. 여기서 Home Assistant가 오류와 경고를 출력하며 대부분의 통합도 마찬가지입니다.
처음에는 주로 warning과 error 메시지만 보게 될 것입니다. debug와 info 메시지와 같은 다른 유형도 있지만, 로그에 너무 많은 메시지가 쌓이는 것을 방지하기 위해 기본적으로는 표시되지 않습니다.
경고 메시지는 기본적으로 이 로그에 나타납니다. 이는 문제가 감지되었음을 나타내지만, Home Assistant의 정상적인 작동을 막지는 않습니다. 대부분 주요 문제가 아니라 주의를 기울여야 할 사항입니다.
오류 메시지는 보통 가장 중요한 메시지입니다. 이는 Home Assistant에서 어떤 일이 실패했음을 나타내며, 작업을 완료하지 못했음을 의미합니다. 이로 인해 통합이나 자동화가 제대로 작동하지 않을 수 있으며, 심지어 Home Assistant가 완전히 충돌할 수도 있으므로, 오류 메시지는 보통 심각하게 받아들여야 하며, 정기적인 백업을 하지 않은 것을 후회할 수 있습니다.
로그 메시지의 핵심 정보
Home Assistant Core 로그에서 메시지를 열면 메시지가 처음 발생한 원인을 파악하는 데 도움이 되는 몇 가지 중요한 정보를 확인할 수 있습니다. 이 정보를 사용하여 메시지의 중요성, 문제 발생 빈도, 그리고 무엇이 정확히 잘못되었는지를 확인할 수 있습니다.
첫 번째 정보는 logger로, 메시지를 생성한 Home Assistant 구성 요소를 알려줍니다. 문제의 원인이 된 통합을 명시적으로 이름으로 표시한 별도의 integration 줄도 볼 수 있습니다.
처음 발생 및 마지막 기록 줄은 문제가 처음 보고된 시점, 가장 최근 발생 시점을 알려주고 문제가 얼마나 자주 발생했는지도 보여줍니다.
다른 주요 정보는 문제에 대한 설명이 나오는 마지막 섹션에 있습니다. 이는 문제의 원인을 이해하는 데 필요한 모든 정보를 제공할 때가 많습니다. 예를 들어, 마지막 줄이 "Reolink Person 2: Already running"으로 표시되는 메시지는 Reolink Person 2 자동화가 이전 실행이 완료되기 전에 다시 실행을 시도했음을 나타내며, 이는 일반적으로 문제가 되지 않습니다.
때때로 마지막 섹션은 덜 유용할 때가 있습니다. 예를 들어, 'macOS 10.15.7에서 Safari 16.6.1에서 발생한 잡히지 않은 오류. Script error. null @:0:0.'와 같은 메시지가 그렇습니다. 이를 파악하려면 조금 더 많은 탐정 작업이 필요합니다.
시스템 로그에서 오류나 경고를 알림 받는 방법
만약 이전에 로그를 살펴본 적이 없다면, 로그가 조금 무섭게 느껴질 수 있지만, 위에서 본 것처럼 로그의 모든 메시지가 문제가 있다는 신호는 아닙니다. 많은 메시지는 단순히 정보를 제공하는 것이며 걱정할 필요가 없습니다.
오류 메시지는 보통 더 염려되는 경우가 많기 때문에, 오류 메시지가 수신될 때 알림을 보내도록 시스템을 설정하는 것이 좋습니다. 이를 위해 먼저 configuration.yaml 파일에서 fire_event를 활성화해야 합니다. 그런 다음 System Log 통합에서 발생시키는 이벤트를 사용하여 오류 또는 경고 메시지가 기록될 때 문제의 세부 정보를 포함한 알림을 보내는 자동화를 트리거할 수 있습니다.
다음 줄을 configuration.yaml 파일에 추가하고 Home Assistant를 다시 시작하세요:
system_log:
fire_event: true
fire_event가 활성화되면, 아래와 같이 자동화를 생성할 수 있으며, 시스템 로그에 error 메시지가 나타날 때마다 문제에 대한 세부 정보를 알림으로 받을 수 있습니다.
시스템 로그 메시지가 많다면 이 자동화는 빠른 속도로 작동하여 휴대폰에 알림이 가득 차게 만들 수 있습니다. 상황이 지나치게 빨리 진행되는 것을 막기 위해 쿨다운 타이머를 설정하는 것이 좋습니다.
자동화가 잘 작동할 때는 모래에 머리를 파묻고 Home Assistant 로그를 멀리하는 것이 쉬울 수 있습니다. 그러나 로그에는 이후에 문제가 발생하는 것을 막을 수 있는 정보가 포함되어 있을 수 있으므로 정기적으로 확인하는 것이 좋습니다.





