New Relic의 경고와 함께 합성 모니터링의 개인 위치 를 사용할 때 위치가 제대로 프로비저닝되지 않았거나 잘못 구성되었거나 일반적으로 오작동하는 경우 알림을 받을 수 있습니다.
이 가이드는 New Relic 대시보드 및 NRQL 경고 를 사용하여 개인 위치 상태에 관한 다음 기본 질문에 답하는 데 도움이 됩니다.
전제 조건
이 가이드의 지침을 따르기 전에 다음 사항을 확인하십시오.
다음 Private Minion 대시보드 예제 JSON은 다음을 사용하여 계정으로 가져올 수 있습니다.
{ "name": "Synthetics Private Minions", "description": "Details on events from SyntheticsPrivateLocationStatus, SyntheticsPrivateMinion, SyntheticCheck, SyntheticRequest, NrAuditEvent, plus a page for Performance Analysis.", "permissions": "PUBLIC_READ_WRITE", "pages": [ { "name": "SyntheticsPrivateLocationStatus", "description": "Private location queues.", "widgets": [ { "title": "pending checks by location", "layout": { "column": 1, "row": 1, "width": 3, "height": 5 }, "linkedEntityGuids": null, "visualization": { "id": "viz.bar" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticsPrivateLocationStatus SELECT latest(checksPending) FACET name" } ] } }, { "title": "private location queue", "layout": { "column": 4, "row": 1, "width": 9, "height": 4 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticsPrivateLocationStatus SELECT max(checksPending) FACET name TIMESERIES MAX SINCE 2 weeks ago" } ], "yAxisLeft": { "zero": true } } }, { "title": "rate of queue growth", "layout": { "column": 4, "row": 5, "width": 9, "height": 4 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticsPrivateLocationStatus SELECT clamp_min(derivative(checksPending,1 minute),0) AS 'queue growth rate' FACET name TIMESERIES MAX SINCE 2 weeks ago" } ], "yAxisLeft": { "zero": true } } }, { "title": "Checks Pending", "layout": { "column": 1, "row": 6, "width": 3, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.billboard" }, "rawConfiguration": { "dataFormatters": [], "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticsPrivateLocationStatus SELECT average(checksPending) SINCE 3 minutes ago UNTIL 2 minutes ago" } ], "thresholds": [ { "alertSeverity": "WARNING", "value": 1 }, { "alertSeverity": "CRITICAL", "value": 5 } ] } }, { "title": "audit events for private locations", "layout": { "column": 1, "row": 9, "width": 12, "height": 4 }, "linkedEntityGuids": null, "visualization": { "id": "viz.table" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM NrAuditEvent SELECT * WHERE targetType = 'PRIVATE_LOCATION' LIMIT MAX" } ] } } ] }, { "name": "SyntheticsPrivateMinion", "description": "Minion health.", "widgets": [ { "title": "private locations", "layout": { "column": 1, "row": 1, "width": 3, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.table" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticsPrivateMinion SELECT uniqueCount(minionId) - 1 AS 'restarts',latest(timestamp) FACET minionLocation" } ] } }, { "title": "minion details", "layout": { "column": 4, "row": 1, "width": 9, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.table" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticsPrivateMinion SELECT latest(minionId),latest(timestamp) AS 'last seen',latest(minionStartTimestamp) AS 'started',uniqueCount(minionId) - 1 AS 'restarts',latest(minionIpv4),latest(minionJobsQueued),latest(minionJobsFinished),100*latest(minionJobsFailed)/latest(minionJobsQueued) AS 'job failure rate',latest(minionJobsRunning),latest(minionJobsTimedout),latest(minionJobsSkipped),latest(minionJobsInternalEngineError),latest(minionWorkers),latest(minionProcessors),latest(minionPhysicalMemoryUsedBytes/(1024*1024*1024)) AS 'used memory (GiB)',latest(minionPhysicalMemoryTotalBytes/(1024*1024*1024)) AS 'total memory (GiB)',latest(minionPhysicalMemoryTotalBytes/(1024*1024*1024))/latest(minionWorkers) AS 'memory (GiB) per heavy worker' FACET minionBuildNumber,minionLocation,minionOsVersion,minionContainerSystemVersion,minionHostname LIMIT 100" } ] } }, { "title": "minion instances over time", "layout": { "column": 1, "row": 4, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.billboard" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticsPrivateMinion SELECT uniqueCount(minionId) AS 'minions'" } ], "platformOptions": { "ignoreTimeRange": false } } }, { "title": "restarts", "layout": { "column": 3, "row": 4, "width": 3, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.area" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticsPrivateMinion SELECT uniqueCount(minionId) WHERE minionLocation NOT LIKE 'AWS_%' FACET minionId TIMESERIES LIMIT 50" } ], "platformOptions": { "ignoreTimeRange": false } } }, { "title": "CPU utilization (%)", "layout": { "column": 6, "row": 4, "width": 3, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticsPrivateMinion SELECT average(minionProcessorsUsagePercentage) AS 'avg',max(minionProcessorsUsagePercentage) AS 'max' TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "memory utilization (%)", "layout": { "column": 9, "row": 4, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticsPrivateMinion SELECT average(minionPhysicalMemoryUsedPercentage) AS 'average',max(minionPhysicalMemoryUsedPercentage) AS 'max' TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "swap (GiB)", "layout": { "column": 1, "row": 7, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticsPrivateMinion SELECT average(minionSwapMemoryUsedBytes) AS 'avg',max(minionSwapMemoryUsedBytes) AS 'max' TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "used vs free memory (GiB)", "layout": { "column": 5, "row": 7, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.area" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticsPrivateMinion SELECT max(minionPhysicalMemoryUsedBytes) / (1024*1024*1024) AS 'used',(max(minionPhysicalMemoryTotalBytes)-max(minionPhysicalMemoryUsedBytes)) / (1024*1024*1024) AS 'free' TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "count of Internal Engine Errors (IEE) vs failed jobs", "layout": { "column": 9, "row": 7, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticsPrivateMinion SELECT max(minionJobsInternalEngineError) AS 'IEE',max(minionJobsFailed) AS 'failed jobs' TIMESERIES AUTO" } ], "yAxisLeft": { "zero": false } } }, { "title": "jobs running", "layout": { "column": 1, "row": 10, "width": 4, "height": 6 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticsPrivateMinion SELECT max(minionJobsRunning) AS 'concurrent',clamp_min(derivative(minionJobsFinished,1 minute),0) AS 'finished per minute' TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "jobs finished", "layout": { "column": 5, "row": 10, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticsPrivateMinion SELECT max(minionJobsFinished) - min(minionJobsFinished) AS 'total jobs' TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "job failure rates", "layout": { "column": 9, "row": 10, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.stacked-bar" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticsPrivateMinion SELECT (max(minionJobsFailed/minionJobsReceived))*100 AS 'failed rate',(max(minionJobsInternalEngineError/minionJobsReceived))*100 AS 'IEE rate' TIMESERIES AUTO" } ] } }, { "title": "skipped jobs", "layout": { "column": 5, "row": 13, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticsPrivateMinion SELECT max(minionJobsSkipped) - min(minionJobsSkipped) AS 'skipped jobs' FACET minionHostname TIMESERIES AUTO" } ], "yAxisLeft": { "zero": false } } }, { "title": "IEE as a percentage of failed jobs", "layout": { "column": 9, "row": 13, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.stacked-bar" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticsPrivateMinion SELECT average(minionJobsInternalEngineError/minionJobsFailed)*100 AS 'IEE',(average((minionJobsFailed-minionJobsInternalEngineError)/minionJobsFailed))*100 AS 'failed jobs' TIMESERIES AUTO" } ] } }, { "title": "job timeout rates", "layout": { "column": 9, "row": 16, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.stacked-bar" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticsPrivateMinion SELECT 100*latest(minionJobsTimedout)/latest(minionJobsReceived) AS 'job timeout rate' TIMESERIES AUTO" } ] } } ] }, { "name": "SyntheticCheck", "description": null, "widgets": [ { "title": "minion IDs by location", "layout": { "column": 1, "row": 1, "width": 6, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.table" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT latest(minion) WHERE location NOT LIKE 'AWS_%' FACET location,minionId LIMIT MAX" } ] } }, { "title": "minion count", "layout": { "column": 7, "row": 1, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT uniqueCount(minionId) WHERE location NOT LIKE 'AWS_%' TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "abnormal job duration by minion (s)", "layout": { "column": 9, "row": 1, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.stacked-bar" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT stddev(nr.internalQueueDuration+nr.executionDuration)/1e3 AS 'abnormal job duration (s)' FACET minion WHERE location NOT LIKE 'AWS_%' LIMIT 20 TIMESERIES AUTO" } ] } }, { "title": "avg monitor frequency by location (m)", "layout": { "column": 1, "row": 4, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT uniqueCount(monitorId)/rate(uniqueCount(id), 1 minute) AS 'avg frequency (m)' WHERE location NOT LIKE 'AWS_%' FACET location TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "avg monitor frequency by type (m)", "layout": { "column": 5, "row": 4, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT uniqueCount(monitorId)/rate(uniqueCount(id), 1 minute) AS 'avg frequency (m)' WHERE location NOT LIKE 'AWS_%' FACET type TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "avg monitor frequency by status (m)", "layout": { "column": 7, "row": 4, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT uniqueCount(monitorId)/rate(uniqueCount(id), 1 minute) AS 'avg frequency (m)' WHERE location NOT LIKE 'AWS_%' FACET result TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "abnormal job duration by monitor (s)", "layout": { "column": 9, "row": 4, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.stacked-bar" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT stddev(nr.internalQueueDuration+nr.executionDuration)/1e3 AS 'abnormal job duration (s)' FACET monitorId WHERE location NOT LIKE 'AWS_%' LIMIT 20 TIMESERIES AUTO" } ] } }, { "title": "monitors by location", "layout": { "column": 1, "row": 10, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.pie" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT uniqueCount(monitorId) WHERE location NOT LIKE 'AWS_%' FACET location" } ] } }, { "title": "monitors by location", "layout": { "column": 5, "row": 10, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT uniqueCount(monitorId) WHERE location NOT LIKE 'AWS_%' FACET location TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "job duration by location (s)", "layout": { "column": 7, "row": 10, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT average(nr.internalQueueDuration+nr.executionDuration)/1e3 AS 'avg job duration (s)' WHERE location NOT LIKE 'AWS_%' FACET location TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "abnormal job duration by location (s)", "layout": { "column": 9, "row": 10, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.stacked-bar" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT stddev(nr.internalQueueDuration+nr.executionDuration)/1e3 AS 'abnormal job duration (s)' FACET location WHERE location NOT LIKE 'AWS_%' LIMIT 20 TIMESERIES AUTO" } ] } }, { "title": "monitors by runtime type version", "layout": { "column": 1, "row": 13, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.pie" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT uniqueCount(monitorId) WHERE location NOT LIKE 'AWS_%' FACET runtimeTypeVersion" } ] } }, { "title": "monitors by runtime type version", "layout": { "column": 5, "row": 13, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT uniqueCount(monitorId) WHERE location NOT LIKE 'AWS_%' FACET runtimeTypeVersion TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "job duration by runtime type version (s)", "layout": { "column": 7, "row": 13, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT average(nr.internalQueueDuration+nr.executionDuration)/1e3 AS 'avg job duration (s)' WHERE location NOT LIKE 'AWS_%' FACET runtimeTypeVersion TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "abnormal job duration by runtime type version (s)", "layout": { "column": 9, "row": 13, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.stacked-bar" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT stddev(nr.internalQueueDuration+nr.executionDuration)/1e3 AS 'abnormal job duration (s)' FACET runtimeTypeVersion WHERE location NOT LIKE 'AWS_%' LIMIT 20 TIMESERIES AUTO" } ] } }, { "title": "monitors by type", "layout": { "column": 1, "row": 16, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.pie" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT uniqueCount(monitorId) WHERE location NOT LIKE 'AWS_%' FACET type" } ] } }, { "title": "monitors by type", "layout": { "column": 5, "row": 16, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT uniqueCount(monitorId) WHERE location NOT LIKE 'AWS_%' FACET type TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "job duration by type (s)", "layout": { "column": 7, "row": 16, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT average(nr.internalQueueDuration+nr.executionDuration)/1e3 AS 'avg job duration (s)' WHERE location NOT LIKE 'AWS_%' FACET type TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "abnormal job duration by type (s)", "layout": { "column": 9, "row": 16, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.stacked-bar" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT stddev(nr.internalQueueDuration+nr.executionDuration)/1e3 AS 'abnormal job duration (s)' FACET type WHERE location NOT LIKE 'AWS_%' TIMESERIES AUTO" } ] } }, { "title": "monitors by status", "layout": { "column": 1, "row": 19, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.pie" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT uniqueCount(monitorId) WHERE location NOT LIKE 'AWS_%' FACET result" } ] } }, { "title": "monitors by status", "layout": { "column": 5, "row": 19, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT uniqueCount(monitorId) WHERE location NOT LIKE 'AWS_%' FACET result TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "job duration by status (s)", "layout": { "column": 7, "row": 19, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT average(nr.internalQueueDuration+nr.executionDuration)/1e3 AS 'avg job duration (s)' WHERE location NOT LIKE 'AWS_%' FACET result TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "abnormal job duration by status (s)", "layout": { "column": 9, "row": 19, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.stacked-bar" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT stddev(nr.internalQueueDuration+nr.executionDuration)/1e3 AS 'abnormal job duration (s)' FACET result WHERE location NOT LIKE 'AWS_%' TIMESERIES AUTO" } ] } }, { "title": "successful monitors by type", "layout": { "column": 1, "row": 22, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.pie" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT uniqueCount(monitorId) WHERE location NOT LIKE 'AWS_%' AND result = 'SUCCESS' FACET type" } ] } }, { "title": "successful monitors by type", "layout": { "column": 5, "row": 22, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT uniqueCount(monitorId) WHERE location NOT LIKE 'AWS_%' AND result = 'SUCCESS' FACET type TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "job duration for successes by type (s)", "layout": { "column": 7, "row": 22, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT average(nr.internalQueueDuration+nr.executionDuration)/1e3 AS 'avg job duration (s)' WHERE location NOT LIKE 'AWS_%' AND result = 'SUCCESS' FACET type TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "abnormal job duration for successes by type (s)", "layout": { "column": 9, "row": 22, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.stacked-bar" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT stddev(nr.internalQueueDuration+nr.executionDuration)/1e3 AS 'abnormal job duration (s)' FACET type WHERE location NOT LIKE 'AWS_%' AND result = 'SUCCESS' TIMESERIES AUTO" } ] } }, { "title": "failed monitors by type", "layout": { "column": 1, "row": 25, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.pie" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT uniqueCount(monitorId) WHERE location NOT LIKE 'AWS_%' AND result = 'FAILED' FACET type" } ] } }, { "title": "failed monitors by type", "layout": { "column": 5, "row": 25, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT uniqueCount(monitorId) WHERE location NOT LIKE 'AWS_%' AND result = 'FAILED' FACET type TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "job duration for failures by type (s)", "layout": { "column": 7, "row": 25, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT average(nr.internalQueueDuration+nr.executionDuration)/1e3 AS 'avg job duration (s)' WHERE location NOT LIKE 'AWS_%' AND result = 'FAILED' FACET type TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "abnormal job duration for failures by type (s)", "layout": { "column": 9, "row": 25, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.stacked-bar" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT stddev(nr.internalQueueDuration+nr.executionDuration)/1e3 AS 'abnormal job duration (s)' FACET type WHERE location NOT LIKE 'AWS_%' AND result = 'FAILED' TIMESERIES AUTO" } ] } }, { "title": "ping monitors by location", "layout": { "column": 1, "row": 28, "width": 4, "height": 6 }, "linkedEntityGuids": null, "visualization": { "id": "viz.table" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT uniqueCount(monitorId) AS 'monitors with results',uniqueCount(monitorId)/rate(uniqueCount(id), 1 minute) AS 'avg job frequency (m)',average(nr.internalQueueDuration+nr.executionDuration)/1e3 AS 'avg duration (s)' WHERE location NOT LIKE 'AWS_%' AND type = 'SIMPLE' FACET location" } ] } }, { "title": "top 5 ping errors", "layout": { "column": 5, "row": 28, "width": 8, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.table" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT count(*),latest(monitorId) AS 'latest monitor id',latest(type),average((nr.internalQueueDuration+nr.executionDuration)/1e3) AS 'avg job duration (s)',max(timestamp) AS 'last occurred' WHERE type = 'SIMPLE' AND result = 'FAILED' AND location NOT LIKE 'AWS_%' FACET error LIMIT 5" } ] } }, { "title": "ping duration with monitor count (s)", "layout": { "column": 5, "row": 31, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT average(nr.internalQueueDuration+nr.executionDuration)/1e3 AS 'avg job duration (s)',uniqueCount(monitorId) AS 'monitor count' WHERE type = 'SIMPLE' AND location NOT LIKE 'AWS_%' TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "ping timeout vs other error durations", "layout": { "column": 7, "row": 31, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT average((nr.internalQueueDuration+nr.executionDuration)/1e3) WHERE type = 'SIMPLE' AND location NOT LIKE 'AWS_%' AND result = 'FAILED' FACET cases(WHERE error NOT LIKE '%timeout%' AS 'other error duration (s)', WHERE error LIKE '%timeout%' AS 'timeout duration (s)') TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "ping jobs per minute", "layout": { "column": 9, "row": 31, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT rate(uniqueCount(id), 1 minute) WHERE location NOT LIKE 'AWS_%' AND type = 'SIMPLE' TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "ping timeout rate", "layout": { "column": 11, "row": 31, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT percentage(count(*), WHERE error LIKE '%timeout%' OR error LIKE '%timed-out%') WHERE location NOT LIKE 'AWS_%' AND type = 'SIMPLE' TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "non-ping monitors by location", "layout": { "column": 1, "row": 34, "width": 4, "height": 6 }, "linkedEntityGuids": null, "visualization": { "id": "viz.table" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT uniqueCount(monitorId) AS 'monitors with results',uniqueCount(monitorId)/rate(uniqueCount(id), 1 minute) AS 'avg job frequency (m)',average(nr.internalQueueDuration+nr.executionDuration)/1e3 AS 'avg duration (s)' WHERE location NOT LIKE 'AWS_%' AND type != 'SIMPLE' FACET location" } ] } }, { "title": "top 5 non-ping errors", "layout": { "column": 5, "row": 34, "width": 8, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.table" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT count(*),latest(monitorId) AS 'latest monitor id',latest(type),average((nr.internalQueueDuration+nr.executionDuration)/1e3) AS 'avg job duration (s)',max(timestamp) AS 'last occurred' WHERE type != 'SIMPLE' AND result = 'FAILED' AND location NOT LIKE 'AWS_%' FACET error LIMIT 5" } ] } }, { "title": "non-ping duration with monitor count (s)", "layout": { "column": 5, "row": 37, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT average(nr.internalQueueDuration+nr.executionDuration)/1e3 AS 'avg job duration (s)',uniqueCount(monitorId) AS 'monitor count' WHERE type != 'SIMPLE' AND location NOT LIKE 'AWS_%' TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "non-ping timeout vs other error durations", "layout": { "column": 7, "row": 37, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT average((nr.internalQueueDuration+nr.executionDuration)/1e3) WHERE type != 'SIMPLE' AND location NOT LIKE 'AWS_%' AND result = 'FAILED' FACET cases(WHERE error NOT LIKE '%timeout%' AS 'other error duration (s)', WHERE error LIKE '%timeout%' AS 'timeout duration (s)') TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "non-ping jobs per minute", "layout": { "column": 9, "row": 37, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT rate(uniqueCount(id), 1 minute) WHERE location NOT LIKE 'AWS_%' AND type != 'SIMPLE' TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "non-ping timeout rate", "layout": { "column": 11, "row": 37, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT percentage(count(*), WHERE error LIKE '%timeout%' OR error LIKE '%timed-out%') WHERE location NOT LIKE 'AWS_%' AND type != 'SIMPLE' TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "jobs per minute by minion", "layout": { "column": 1, "row": 40, "width": 6, "height": 4 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT rate(uniqueCount(id), 1 minute) WHERE location NOT LIKE 'AWS_%' FACET minion TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "errors per minute by type", "layout": { "column": 7, "row": 40, "width": 6, "height": 4 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT rate(uniqueCount(id), 1 minute) WHERE location NOT LIKE 'AWS_%' AND error != '' AND error IS NOT NULL FACET type,result TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "jobs per minute by type", "layout": { "column": 1, "row": 44, "width": 6, "height": 4 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT rate(uniqueCount(id), 1 minute) WHERE location NOT LIKE 'AWS_%' FACET type TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "error counts by class", "layout": { "column": 7, "row": 44, "width": 6, "height": 4 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT count(*) WHERE location NOT LIKE 'AWS_%' AND result != 'SUCCESS' FACET capture(error, r'(?P<firstWord>\\S+)\\s.+') AS 'error class' TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "monitor details", "layout": { "column": 1, "row": 48, "width": 12, "height": 4 }, "linkedEntityGuids": null, "visualization": { "id": "viz.table" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT uniqueCount(id) AS 'results',uniqueCount(location)/rate(uniqueCount(id), 1 minute) AS 'avg job frequency (m)',average(nr.internalQueueDuration+nr.executionDuration)/1e3 AS 'avg duration (s)' WHERE location NOT LIKE 'AWS_%' FACET monitorId,type,apiVersion,runtimeTypeVersion LIMIT 50" } ] } } ] }, { "name": "SyntheticRequest", "description": null, "widgets": [ { "title": "jobs per minion", "layout": { "column": 1, "row": 1, "width": 5, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.table" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticRequest SELECT uniqueCount(id) AS 'jobs' WHERE location NOT LIKE 'AWS_%' FACET location,minion,minionId" } ] } }, { "title": "top 5 error response codes", "layout": { "column": 6, "row": 1, "width": 7, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.stacked-bar" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticRequest SELECT count(responseCode) AS 'responses' WHERE responseCode NOT IN (200,201,202,203,204,300,301,302,303,304) AND responseCode IS NOT NULL AND location NOT LIKE 'AWS_%' FACET responseCode,responseStatus TIMESERIES AUTO LIMIT 5" } ], "yAxisLeft": { "zero": true } } }, { "title": "incomplete jobs", "layout": { "column": 1, "row": 4, "width": 5, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.table" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticRequest SELECT percentage(uniqueCount(id),WHERE domComplete IS NULL) AS 'percent incomplete',uniqueCount(id) AS 'jobs' WHERE isNavigationRoot IS true AND location NOT LIKE 'AWS_%' FACET monitorName,monitorId,runtimeTypeVersion LIMIT 20" } ] } }, { "title": "request rate", "layout": { "column": 6, "row": 4, "width": 3, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "legend": { "enabled": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticRequest SELECT rate(uniqueCount(id), 1 minute) AS 'request rate' WHERE location NOT LIKE 'AWS_%' TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "request rate by job", "layout": { "column": 9, "row": 4, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.stacked-bar" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticRequest SELECT rate(uniqueCount(id), 1 minute) AS 'request rate' WHERE location NOT LIKE 'AWS_%' FACET id TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "percent of incomplete requests", "layout": { "column": 1, "row": 7, "width": 5, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.table" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticRequest SELECT percentage(count(*),WHERE domComplete IS NULL) AS 'percent incomplete',count(*) AS 'requests',latest(responseCode),latest(responseStatus) WHERE isNavigationRoot IS true AND location NOT LIKE 'AWS_%' FACET domain" } ] } }, { "title": "top 5 domains for incomplete jobs", "layout": { "column": 6, "row": 7, "width": 3, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.table" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticRequest SELECT count(*) AS 'requests',latest(URL) WHERE domComplete IS NULL AND isNavigationRoot IS true AND location NOT LIKE 'AWS_%' FACET domain LIMIT 5" } ] } }, { "title": "complete vs incomplete jobs", "layout": { "column": 9, "row": 7, "width": 4, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.pie" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticRequest SELECT uniqueCount(id) AS 'number of jobs' WHERE isNavigationRoot IS true AND location NOT LIKE 'AWS_%' FACET cases(WHERE domComplete IS NULL AS 'incomplete',WHERE domComplete IS NOT NULL AS 'complete')" } ] } }, { "title": "page load duration for complete vs incomplete jobs", "layout": { "column": 1, "row": 10, "width": 3, "height": 4 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticRequest SELECT max(onPageLoad/1e3) WHERE isNavigationRoot IS true AND location NOT LIKE 'AWS_%' FACET cases(WHERE domComplete IS NULL AS 'incomplete',WHERE domComplete IS NOT NULL AS 'complete') TIMESERIES AUTO" } ], "yAxisLeft": { "zero": true } } }, { "title": "page load duration for complete vs incomplete jobs by monitor", "layout": { "column": 4, "row": 10, "width": 9, "height": 4 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticRequest SELECT max(onPageLoad/1e3) WHERE isNavigationRoot IS true AND location NOT LIKE 'AWS_%' FACET cases(WHERE domComplete IS NULL AS 'incomplete',WHERE domComplete IS NOT NULL AS 'complete'),monitorName TIMESERIES MAX LIMIT MAX" } ], "yAxisLeft": { "zero": true } } }, { "title": "audit events for monitors", "layout": { "column": 1, "row": 14, "width": 12, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.table" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM NrAuditEvent SELECT * WHERE targetType = 'MONITOR' LIMIT MAX" } ] } } ] }, { "name": "Performance Analysis", "description": "Assess how the minion is performing given the current job demand. Should we scale up by adding more heavy workers and a bigger VM, or should we scale out by adding more VMs?", "widgets": [ { "title": "", "layout": { "column": 1, "row": 1, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.markdown" }, "rawConfiguration": { "text": "See [this Google sheet](https://docs.google.com/spreadsheets/d/1k2Aw11r6-S8pIpXQUINQZ0T5qlxS8iSwSo9t9GKDvzc/edit?usp=sharing) to assist in calculating how many workers will be needed based on the values on this page. This will help you to assess the required size of each host (scaling up) and how many hosts you need (scaling out).\n\nFor more info: \nhttps://discuss.newrelic.com/t/relic-solution-scaling-and-rightsizing-for-the-cpm/123999" } }, { "title": "count of heavy worker threads and cpu cores", "layout": { "column": 3, "row": 1, "width": 6, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.table" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticsPrivateMinion SELECT latest(minionWorkers),latest(minionProcessors) FACET minionId,minionLocation SINCE 5 minutes ago" } ] } }, { "title": "number of minions (1 per host)", "layout": { "column": 9, "row": 1, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.bar" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticsPrivateMinion SELECT uniqueCount(minionId) AS 'number of minions' FACET minionLocation SINCE 5 minutes ago" } ] } }, { "title": "non-ping monitors", "layout": { "column": 11, "row": 1, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.bar" }, "rawConfiguration": { "dataFormatters": [], "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT uniqueCount(monitorId) AS 'non-ping monitors' WHERE type != 'SIMPLE' AND location NOT LIKE 'AWS_%' FACET location" } ] } }, { "title": "non-ping jobs per minute", "layout": { "column": 1, "row": 4, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.bar" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT rate(uniqueCount(id), 1 minute) AS 'jobs per minute' WHERE type != 'SIMPLE' AND location NOT LIKE 'AWS_%' FACET location" } ] } }, { "title": "non-ping avg success duration", "layout": { "column": 3, "row": 4, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT average(nr.internalQueueDuration+nr.executionDuration)/1e3 AS 'avg success duration (s)' WHERE type != 'SIMPLE' AND location NOT LIKE 'AWS_%' AND result = 'SUCCESS' FACET location" } ], "yAxisLeft": { "zero": true } } }, { "title": "non-ping avg timeout duration", "layout": { "column": 5, "row": 4, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT average(nr.internalQueueDuration+nr.executionDuration)/1e3 AS 'error duration (s)' WHERE type != 'SIMPLE' AND location NOT LIKE 'AWS_%' AND result = 'FAILED' FACET location,cases(WHERE error NOT LIKE '%timeout%' AS 'other error duration (s), just FYI', WHERE error LIKE '%timeout%' AS 'avg timeout duration (s)')" } ], "yAxisLeft": { "zero": true } } }, { "title": "non-ping job timeout rate", "layout": { "column": 7, "row": 4, "width": 2, "height": 3 }, "linkedEntityGuids": null, "visualization": { "id": "viz.line" }, "rawConfiguration": { "facet": { "showOtherSeries": false }, "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": 1, "query": "FROM SyntheticCheck SELECT percentage(count(*), WHERE error LIKE '%timeout%' OR error LIKE '%timed-out%') WHERE type != 'SIMPLE' AND location NOT LIKE 'AWS_%' FACET location" } ], "yAxisLeft": { "zero": true } } } ] } ]}
가져오기 단계:
- 대시보드 JSON을 복사하여 텍스트 편집기에 붙여넣습니다.
- JSON 코드의 각 항목에 대해
"accountId": 1,
을 New Relic 계정 ID로 바꿉니다. - 텍스트 편집기에서 대시보드 JSON을 복사하고 위에서 설명한 방법 중 하나를 사용하여 가져옵니다.
- 패싯 필터링 을 사용하려는 차트를 편집합니다.
팁
개인 위치가 상위 계정에 있고 Synthetics 모니터가 하위 계정에 있는 경우 SyntheticPrivateLocationStatus
및 SyntheticsPrivateMinion
를 사용하는 NRQL 쿼리의 상위 계정 ID와 SyntheticCheck
및 SyntheticRequest
를 사용하는 쿼리의 하위 계정 ID를 삽입합니다.
내 개인 미니언이 온라인 상태입니까?
이 질문에 답하기 위해 SyntheticsPrivateMinion
이벤트의 속성에 의존할 수 있습니다. 개인 미니언은 30초마다 이 이벤트를 New Relic으로 보냅니다. 미니언이 온라인 상태인지 확인하는 간단한 방법은 고유한 미니언 ID 수와 온라인에 있을 것으로 예상되는 미니언 수를 비교하는 것입니다.
보고하는 미니언 수를 이해하려면 다음 예제 NRQL 쿼리 를 실행하십시오.
SELECT uniqueCount(minionId)
FROM SyntheticsPrivateMinion
WHERE minionLocation = '1-acme_okc_dc-309'
이 쿼리를 사용하여 보고하는 미니언이 예상보다 적을 때 팀에 알리는 경고 조건을 만들 수 있습니다. 이 조건은 2 units
의 정적 임계값으로 구성됩니다. 즉, 미니언이 오프라인 상태인 경우 알림을 받게 됩니다.
미니언 중 하나를 수동으로 중지하여 경고 정책이 예상대로 작동하는지 확인할 수 있습니다. 그런 다음 경고 위반이 발생하면 설정된 알림 채널을 통해 알림을 받게 됩니다. 미니언이 다시 시작되고 다시 온라인 상태가 되면 경고가 복구됩니다.
미니언이 올바르게 작동하는지 확인하는 더 강력한 방법이 있지만 이 쿼리 및 조건은 시스템이 실패하거나 실수로 폐기되거나 미니언 프로세스가 충돌하는 경우를 간단하고 성공적으로 처리합니다. 또한 미니언이 New Relic과 통신할 수 있도록 합니다.
내 개인 위치에 더 많은 미니언이 필요합니까?
이 질문에 답하기 위해 SyntheticsPrivateLocationStatus
이벤트의 checksPending
속성을 사용할 수 있습니다. checksPending
속성은 예약된(또는 "대기 중인") 모니터 검사의 수를 반영하지만 지정된 위치의 미니언이 아직 수락하지 않았습니다. 예약된 검사가 있고 미니언이 없는 위치의 경우 이 그래프는 오른쪽 위로 선형으로 증가합니다.
이 측정항목은 uniqueCount(minionId)
보다 모니터링하기가 더 복잡합니다. 값이 높다고 반드시 위치가 나쁜 상태라는 의미는 아니기 때문입니다. 메트릭이 오른쪽 위로 선형적으로 증가하지 않는 한(및 검사가 일정에 따라 실행되고 있음) 위치는 양호한 상태입니다.
이 사용 사례는 기준 NRQL 경고 조건 에 적합하며, 이를 통해 정적 값이 아닌 메트릭의 편차를 모니터링할 수 있습니다. 예를 들어:
SELECT average(checksPending)
FROM SyntheticsPrivateLocationStatus
WHERE name = '1-acme_tokyo_dc-512'
이 경고 조건을 테스트하려면 해당 위치에서 1분 동안 브라우저 기반 모니터가 실행되도록 예약하십시오. 브라우저 기반 작업은 ping 작업보다 더 많은 리소스를 소비하므로 로드 시뮬레이션에 더 적합합니다. New Relic은 점점 더 많은 보류 중인 수표를 알려드립니다.
부하를 처리할 미니언의 수를 두 배로 늘리면 경고가 복구됩니다. 예를 들어, Synthetics 개인 위치 대시보드 예제를 사용하여 사고 및 복구 과정에서 보류 중인 검사의 증가 및 감소를 확인하십시오. NRQL 조건을 사용하여 New Relic은 해당 위치에 더 많은 미니언 용량이 필요한지 여부를 알려줍니다.
특정 미니언의 상태를 직접 확인할 수 있나요?
미니언에게 직접 연락하여 어떻게 작동하는지 확인할 수도 있습니다. 미니언에 의해 노출된 HTTP 끝점 집합을 사용하여 애플리케이션이 수행하는 작업을 확인할 수 있습니다. 이러한 엔드포인트에 액세스하려면 포트 8080
및 8180
을 호스트의 포트에 바인딩합니다. 예를 들어 Docker의 경우 docker run -p 80:8080 -p 81:8180 ...
사용):
:8080/status/check
: 미니언이 수행하는 내부 상태 확인에 대한 세부 정보입니다. HTTP 200은 "정상"을 의미합니다.:8080/status
: 미니언의 상태에 대한 세부 정보입니다. 그러면 동일한 데이터가SyntheticsPrivateMinion
이벤트로 보고됩니다 .:8180/
: JVM 애플리케이션 관리 엔드포인트; 미니언의 내부 상태에 대한 고급 보기입니다.
이 접근 방식은 checksPending
예 만큼 자동화되거나 유연하지 않습니다. 그러나 전체 네트워크 연결 실패가 있는 경우 이 수동 접근 방식이 상황을 해결하는 데 도움이 될 수 있습니다.