IBM Cloud Docs
Definición de reglas de direccionamiento

Definición de reglas de direccionamiento

Para definir una regla de direccionamiento, debe especificar 1 o más destinos como destinos para las métricas. También puede definir 1 o más filtros de inclusión que definan las condiciones de cómo se direccionan esas métricas a esos destinos.

Para cada ruta que defina en la cuenta, puede configurar hasta 10 reglas. Las reglas especifican qué métricas se direccionan en una región y dónde direccionarlas. Para obtener más información, consulte Cómo funcionan las rutas en su cuenta.

Una regla consta de 1 acción, 1 o más destinos y 0 o más filtros de inclusión.

Destinos

Los destinos definen la lista de ID de destino donde se direccionan las métricas.

  • Puede especificar hasta tres ID de destino por regla.

  • Puede definir los ID de destino para los recursos que están disponibles en la misma región donde está configurando la ruta, en una región diferente y en una cuenta diferente.

Por ejemplo, puede definir una lista de destinos como se indica a continuación:

"targets": [{"id":"11111111-1111-1111-1111-111111111111"},{"id":"22222222-2222-2222-2222-222222222222"}]

Los destinos deben ser instancias de IBM Cloud Monitoring.

Acción

La acción define si IBM Cloud® Metrics Routing incluye o excluye métricas en la ruta. Se admiten dos acciones: send y drop. Si no se especifica, la acción predeterminada es enviar las métricas.

send
Las métricas se envían, basándose en la regla de direccionamiento, en la ruta definida.
drop
Las métricas se excluyen, basándose en la regla de direccionamiento, cuando se envían métricas en la ruta definida.

Filtros de inclusión

Los filtros de inclusión definen las condiciones que se utilizan para determinar qué métricas se direccionan a los destinos especificados en la regla.

Para direccionar todas las métricas, excluya la definición inclusion_filters cuando configure una ruta.

Los filtros de inclusión se componen de operand, operator y value:

operand

Operando es el nombre de la propiedad en el destino que se utiliza para filtrar datos. Los operandos siguientes están soportados: location, service_name, service_instance, resource_type y resource. El valor se extrae del CRN de destino.

operator

Se da soporte a dos operadores: in y is.

in

El valor de la propiedad de operando se compara con una lista de valores.

Puede definir hasta 20 valores.

is

El valor de la propiedad de operando se compara con un único valor.

Cuando se utiliza is, sólo se puede especificar 1 valor.

value

Una serie, o una matriz de series, que se comparará con la propiedad operand para determinar si la métrica se direcciona o no. Cuando se utiliza is operator, value debe incluir una sola serie. Cuando se utiliza in operator, value puede incluir varias series en una matriz.

Los valores válidos dependen de operand.

location
Cualquier ubicación donde esté disponible IBM Cloud Metrics Routing.
service_name
El nombre de servicio CRN de un servicio [IBM Cloud que genera métricas gestionadas a través deIBM Cloud Metrics Routing
service_instance, resource_type y resource
Valores adecuados para un servicio [IBM Cloud que genera métricas gestionadas a través deIBM Cloud Metrics Routing

Tenga en cuenta estas limitaciones al configurar filtros de inclusión.

  • Puede configurar hasta 7 filtros de inclusión para cada regla.

  • Puede configurar hasta 20 valores para inclusion_filter.values.

  • Cada valor configurado para inclusion_filter.values puede tener un máximo de 100 caracteres.

Acceso de IAM

Los usuarios deben tener los roles IAM apropiados para trabajar con reglas de enrutamiento. Para obtener información sobre los roles de IAM, consulte Gestión del acceso de IAM.

Definición de reglas de enrutamiento mediante la interfaz de usuario

Puede configurar reglas de enrutamiento de acción y filtro de inclusión en la interfaz de usuario. para obtener más información, consulte Gestión de rutas.

Definición de reglas de direccionamiento utilizando la CLI

Las reglas para rutas y filtros de inclusión se definen en formato JSON. Las reglas se definen de las siguientes maneras:

  • Utilizando la información de la opción --rules se pasa como JSON directamente en el mandato.
  • Utilizando la información de la opción --files se pasa como un archivo JSON.

Ejemplo que utiliza la opción --rules

El ejemplo siguiente especifica reglas directamente en la opción --rules. En este ejemplo, todas las métricas de us-east se direccionan a 11111111-1111-1111-1111-1111111111111. Todas las métricas de appconnect, cloudant y containers-kupernetes se direccionan a 22222222-2222-2222-2222-222222222222 y 33333333-3333-3333-3333-3333333333333.

[{"action": "send", "targets":[{"id":"11111111-1111-1111-1111-1111111111111"}], "inclusion_filters":[{"operand": "location","operator": "is","values": ["us-east"]}]},{"targets":[{"id":"22222222-2222-2222-2222-222222222222"},{"id":"33333333-3333-3333-3333-3333333333333"}], "inclusion_filters":[{"operand": "service_name","operator": "in","values": ["appconnect","cloudant","containers-kubernetes"]}]}]'

Ejemplo que utiliza la opción --file

El ejemplo siguiente especifica reglas pasando un archivo JSON denominado rules_def.json en la opción --file :

--file rules_def.json

El archivo rules_def.json contiene:

[
  {
    "action":"send",
    "targets": [
      {
        "id":"11111111-1111-1111-1111-111111111111"
      },
      {
        "id":"22222222-2222-2222-2222-222222222222"
      }
    ],
    "inclusion_filters": [
      {
          "operand": "service_name",
          "operator": "in",
          "values": [
            "appconnect",
            "cloudant",
            "containers-kubernetes"
          ]
        },
        {
          "operand": "location",
          "operator": "in",
          "values": [
            "us-south",
            "eu-de"
          ]
        }
    ]
  }
]

En este ejemplo, sólo las métricas de appconnect, cloudant y containers-kubernetes de las regiones us-south y eu-de se direccionan a los destinos 11111111-1111-1111-1111-111111111111 y 22222222-2222-2222-2222-222222222222.

Definir reglas de direccionamiento utilizando la API

Los destinos y los filtros de inclusión se definen en las llamadas de API utilizando rules. Los rules se definen en una estructura JSON.

Por ejemplo, el ejemplo siguiente crea una ruta que se denomina my-route y envía métricas de codeengine y container-registry en la región us-east a los destinos 11111111-1111-1111-1111-111111111111 y 22222222-2222-2222-2222-222222222222.

curl -X POST https://private.<REGION>.metrics-router.cloud.ibm.com/api/v3/routes -H "Authorization: Bearer <IAM_TOKEN>" -H 'content-type: application/json' -d '{
    "name": "my-route",
    "rules": [
      {
        "action":"send",
        "targets": [{"id":"11111111-1111-1111-1111-111111111111"}, {"id":"22222222-2222-2222-2222-222222222222"}],
        "inclusion_filters": [
          {
            "operand": "location",
            "operator": "is",
            "values": ["us-east"]
          },
          {
            "operand": "service_name",
            "operator": "in",
            "values": ["codeengine","container-registry"]
          }
        ]
      }
    ]
  }'

Para obtener más información, consulte la Referencia de API.