avance
Todavía estamos trabajando en esta característica, ¡pero nos encantaría que la probaras!
Esta característica se proporciona actualmente como parte de un programa de vista previa de conformidad con nuestras políticas de prelanzamiento.
Puede usar nuestra API de NerdGraph para crear y administrar flujos de Pathpoint de manera programática, en lugar de crearlos en la UI.
Un flujo representa un recorrido comercial, como el pago, la autenticación o la incorporación. Es la unidad que crea y administra a través de la API. Los flujos son entidades, por lo que cada uno tiene un GUID de entidad que usa para leerlo, actualizarlo o eliminarlo.
Cada flujo sigue una jerarquía de cuatro niveles, con KPI adjuntos al nivel de flujo, al nivel de etapa o a ambos:
Flow├── Flow KPIs└── Stages ├── Stage KPIs └── Levels └── Steps └── Signals (entity GUIDs, alert condition GUIDs, or a dynamic query)Para una introducción al propio Pathpoint, consulte Primeros pasos con Pathpoint.
Antes de que empieces
Necesitas:
- Pathpoint habilitado en la cuenta.
- Un de New Relic para autenticar las requests.
- Su ID de cuenta.
Operaciones de flujo
Para ejecutar estos ejemplos de forma interactiva, abra el explorador NerdGraph GraphiQL y busque el esquema para pathPoint. Antes de ejecutar un ejemplo, reemplace los marcadores de posición con sus propios valores: YOUR_ACCOUNT_ID, TARGET_ACCOUNT_ID, FLOW_GUID, SOURCE_FLOW_GUID, ENTITY_GUID, ANOTHER_ENTITY_GUID, ENTITY_NAME, ALERT_CONDITION_GUID y los ID de etapa, nivel y paso.
Crear un flujo
Cree un flujo pasando sus etapas, niveles, pasos y señales anidados en una sola mutación.
pathPointCreate requiere la cuenta scope. Dentro de la carga, solo se requiere name. Todo lo demás, incluido stages, es opcional. Un paso obtiene sus señales de una de tres maneras, y puede combinarlas:
- A dynamic query (
entitySearchQuery): las entidades que coincidan con la consulta, reevaluadas en cada actualización. - A pinned entity (
type: ENTITY): una entidad específica, identificada por su GUID. - A pinned alert condition (
type: ALERT): una condición de alerta, identificada por su GUID.
El campo type es opcional. El GUID es suficiente para identificar la señal.
Las etapas también toman un bloque related opcional que controla cómo la UI dibuja las flechas conectoras entre ellas, independientemente de la acumulación de estado. Establezca source: true si una etapa debe mostrar una flecha entrante de la etapa anterior, y target: true si debe mostrar una flecha saliente a la etapa posterior. En un flujo donde cada etapa se conecta a la siguiente en secuencia, la primera etapa es source: false, target: true, la última es source: true, target: false y cada etapa intermedia es true para ambas.
Importante
El accountId de un KPI se establece de forma predeterminada en la cuenta del flujo. Si lo establece en una cuenta diferente, el KPI no se crea y no se devuelve ningún error. Revise el campo excludedKpis en la respuesta para ver qué KPI omitió la mutación.
Leer un flujo
Lea un flujo por el GUID de su entidad para obtener su configuración completa más el estado de salud actual del flujo, cada etapa, cada nivel y cada paso. healthStatus aparece solo en las lecturas.
Las etapas, los niveles y los pasos devuelven 50 elementos por página. Cuando un nextCursor se devuelve como no nulo, páselo para obtener la siguiente página.
{ actor { account(id: YOUR_ACCOUNT_ID) { pathPoint { flow(guid: "FLOW_GUID") { guid name description category refreshInterval healthRollup healthStatus version message kpis { id name category accountId query { from where select { aggregationType attribute alias threshold } timeWindow { customRange relativeRange { since compareAgainst } } } metricQuery } stages { totalCount nextCursor items { id name link healthRollup healthStatus isExcluded related { source target } levels { totalCount nextCursor items { id healthStatus steps { totalCount nextCursor items { id name healthStatus isExcluded scopedAccounts config { healthRollup thresholdType thresholdValue } entitySearchQuery { query isExcluded } signals { guid name type isExcluded } } } } } } } metadata { createdAt createdBy { name email } updatedAt updatedBy { name email } } } } } }}Solicite menos campos si no necesita todo el árbol. Leer solo name y healthStatus, por ejemplo, es suficiente para consultar el estado de un flujo.
Actualizar un flujo
pathPointUpdate es una operación basada en diferencias. Compara la carga que envía con el estado actual del flujo y actúa sobre cada etapa, nivel, paso y KPI según si incluyó su ID:
- ID included: actualiza el objeto existente.
- ID omitted: crea un nuevo objeto.
- Object left out of the payload entirely: lo elimina del flujo.
Advertencia
Como la omisión significa eliminación, siempre lea el flujo primero, modifique la carga que reciba y envíe el estado previsto completo. Enviar una carga parcial elimina todo lo que omitió.
El campo version también es obligatorio. Es el timestamp de la última actualización del flujo en milisegundos de epoch, utilizado para el control de concurrencia optimista. Omitirlo o enviar un valor obsoleto hace que la actualización falle.
Duplicar un flujo
Puede duplicar solo la estructura o todo el flujo:
STRUCTURE: copia solo etapas, niveles y pasos, sin señales ni KPI.WHOLE_FLOW: copia la estructura junto con sus señales y KPI.
Cualquier propiedad que establezca en la entrada anula el valor del flujo de origen. Omita una propiedad para heredarla.
Eliminar un flujo
Eliminar un flujo tiene efecto en cascada: elimina el flujo junto con todas sus etapas, niveles, pasos y KPI. Las señales en sí, las entidades y las condiciones de alerta a las que apuntaba el flujo, permanecen en la cuenta.
Advertencia
Eliminar un flujo es permanente.
mutation { pathPointDelete(guid: "FLOW_GUID") { guid name }}Fallas parciales
Una creación o actualización puede tener éxito en general mientras que los objetos individuales fallan. Dos campos en la respuesta le indican cuándo ocurrió eso:
message: detalles de cualquier etapa, nivel o paso que haya fallado. Esnullcuando todo se realizó correctamente.excludedKpis: los nombres de los KPI que no se crearon, generalmente porque elaccountIddel KPI no coincidía con la cuenta del flujo.
Solicite ambos campos en las mutaciones para no tratar un éxito parcial como uno completo.
Límites
Los siguientes límites se aplican a cada flujo, ya sea que lo cree a través de la API o en la UI:
Límite | Valor |
|---|---|
Máximo de etapas por flujo | 50 |
Niveles máximos por etapa | 50 |
Máximo de pasos por nivel | 50 |
Máximo de elementos devueltos por página | 50 |
Referencia de tipo
Estas enumeraciones aparecen en las operaciones anteriores. Cada fila muestra los valores aceptados, seguidos de lo que controlan:
Enumeración | Valores |
|---|---|
|
,
,
,
,
. Con qué frecuencia se actualiza el estado del flujo, la etapa, el nivel y el paso. |
,
|
,
. Si el estado de salud se consolida desde los objetos secundarios o proviene de la peor condición de alerta en los KPI del flujo o de la etapa. |
|
,
. Si el paso toma su señal menos saludable o la más saludable. |
|
,
. Si
es un recuento absoluto o un porcentaje de señales. |
|
,
,
,
. Salud calculada, devuelta en las lecturas. |
|
,
. Si el GUID apunta a una entidad monitoreada, como un servicio de APM o un host, o a una condición de alerta. |
|
,
,
,
,
,
,
,
. La agregación que aplica una consulta de KPI. Todas las funciones excepto
necesitan un
. |
|
,
,
,
,
,
,
. Duraciones para
y
de un KPI. |
|
,
. Si se deben copiar solo las etapas, los niveles y los pasos, o la estructura junto con sus señales y KPI. |