상림소프트
상림소프트 어드민
앱 운영 현황을 한눈에
관리자 전용 대시보드
관리자 로그인

관리자만 접근 가능
2차 인증
인증 앱의 6자리 코드를 입력하세요
TOTP

전체 요약

전체 유저
0
전체 채팅
0
전체 메시지
0
오늘 신규 유저
0
오늘 메시지
0

전체 유저 추세

불러오는 중…

오늘 신규 유저

앱별

제품 그룹 요약 — 사람이 오는 것(유입)과 남는 것(잔존)과 드는 것(비용)을 한 화면에. 각 칸의 자세한 값은 해당 탭에 있다.
⚠️ 유입과 잔존은 대응이 정반대다 — 유입 O·잔존 X 는 제품을 고치는 일이고, 유입 X·잔존 O 는 마케팅을 넣는 일이다. 그래서 떼어 놓지 않는다.

유입 × 잔존

스토어

비용 · 채널

한눈에 — Render 서비스 · Oracle 인스턴스 · 무료 티어 용량 · 수집 크론을 같은 임계값으로 판정한 것이다. 값 자체는 각각 인프라 · 용량 · 유입 탭이 이미 갖고 있고, 여기서는 줄 세우기만 한다 (같은 값을 두 곳에서 계산하면 두 화면이 서로 다른 말을 하게 된다).
⚠️ "정상" 은 "확인했다" 가 아니다. Render 의 live 는 기동 성공일 뿐이라 /health 를 못 보면 확인 불가로 따로 센다. 못 잼 칸이 그 자리다 — 0 으로 세면 없는 안심이 생긴다.

지금 볼 것

위험 · 주의만

나머지

정상 · 못 잼

Render Web Service 로 옮긴 상시 작업(수집기·크롤러)의 상태. 배포는 정상이어도 앱 루프가 죽어있을 수 있어(OOM 등) Render 배포 상태와 서비스 자체 /health 를 같이 본다. CPU/메모리는 Render Metrics API 값(최근 1시간, 5분 해상도)을 10분 크론이 적재한 것이라 실시간은 아니다 — 한도(limit) 대비 최대치 %로 여유를 본다.
이름 옆 배지가 어느 Render 계정인지다(render1·render2). 무료 750h/월이 워크스페이스 단위이고 워크스페이스는 계정당 5개가 상한이라 neomeo 크롤러가 두 계정에 나뉘어 있다(render1 4대 · render2 5대 = 9대). ⚠️ API 키는 계정 단위라 키가 없는 계정의 서비스는 이 목록에 아예 안 나온다 — 에러가 아니라서 "9대 중 4대만 보이는" 걸 눈치챌 수 없다. 대수가 모자라면 RENDER2_API_KEY 시크릿부터 확인할 것.

OVH 익명 LLM — 호스트별 성적
OVH 는 IP × 모델로 제한해서 서비스마다 버킷이 따로다. 그런데 번역 행에는 호스트가 안 적혀 DB 집계로는 어느 리전이 실제로 먹히는지 알 수 없다 — 각 호스트가 DB(ovh_host_stats)에 직접 적은 값이다. 이름 옆 배지가 어디서 나간 호출인지다: Render(리전 = egress IP) · Oracle VM(인스턴스 · 공인 IP) · Supabase Edge. Oracle 이 두 행인 건 VM 이 둘이라서가 아니라 한 VM 에 공인 IP 가 둘(primary · 10.0.1.236)이라서다 — OVH 제한의 단위가 IP 라 IP 마다 따로 센다. 성공률이 낮다고 고장난 게 아니다(정상일 때도 2~19%). 쓰임새는 절대값이 아니라 호스트 간 비교다. 429 는 제공처가 막은 것이고 오류는 우리가 깨진 것이라 대응이 다르다.
⚠️ 누적 기준은 "오늘"이 아니라 각 행의 '집계 시작'이다 — 집계 파일이 /tmp라 배포·재시작하면 리셋된다. 배포 직후의 0 을 "죽었다"로 읽지 말 것.

번역 품질 — 무엇이 나왔나 (neomeo). 위 표가 "어느 호스트가 호출했나" 라면 이건 그 결과물이다. 게이트는 LLM 감사가 아니라 결정론적 결함 검사다 (cjk 한자 유입 · kana 가나 · broken_word 깨진 단어 · collapse 반복 붕괴) — 무료·전수라서 쓸 수 있다. 감사(LLM)는 게이트가 아니라 추세 계기판이다: OVH 가 모델당 2 RPM 이라 하루 40건 표본이 한계고, 판정자도 번역자와 같은 급의 무료 모델이라 오판이 섞인다.
재번역 세 칸을 이렇게 읽는다 — 대기는 결함인데 아직 안 돌린 것(미번역 백로그가 먼저라 그 뒤에 처리된다. 많다고 고장이 아니다), 포기는 상한까지 돌렸는데 안 나아서 더 시도하지 않는 것, 성공은 돌려서 나은 누적이다. ⚠️ 성공은 2026-09-10 부터 센다 — 그전엔 "나으면 카운터가 0 으로 리셋" 되는 구조라 (상한을 되돌려 주려고 일부러 그렇게 했다) 성공을 셀 방법이 아예 없었다.
대기 시간이 두 칸인 이유: 끝난 것이 걸린 시간과 지금 기다리는 것이 이미 기다린 시간은 다른 수다. 백로그 4,000건이 1시간 기다린 것과 3일 기다린 것은 전혀 다른 상황이고, 후자는 그동안 앱에 영어로 뜬다는 뜻이다 — 제품 가치가 번역이라 이게 곧 제품 지표다. 번역 속도에는 재번역이 섞여 있어 백로그 순감소보다 낙관적이다.
⚠️ 정본 배지를 볼 것. 집계를 뜬 DB 다(컷오버 전 supabase → 후 oracle). 옆의 시각은 그 DB 가 본 마지막 변경이라, 멈춰 있으면 값이 오래된 것이다.

A1(ARM) 인스턴스 사냥 — Oracle Always Free ARM(2 OCPU·12GB)이 하나 더 나오길 노리는 배치. us-ashburn-1 은 경쟁이 심해 Out of host capacity 가 정상이고, 시도가 많다고 고장난 게 아니다. "용량부족"은 기다리는 것 말고 답이 없지만 "한도벽"(LimitExceeded)은 다른 사냥과 경합 중이란 뜻이라 원인을 없앨 수 있다. 확보되면 captured_at 이 채워지고 그 즉시 keepalive 가 자동으로 붙는다 (cloud-init) — 이 표가 비어 있으면(마지막 시도가 오래전) 사냥 자체가 안 도는 것이니 확인이 필요하다.

Oracle Always Free 인스턴스 전부 — OCI Monitoring(oci_computeagent) 값을 10분 크론이 적재한 캐시라 실시간은 아니다. Orient VM 은 자체 /v1/metrics 도 있어 부하 1/5/15분·디스크가 더 붙는다.
회수 기준(Oracle 문서): 7일 동안 CPU 95퍼센타일 < 20% 이고 네트워크 < 20% 이고 (A1 shape 만) 메모리 < 20% 이면 idle 로 보고 회수할 수 있다. 전부 미만이어야 idle 이라 하나라도 넘으면 안전이다. 95퍼센타일은 5분 평균으로 근사하고 네트워크 분모는 shape 대역폭(E2.1.Micro 480 Mbps)이다 — 둘 다 Oracle 이 어떻게 재는지는 문서에 없어 확실하지 않음. 표본이 168시간을 못 채우면(새 인스턴스) 7일 기준이 아직 아니다.

수집 → 정본 → 투영 → 앱 이 실제로 흐르고 있나. 끊길 수 있는 지점이 셋이고 신호가 각각 다르다 — 크롤러(회차 실패) · 동기화(타이머 침묵) · 번역(백로그 증가).
⚠️ 동기화 행은 성공했을 때만 갱신된다. 그래서 마지막 성공이 오래됐다 = 실패 중이다.

벽이 어디에 있나 — 전부 무료 티어라 돈이 아니라 한도가 벽이다. 막대는 각 자원의 한도 대비 비율이고 한도는 저마다 다르다. ⚠️ Supabase 는 사용량을 API 로 안 줘서(대시보드 전용) 이 값은 동기화가 DB 안에서 직접 잰 것이다.

양쪽에 뭐가 들어 있나 — 행 수는 거의 같은데 용량이 몇 배 차이다. 그 차이가 전부 영어 원문이다(앱은 한국어 번역만 읽는다).

얼마나 처리하나 — 번역이 이 제품의 값이고 그걸 굽는 건 무료 LLM 한도다. 호스트별 성적은 인프라 탭에 있다.

크롤러 9대 — 누가 무엇을 쓰나
제공처 한도는 계정 단위다. 같은 키를 여러 대에 넣으면 총량은 그대로고 429 만 는다 — 그래서 어느 인스턴스가 어떤 키를 갖고 있나가 곧 배치 설계다. 이 배지는 문서가 아니라 Render 환경변수를 실제로 읽은 값이다 (키 이름만 읽는다 — 값은 읽지 않는다).
⚠️ OVH 는 IP × 모델 제한이라 인스턴스마다 버킷이 따로고, 그래서 호스트별 실사용을 잴 수 있는 유일한 제공처다. 나머지(OpenRouter·Cloudflare· Gemini)는 행에 호스트가 안 적혀 인스턴스별 사용량을 알 수 없다 — 가진 키와 계정 총량으로만 읽는다.

컷오버 진행도 — 2026-09-11 에 DB 를 정본·투영으로 나눈 작업. ⑤ 가 되돌릴 수 없는 지점이었다. ⚠️ 박아 둔 체크가 아니라 살아 있는 값으로 판정한다 — 문서에 "완료" 라고 적어 두면 되돌아가도 화면은 계속 완료라고 말한다.

두 제품을 같은 축에 놓고 글로 본다. 각 탭의 도식은 그 제품 안에서만 읽히는데, 둘은 같은 부품(OVH 체인 · Oracle · Supabase · Render)을 쓰면서 흐르는 방향이 반대다 — 그 대조는 도식 둘을 번갈아 봐서는 안 보인다.

해외 식품안전 당국 18곳의 리콜을 긁어 한국어로 파싱하고, 국내 수입업체 8만여 건과 대조해 걸리는 것만 알린다.
⚠️ 이 제품의 사고는 거의 전부 “에러가 안 보여서” 생겼다 — Render OOM 은 커널이 죽여 예외가 안 돌고, 껍데기 응답은 parsed_at 이 찍혀 재시도 대상에서 영구히 빠진다. 그래서 이 탭은 성공 건수가 아니라 멈춘 자리를 본다.

파싱 품질·백로그 — 미파싱은 이번 시간 시도 소진 과 나눠 본다. 대응이 다르다(기다린다 vs 고친다). ⚠️ "소진" 은 영구 포기가 아니다 — parse_attempts 는 매시 :02 에 리셋되므로 이 숫자는 이번 시간치다. 부하가 있으면 시간 끝 무렵에 정상적으로 오르고 :02 에 저절로 0 이 된다. 매 시간 차 있을 때만 고칠 일이다.

LLM 호출 성적 — OVH(무인증) → Cloudflare → OpenRouter 순 (희소한 축을 마지막에). 호출 위치가 곧 OVH 버킷이다 — OVH 는 IP × 모델 로 제한해서 IP 가 다르면 한도가 하나 더 생긴다. ⚠️ 반대로 Cloudflare·OpenRouter 는 계정 단위라 호출 위치를 늘려도 총량이 안 는다. (2026-09-11 확인: 이 셋은 neomeo 와 다른 계정이다 — 종전에 여기 "같은 계정을 공유한다" 고 적혀 있었는데 틀렸다. 값을 대조해 확인했다.)

용량 — ⚠️ 이 Supabase 프로젝트는 공유 호스트다. Canary 말고도 여러 앱이 같은 500MB 를 나눠 쓴다.

전부 무료 티어라 돈이 아니라 한도가 벽이다. 여유가 적은 순으로 정렬한다.
⚠️ Supabase 는 사용량을 API 로 안 준다(대시보드 전용) — 그래서 이 값은 프로젝트마다 db_size_snapshot() 을 두고 DB 안에서 직접 잰 것이다. 함수가 없는 프로젝트는 목록에서 조용히 빠진다.

못 재는 것 — 없는 값을 빈칸으로 두면 0 으로 읽힌다. 어디서 봐야 하는지 적는다.

Supabase — 어느 앱이 어느 프로젝트에 얹혀 있나
무료 500MB 는 프로젝트 단위다. 한 프로젝트에 여러 앱이 있으면 그 앱들이 같은 500MB 를 나눠 쓴다 — 하나가 커지면 나머지가 같이 위험해진다.

Render — 서비스가 어느 계정·리전에 있나
무료 750h/월은 워크스페이스 단위이고 워크스페이스는 계정당 5개가 상한이다.
⚠️ 어느 앱 것인지는 API 가 말해주지 않는다 — 이름으로 추정한다. 매칭이 안 되면 “미분류”로 남긴다(틀린 귀속보다 낫다).

Oracle — 인스턴스
⚠️ 지표 API 는 이름을 주지 않는다(OCID·shape·AD 뿐). 사람이 읽는 이름은 수동 라벨이라 여기서는 OCID 꼬리로 낸다 — 지어내지 않는다.

구독자
—
영상 조회수 합계
—
영상 수
—
마지막 수집
—
크론 매일 05:40 KST

일별 조회수 증가

영상별 지표

영상게시일길이조회수지난 수집 대비좋아요댓글
전체 비용
$0.00
오늘 사용량
$0.00
잔액
$0.00

일별 사용 비용

키별 사용 비용

키 이름누적 사용액오늘이번 주이번 달상태

모델별 사용 비용 (최근 30일)

모델비용요청 수프롬프트 토큰완성 토큰

일별 신규 유저

일별 신규 유저 (7일 이동평균)

누적 메시지 수

2026-08-25부터 집계(그 이전은 크론 도입 전이라 기록 없음)

유료 구독자 수

정체 구간 (3일 이상 신규 0명)

리텐션

리텐션 추이

D1
D7
신규 유저
0
오늘 가입
오늘 메시지
0
오늘 신규 채팅 0개
전체 유저
0
전체 채팅
0
공고 수
0
오늘 포스팅
0
유료 구독자
0
게스트 채팅
0
메시지 0건
격자 데이터
0

최근 포스팅

날짜커밋 메시지링크

신규 유저 (최근 7주)

유저 목록

이메일 가입일 최근 활동 플랫폼 국가 랭크 모두 무한 기기명 스킨 당근 스캔

채팅 내역