jennifer-errors
콘솔의 일일 시스템 성능 통계 에러 표처럼, 기간 동안 JENNIFER 도메인 인스턴스의 에러를 유형별로 집계합니다. jennifer-metrics로 찾은 이상의 범위를 좁힐 때 사용하세요. 어떤 인스턴스에서 어떤 종류의 에러(SQL, 외부 호출, 메모리 부족, 응답 지연 등)가 늘었는지 확인한 뒤 jennifer-xview로 트랜잭션을 찾습니다. 의심 구간과 같은 길이의 이전 구간을 비교하면 새로 생긴 에러와 평소 에러를 구분할 수 있습니다.
- 발생한 인스턴스와 에러 유형마다 한 행입니다. 에러가 없는 유형은 나오지 않습니다.
- 에이전트 수명 이벤트(AGENT_START, AGENT_STOP, AGENT_RECONNECT, AGENT_SHUTDOWN)도 에러 유형으로 집계되며, 재시작을 보여 줍니다.
- 기간은 최대 31일입니다.
에러 유형: SERVICE_EXCEPTION, SERVICE_ERROR, METHOD_EXCEPTION, SQL_EXCEPTION, SQL_TOOMANY_FETCH, DB_CONNECTION_FAIL, DB_CONNECTION_UNCLOSED, DB_STATEMENT_UNCLOSED, DB_RESULTSET_UNCLOSED, DB_UN_COMMIT_ROLLBACK, DB_CONNECTION_ILLEGAL_ACCESS, DEADLOCK, EXTERNALCALL_EXCEPTION, HTTP_IO_EXCEPTION, SOCKET_EXCEPTION, HTTP_404_ERROR, OUT_OF_MEMORY, PLC_REJECTED, RECURSIVE_CALL, REPETITIVE_CALL, BAD_RESPONSE_TIME_APPLICATION, BAD_RESPONSE_TIME_SQL, BAD_RESPONSE_TIME_EXTERNAL_CALL, BATCH_EXCEPTION, THREAD_KILL_MANUAL, THREAD_KILL_AUTO, NOT_ENOUGH_DISK_SPACE, AGENT_START, AGENT_STOP, AGENT_RECONNECT, AGENT_SHUTDOWN, USER_DEFINED_WARNING, USER_DEFINED_FATAL, USER_DEFINED_LEAK, COMPILE_ERROR, PARSE_ERROR, NATIVE_CRITICAL_ERROR, PHP_WARNING
- profile=값
- 선택. JENNIFER 콘솔 접속 프로파일(유형 jennifer-apm-console) 이름입니다. 지정하지 않으면 권한이 있는 콘솔 프로파일을 모두 사용합니다. domain_id는 콘솔마다 다르므로 domain_id를 쓸 때는 프로파일이 하나여야 합니다. 권한이 있는 프로파일이 여럿이면 지정하세요.
- domain_id=값
- 필수. 예: 1000. jennifer-instances로 확인합니다.
- instance_ids=값
- 선택. 예: 75553,75554. jennifer-instances에서 얻은 인스턴스 ID(OID)를 쉼표로 구분합니다. 생략하면 기간 중 데이터를 보낸 모든 인스턴스를 집계합니다.
- error_types=값
- 선택. 예: SQL_EXCEPTION,SERVICE_EXCEPTION. 설명에 있는 에러 유형 이름을 쉼표로 구분합니다. 생략하면 콘솔 통계 화면이 집계하는 모든 유형입니다.
- duration=값
- 선택. 예: 10m(최근 10분). 현재 시각까지의 최근 기간으로 s(초), m(분), h(시), d(일) 단위입니다. 기간을 지정하지 않으면 최근 1시간입니다. 최대 31일입니다. 기간 동안의 에러를 집계합니다.
- from=값
- 선택. 기간의 시작, yyyyMMddHHmmss. 뒷자리를 쓰지 않으면 0으로 채웁니다. duration보다 우선합니다.
- to=값
- 선택. 기간의 끝, yyyyMMddHHmmss. 뒷자리를 쓰지 않으면 0으로 채웁니다. 생략하면 현재 시각입니다.
- limit=값
- 선택. 예: 1000. 최대 행 수로 기본값은 10000입니다.
출력 필드
| 필드 | 타입 | 이름 | 설명 |
|---|---|---|---|
| profile | 문자열 | 접속 프로파일 | 예: jennifer-prod |
| domain_id | 32비트 정수 | 도메인 ID | 예: 1000 |
| domain_name | 문자열 | 도메인 이름 | 예: siem-mon |
| instance_id | 64비트 정수 | 인스턴스 ID | 예: 75553. 콘솔이 ID로 요청하지 않은 인스턴스 이름을 주면 null입니다. |
| instance_name | 문자열 | 인스턴스 이름 | 예: siem-mon-data-1 |
| error_type | 32비트 정수 | 에러 유형 코드 | 예: 1020. 콘솔의 유형 코드입니다. 목록에 이름이 없는 유형이면 null입니다. |
| error_type_name | 문자열 | 에러 유형 | 예: SQL_EXCEPTION |
| count | 64비트 정수 | 건수 | 예: 12. 기간 중 해당 유형의 에러 건수입니다. |
사용 예
최근 1시간 가장 많은 에러:
하루 동안의 유형별 에러:
jennifer-errors domain_id=1000 duration=1d | stats sum(count) as errors by error_type_name | sort -errors
한 시간과 전날 같은 시간 비교 (늘어난 에러):
jennifer-errors domain_id=1000 from=20261027090000 to=20261027100000 | stats sum(count) as count by instance_name, error_type_name | join type=left instance_name, error_type_name [ jennifer-errors domain_id=1000 from=20261026090000 to=20261026100000 | stats sum(count) as before_count by instance_name, error_type_name ] | eval before_count = nvl(before_count, 0), increase = count - before_count | sort limit=20 -increase
두 인스턴스의 데이터베이스 에러: