HCL Commerce Version 9.1.10.0 or later

Supervisión de la operación

La supervisión debe comenzar siempre por los recursos del sistema operativo y su utilización. A nivel de sistema, identifique si hay un recurso saturado, como la CPU (utilización de procesador), E/S (red, disco o memoria), memoria, etc.

Se debe prestar especial atención a los almacenamientos dinámico de NiFi y Elasticsearch, así como a la utilización de memoria nativa. Si el tamaño de la memoria es inadecuado para la carga de trabajo, debe ampliarse. Después de cada ajuste de optimización, se debe supervisar el uso la memoria nativa y el almacenamiento dinámico. Esto es crucial cuando se aumenta la concurrencia de procesadores o cuando aumenta el tamaño de bucket.size/flowfile.

El gráfico de rendimiento de NiFi de Graphana es la forma más conveniente de realizar un seguimiento del desarrollo general del índice. Puede examinar el ritmo de ejecución total, determinar la velocidad de los principales grupos de procesadores y ver cuántos datos se generan y se cargan en Elasticsearch.

Grafana

Puede utilizar Grafana para analizar el rendimiento de la canalización de Ingest. Los dos gráficos más útiles son Elementos en cola y Enlace de espera.

Los grupos de procesos WaitLink se agregan entre los grupos de procesos en los conectores de Ingest de NiFi para garantizar que la etapa anterior se complete antes de que comience la siguiente etapa. Datos actualmente en uso en un proceso en curso no se puede utilizar en etapas posteriores. Además, esto reduce la probabilidad de que varios procesos funcionen al mismo tiempo, lo que puede dar lugar a picos significativos en solicitudes de recursos de CPU, red, memoria o E/S de disco.

El tiempo empleado en WaitLink se puede usar para estimar el tiempo total que se usa en una etapa e identificar las etapas que consumen más tiempo y/o recursos durante la compilación. Dado que WaitLink no está disponible para todos los grupos de procesos, el gráficos de elementos en cola proporciona más información sobre el tiempo de procesamiento de cada grupo de proceso.

Los gráficos de Bulk Service <- XXXX> son útiles para ver dentro de los elementos en cola. Estos grupos de procesos envían los datos procesados (documentos de índice) desde NiFi a Elasticsearch. Bulk Service - Product es el más esencial. Utilice la marca de tiempo en WaitLink para acceder a las etapas correspondientes porque la curva se ejecuta de principio a fin de la canalización de Ingest.

Por ejemplo, los dos gráficos siguientes ilustran que la etapa 1e del producto es la que tiene más artículos en cola. Esta observación indica que el grupo de datos de recuperación y el grupo de datos de procesamiento pueden gestionar la tarea rápidamente y enviar grandes cantidades de datos al grupo de Bulk Service para su transferencia.

La duración con 100 elementos en cola es corta en este ejemplo, por lo que no es un problema. Un posible obstáculo en la canalización sería un grupo de procesos que lleve más tiempo y tenga un número más grande de elementos en cola.

Grafana también se puede utilizar para realizar un seguimiento de otros parámetros.

Contadores NiFi e informes

Al ejecutar una canalización de Ingest, puede verificar el informe de canalización utilizando los contadores de NiFi o Grafana.

Debido al alto consumo de recursos, el acceso de los contadores de NiFi http://nifi.<su dominio>/nifi/counters está inhabilitado de forma predeterminada.

Puede habilitarlo añadiendo las dos líneas siguientes dentro de nifi-app.yaml /commerce-helmchart-master/hcl-commerce-helmchart/stable/hcl-commerce/templates/nifi-app.yaml antes de instalar NiFi:
- name: "DOMAIN_NAME"
value: "{{ .Release.Namespace }}.svc.cluster.local"
- name: "SPIUSER_NAME"
value: {{ $.Values.common.spiUserName | quote }}
- name: "FEATURE_NIFI_COUNTER"
value: "true"
- name: "VAULT_CA"
value: {{ .Values.vaultCA.enabled | quote }}

Examine el informe mientras la prueba está en curso o después de que haya finalizado el proceso de Ingest si lo habilita. Una desventaja es que cada conexión solo puede mostrar un informe. Utilizando el mismo conector, se puede ejecutar otra canalización de Ingest al mismo tiempo (espere un par de minutos a que se complete). Una vez que se inicia la canalización de Ingest, se elimina el informe creado para la ejecución anterior.

El informe de Ingest, Métricas de Ingest, se enviará al índice ejecutado dentro de Elasticsearch una vez que se complete la canalización de Ingest. Grafana se puede configurar para mostrar el informe en el formato que especifique. Se guardan todos los informes para las distintas canalizaciones y conexiones de Ingest. Para ver el informe, seleccione connector y runID.

En Grafana, los datos de las Métricas de Ingest difieren de los Elementos en cola/Enlace en espera. Elasticsearch recibe las métricas de NiFi después de completar el proceso de Ingest. Sin embargo, Elementos en cola/Enlace de espera utiliza Prometheus para recopilar datos en tiempo real.

Es posible que no desee finalizar una canalización de Ingest antes de ejecutarla nuevamente con fines de optimización, o el proceso podría fallar en cualquier punto del proceso de Ingest. En estas circunstancias, los contadores de NiFi pueden facilitar la creación de informes para etapas concretas de una canalización de Ingest.

Kibana

Kibana se puede utilizar para supervisar el consumo de recursos de Elasticsearch. Para obtener más información sobre Kibana, consulte la documentación sobre Kibana.

Kibana está supervisando las actividades de Elasticsearch en este gráfico. La utilización de la CPU, el almacenamiento dinámico de JVM y la tasa de operaciones de E/S son métricas clave para el proceso de creación de índices. La tasa de operación de E/S es la métrica principal, dado de que es difícil enviar más rápidamente el rendimiento global si la si la velocidad de E/S se utiliza completamente. Si la velocidad es inaceptable, el mejor procedimiento a seguir es buscar otras opciones que tengan un rendimiento más alto.