지역 과 일치하는 CIDR 범위 에 대해 TCP 포트 443의 아웃바운드 연결이 허용되는지 확인합니다. 기본 구성 방법은 DNS 이름 insights-collector.newrelic.com 또는 insights-collector.eu01.nr-data.net 을 사용하는 것입니다.
사용자 지정 이벤트 제출 및 쿼리의 예
다음은 작동 중인 Event API의 예입니다.
사용자 정의 이벤트는 에이전트 API 를 통해 또는 이벤트 API를 통해 직접 삽입할 수 있습니다. 다음 예는 Ruby로 작성된 명령줄 도구가 예외로 인해 프로세스가 종료되는 시기를 추적하는 맞춤 이벤트 유형 CLIRun 을 보내는 방법을 보여줍니다.
# Hook into the runtime 'at_exit' event
at_exit do
# Name the custom event
payload ={'eventType'=>'CLIRun'}
# Check to see if the process is exiting due to an error
이벤트 API는 사용자 정의 이벤트에 허용되는 크기, 비율 및 문자를 제한 합니다. 또한 NRQL에서 사용할 수 있는 다른 데이터와 마찬가지로 사용자 지정 이벤트는 생성된 후에 업데이트하거나 삭제할 수 없습니다. 사용자 지정 이벤트에 문제가 있는 경우 문제 해결 절차 를 따르거나 새 사용자 지정 이벤트를 만드십시오.
JSON 형식 지정
이벤트 API는 페이로드에 포함된 속성에 대한 특정 형식을 허용합니다. float 또는 string 값만 허용됩니다.
사용자 정의 이벤트에 대한 속성을 정의할 때 다음 JSON 형식 지침을 따르십시오.
속성
JSON 형식 지침
eventType
Required: 이벤트의 이름입니다.
부동 소수점 및 문자열 값
부동 소수점 값 형식: "label":value
문자열 값 형식: "label":"value"
데이터 유형
API는 맵/객체 또는 배열 값이 아닌 키-값 쌍만 허용합니다. 이 API에 지원되는 데이터 유형은 문자열과 숫자(정수 또는 부동 소수점)입니다. 자세한 내용은데이터 요구 사항 을 참조하십시오.
문자열의 숫자
성능 관련 이유로 API에 제출된 값은 캐스팅하지 않습니다. 예를 들어, 123 은 숫자로, "123" 은 문자열로 취급합니다.
entity.guid, entity.name 및 entity.type : 이러한 속성은 내부적으로 항목을 식별하는 데 사용됩니다. 메트릭 데이터 포인트의 속성 섹션에서 이러한 키로 제출된 모든 값은 UI의 누락된 엔터티 또는 예상 엔터티와 연결되지 않은 원격 분석과 같은 정의되지 않은 동작을 유발할 수 있습니다. 자세한 내용은 엔터티 합성 을 참조하십시오.
appId : 값은 정수여야 합니다. 정수가 아니면 속성 이름과 값이 수집 중에 삭제됩니다.
eventType: 이 속성은 영숫자 문자, _ 밑줄 및 : 콜론의 조합일 수 있습니다.
timestamp: 이 속성은 초 또는 밀리초로 정의된 Unix epoch 타임스탬프여야 합니다.
맞춤 이벤트 제출
이벤트 API에 제출된 데이터는 간단한 HTTPS POST 요청에서 압축된 JSON 형식을 사용합니다. 이 예에서는 gzip 을 사용하지만 deflate 도 사용할 수 있습니다.
bash
$
gzip-c example_events.json |curl-X POST -H"Content-Type: application/json"\
누락되었거나 잘못된 키: 잘못된 인스턴스 키입니다. 유효한 을(를) 등록하세요. License 유형의 키를 사용해야 합니다. Browser, Mobile 또는 User 키는 작동하지 않습니다.
408
요청 시간 초과: 요청을 처리하는 데 너무 오래 걸렸습니다.
413
콘텐츠가 너무 큼: 요청이 너무 커서 처리할 수 없습니다. 문제를 해결하려면 제한 및 제한된 문자를 참조하십시오.
415
잘못된 콘텐츠 유형: 애플리케이션/JSON이어야 합니다. Event API는 multi-part/related를 제외한 모든 콘텐츠 유형을 허용하고 JSON으로 구문 분석할 수 있다고 가정합니다.
429
속도 제한으로 인해 요청이 너무 많습니다.
503
서비스를 일시적으로 사용할 수 없음: 재시도 요청
다음과 같은 경우 구문 분석 오류가 발생합니다.
이벤트가 페이로드 내에서 전송되지만 데이터가 누락되었거나 최대 한도를 초과했습니다. New Relic은 페이로드에서 개별 이벤트를 삭제하고 NrIntegrationError 이벤트 를 생성하고 나머지를 처리합니다.
JSON 페이로드에 형식이 잘못된 JSON 또는 누락된 필수 데이터가 포함되어 있습니다.
구문 분석 오류가 있는 페이로드는 성공적인 제출을 나타내는 200 응답을 수신합니다. 구문 분석 오류를 해결하기 위해 새 NrIntegrationError 이벤트 유형이 생성됩니다. 모든 구문 분석 오류는 NRQL 쿼리로 인한 것입니다. 삭제된 이벤트와 관련된 오류 메시지의 경우 New Relic에는 메시지의 일부로 삭제된 이벤트 수가 포함됩니다.
구문 분석 오류가 있는 요청 문제를 해결하려면 다음 오류 메시지를 참조하십시오.
구문 분석 오류
문제점 해결
속성 appId 이(가) 정수가 아니기 때문에 거부된 X 이벤트
appId 속성에는 10진수 값이나 문자열과 같은 정수가 아닌 값이 있습니다.
eventType 에 다음 문자가 포함될 수 없기 때문에 X 이벤트가 거부되었습니다. [., \]
eventType 속성에 마침표나 백슬래시와 같은 잘못된 문자가 포함되어 있습니다.
속성에 속성 이름이 없기 때문에 X 이벤트가 거부되었습니다.
속성 이름이 null 또는 빈 문자열로 설정되었습니다.
속성 이름이 최대 길이를 초과하여 거부된 X 이벤트
속성 이름은 255자를 초과합니다.
속성 값이 최대 길이를 초과하여 거부된 X 이벤트
속성 값이 4096자를 초과했습니다.
이벤트가 속성의 최대 수를 초과했기 때문에 X개의 이벤트가 거부되었습니다.
이벤트에는 255개 이상의 속성이 있습니다.
필수 속성이 누락되어 거부된 X 이벤트 eventType
맞춤 이벤트에는 eventType 속성이 필요합니다.
JSON 페이로드 구문 분석 오류
형식 문제 또는 손상된 데이터로 인해 요청 JSON을 구문 분석하는 동안 오류가 발생했습니다.
NrIntegrationError를 사용한 쿼리 및 경고
NrIntegrationError 이벤트를 사용하면 뉴렐릭 계정으로 전송되는 맞춤 데이터에 대해 쿼리하고 을 설정할 수 있습니다. 권장 사항: 구문 분석 오류에 대한 알림을 받으려면 NrIntegrationError에 대한 NRQL 공지 조건을 만드세요 . 다음 예제 NRQL 쿼리를 사용하세요.
SELECT message FROM NrIntegrationError WHERE newRelicFeature ='Event API'AND category ='EventApiException'
NrIntegrationError 속성
문제점 해결
timestamp
요청이 수신된 타임스탬프입니다. timestamp 속성은 지난 24시간 동안의 64비트 정수 Unix 타임스탬프를 사용합니다. Unix 에포크를 기준으로 타임스탬프를 초 또는 밀리초 단위로 정의할 수 있습니다.
타임스탬프에 소수점을 사용하지 마십시오. 10진수를 사용하는 경우 속성은 기본적으로 사용자 정의 이벤트가 생성된 타임스탬프로 설정됩니다.
newRelicFeature
오류가 발생한 기능의 이름입니다. 모든 맞춤 이벤트 구문 분석 오류의 경우 이는 Event API 입니다.
apiKeyPrefix
오류를 생성한 요청에 사용된 의 처음 6개 문자입니다.
requestId
오류를 생성한 요청에 대해 API에서 반환된 uuid 입니다.
category
오류의 범주입니다. 맞춤 이벤트의 경우 EventApiException 입니다.
message
오류 메시지의 내용입니다.
name
오류의 이름입니다. 맞춤 이벤트의 경우 항상 EventValidationException 입니다.
eventTypeSample
사용 가능한 경우 오류를 생성한 이벤트 유형 중 하나입니다.
데이터 찾기
Event API(및 이 API를 사용하는 통합)를 통해 전송된 데이터를 찾으려면 쿼리할 수 있습니다. 예를 들어 NRQL 을 사용하여 사용자 지정 이벤트를 쿼리하려면 다음을 실행합니다.