Show custom systemd services
This commit is contained in:
@@ -18,6 +18,7 @@ Control은 라즈베리파이/리눅스 호스트의 팬과 시스템 상태를
|
||||
- WiFi client 목록과 2.4G/5G client 수 표시
|
||||
- 5G 외부 WiFi 모듈이 연결 시간을 제공하지 않는 경우 서버 관측 기반 연결 시간 보정
|
||||
- System Notice와 process CPU/MEM 후보 표시
|
||||
- `/etc/systemd/system/*.service` 기준 사용자 생성 서비스의 서비스명, 현재 상태, enable 상태, PID, restart 횟수, 최근 journal 로그 표시
|
||||
- dmesg 로그 열람
|
||||
- Home Assistant webhook 기반 Android 모바일 알림
|
||||
- 배터리 SOC 20% 이하 경고를 20/15/10/5% 단계로 구분하고 동일 `tag`로 갱신해 알림이 과도하게 쌓이지 않도록 처리
|
||||
@@ -123,6 +124,8 @@ control-wifi-observe.service
|
||||
## 주요 함수/모듈
|
||||
|
||||
- `collect_snapshot()`: 센서와 fan 상태 snapshot 생성
|
||||
- `custom_systemd_services()`: `/etc/systemd/system/*.service` 단위를 조회해 사용자 생성 서비스 상태와 최근 journal 로그를 구성
|
||||
- `systemd_service_logs()`: 서비스별 최근 journal 로그 조회
|
||||
- `read_throttled_flags()`: `vcgencmd get_throttled`를 직접 조회하고, 권한 문제로 실패하면 sudo 경유 조회를 시도
|
||||
- `throttled_event_status()`: 저전압/스로틀링 episode 이력, 복구 중/반복 발생 판정, 최근 10분 통계를 계산
|
||||
- `throttled_statuses()`: 라즈베리파이 throttled flag를 읽고 저전압/스로틀링 감지 이력을 상태 파일로 추적
|
||||
@@ -162,6 +165,7 @@ control-wifi-observe.service
|
||||
- WebSocket은 장기 실행 프로세스이므로 `public/api.php`, `config/config.php`, `bin/control_ws.php` 변경을 감지하면 15초 안에 종료되고 `control-websocket.service`가 새 프로세스로 재시작합니다.
|
||||
- WebSocket 장기 실행 중 DB 연결이 끊길 수 있으므로 reconnect 로그를 확인합니다.
|
||||
- HA 알림 자동화는 서울 `/home/seo/homeassistant/automations.yaml`, 목포 `/mnt/synology-docker/homeassistant/config/automations.yaml` 양쪽의 `CONTROL_HA_NOTIFY_WEBHOOK` 계열 항목에서 관리합니다.
|
||||
- SmartThings 재로드 자동화는 서울 전력분전반과 목포 누전차단기 전력 센서의 `last_updated`가 120초 이상 멈춘 경우에만 통합을 재로드합니다. 전력 값 자체가 변하지 않아도 센서 갱신이 들어오면 stale로 보지 않습니다.
|
||||
- HA 알림 채널의 중요도나 진동이 예상과 다르면 휴대폰 알림 채널 설정을 확인하거나 `bin/ha_notify_channel.php`로 해당 채널 제거 명령을 보냅니다.
|
||||
- Reboot API 사용 전 웹 서버 실행 계정의 sudoers에 `/usr/sbin/reboot` 비밀번호 없는 실행 권한이 제한적으로 설정되어 있는지 확인합니다.
|
||||
- 저전압/스로틀링이 `N/A`로 보이면 웹 서버 실행 계정의 `/dev/vcio` 접근 권한과 `/usr/bin/vcgencmd get_throttled` sudoers 허용 여부를 확인합니다.
|
||||
|
||||
Reference in New Issue
Block a user