파서 유형 목록 조회

파서 유형 목록을 조회합니다.

HTTP 요청

GET /api/sonar/parser-factories
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
     https://HOSTNAME/api/sonar/parser-factories

정상 응답

아래는 파서 유형 목록의 예시입니다. 앱 설치에 따라 사용 가능한 파서 유형이 동적으로 확장됩니다.

{
  "groups": ["시스로그", "범용", "스크립트", "SNMP", "파일"],
  "factories": [
    {
      "name": "cef",
      "display_name": "CEF",
      "display_group": "범용",
      "description": "CEF (Common Event Format) 형식의 로그를 파싱합니다.",
      "options": [],
      "deprecated": false
    },
    {
      "name": "csv",
      "display_name": "CSV",
      "display_group": "범용",
      "description": "CSV 형식으로 구분된 각 토큰에 대하여 설정된 필드 이름들을 순서대로 적용하여 파싱합니다.",
      "options": [
        {
          "type": "string",
          "subtype": null,
          "name": "use_tab",
          "required": false,
          "display_name": "탭문자 사용 여부",
          "description": "구분자로 탭문자를 사용할지 결정합니다. true 혹은 false",
          "default_value": null
        },
        {
          "type": "string",
          "subtype": null,
          "name": "use_double_quote",
          "required": false,
          "display_name": "큰 따옴표 이스케이프",
          "description": "특수문자를 구분하기 위한 이스케이프 문자를 큰 따옴표로 사용합니다. true 혹은 false",
          "default_value": null
        },
        {
          "type": "string",
          "subtype": null,
          "name": "column_headers",
          "required": false,
          "display_name": "필드 이름 목록",
          "description": "파싱된 결과 필드 이름들",
          "default_value": null
        },
        {
          "type": "string",
          "subtype": null,
          "name": "target_field",
          "required": false,
          "display_name": "대상 필드",
          "description": "파싱할 대상 필드 이름",
          "default_value": null
        },
        {
          "type": "string",
          "subtype": null,
          "name": "include_target",
          "required": false,
          "display_name": "원본 값 포함 여부",
          "description": "CSV로 파싱된 결과 외에 원본 필드 값도 포함할지 설정합니다. true 혹은 false",
          "default_value": null
        }
      ],
      "deprecated": false
    },
    {
      "name": "json",
      "display_name": "JSON",
      "display_group": "범용",
      "description": "JSON 형식의 문자열을 파싱합니다.",
      "options": [
        {
          "type": "string",
          "subtype": null,
          "name": "target_field",
          "required": false,
          "display_name": "대상 필드",
          "description": "파싱할 대상 필드 이름",
          "default_value": null
        },
        {
          "type": "string",
          "subtype": null,
          "name": "include_target",
          "required": false,
          "display_name": "원본 값 포함 여부",
          "description": "JSON 형식으로 파싱된 결과 외에 원본 필드 값도 포함할지 설정합니다. true 혹은 false",
          "default_value": null
        }
      ],
      "deprecated": false
    },
    {
      "name": "leef",
      "display_name": "LEEF",
      "display_group": "시스로그",
      "description": "LEEF 로그를 파싱합니다.",
      "options": [],
      "deprecated": false
    },
    {
      "name": "welf",
      "display_name": "WELF 포맷",
      "display_group": "범용",
      "description": "웹트렌드 로그 포맷",
      "options": [],
      "deprecated": false
    },
    {
      "name": "delimiter",
      "display_name": "구분자",
      "display_group": "범용",
      "description": "구분자로 구분된 각 토큰에 대 하여 설정된 필드 이름들을 순서대로 적용하여 파싱합니다.",
      "options": [
        {
          "type": "string",
          "subtype": null,
          "name": "delimiter",
          "required": true,
          "display_name": "구분자",
          "description": "하나의 아스키 구분자 혹은 4자리 유니코드 이스케이프 시퀀스 (예: \u0007)",
          "default_value": null
        },
        {
          "type": "string",
          "subtype": null,
          "name": "column_headers",
          "required": false,
          "display_name": "필드 이름 목록",
          "description": "쉼표(,)로 구분된 필드 이름들",
          "default_value": null
        },
        {
          "type": "string",
          "subtype": null,
          "name": "delimiter_target",
          "required": false,
          "display_name": "대상 필드",
          "description": "구분자로 파싱할 대상 필드 이름",
          "default_value": null
        },
        {
          "type": "string",
          "subtype": null,
          "name": "include_delimiter_target",
          "required": false,
          "display_name": "원본 값 포함 여부",
          "description": "구분자로 파싱된 결과 외에 원본 필드 값도 포함할지 설정합니다. true 혹은 false",
          "default_value": null
        }
      ],
      "deprecated": false
    },
    {
      "name": "groovy",
      "display_name": "그루비",
      "display_group": "스크립트",
      "description": "그루비 파서 스크립트",
      "options": [
        {
          "type": "string",
          "subtype": null,
          "name": "script_name",
          "required": true,
          "display_name": "스크립트 이름",
          "description": ".groovy 확장자를 제외한 스크립트 파일 이름",
          "default_value": null
        }
      ],
      "deprecated": false
    },
    {
      "name": "regex",
      "display_name": "정규표현식",
      "display_group": "범용",
      "description": "정규표현식을 이용하여 로그를 파싱합니다.",
      "options": [
        {
          "type": "string",
          "subtype": null,
          "name": "regex",
          "required": true,
          "display_name": "정규표현식",
          "description": "필드 이름이 포함된 정규표현식",
          "default_value": null
        },
        {
          "type": "string",
          "subtype": null,
          "name": "field",
          "required": false,
          "display_name": "대상 필드",
          "description": "정규표현식을 적용할 필드, 미설정 시 기본값은 line",
          "default_value": null
        },
        {
          "type": "string",
          "subtype": null,
          "name": "include_original_field",
          "required": false,
          "display_name": "원본 필드 포함",
          "description": "정규표현식으로 파싱된 결과 외에 원본 필드 값도 포함할지 설정합니다. true 혹은 false",
          "default_value": null
        }
      ],
      "deprecated": false
    },
    {
      "name": "query",
      "display_name": "쿼리 기반 파서",
      "display_group": "범용",
      "description": "쿼리를 이용하여 파싱을 수행합니다.",
      "options": [
        {
          "type": "string",
          "subtype": null,
          "name": "query",
          "required": true,
          "display_name": "쿼리",
          "description": "로그 파싱에 사용할 쿼리",
          "default_value": null
        }
      ],
      "deprecated": false
    }
  ]
}
  • groups (배열): 파서 그룹 이름 목록
  • factories (배열): 파서 유형 목록
    • name (문자열): 파서 유형 식별자
    • display_name (문자열): 파서 유형의 화면 표시 이름
    • display_group (문자열): 파서 유형의 화면 표시 그룹
    • description (문자열): 파서 유형에 대한 설명
    • options (배열): 설정 명세 목록
      • type (문자열): 데이터 타입. string, integer, boolean 중 하나.
      • subtype (문자열): UI에서 인식하는 확장 컴포넌트 유형
      • name (문자열): 설정 키 이름
      • required (불리언): 필수 여부
      • display_name (문자열): 로케일이 적용된 화면 표시 이름
      • description (문자열): 로케일이 적용된 화면 표시 설명
      • default_value (문자열): 화면에 표시할 설정 기본값
    • deprecated (불리언): 기능 제거 예정 여부. 이전 버전에서 설정된 경우 호환성을 지원하지만 UI에서 새로운 설정은 불가능하도록 처리합니다.