Los equipos de DevOps deben supervisar continuamente el rendimiento de Jenkins para garantizar que se ejecute de manera eficaz. Con esto, el equipo puede realizar lo siguiente:
Puede supervisar el rendimiento de Jenkins, todos los trabajos, trabajos específicos, las Java VM y el acceso web de Jenkins para mantenerse al tanto de su rendimiento.
Recuento de nodos
node_count records the total number of nodes.
Recuento de verificaciones de estado
health-check_count fetches the number of health checks associated.
Duración de la verificación de estado
health-check_duration shows the rate at which the health checks are running in seconds.
Nodos fuera de línea
nodes_offline denotes the number of offline nodes.
Nodos en conexión
nodes_online denotes the number of online nodes.
Recuento de proyectos
projects_count collects the total number of projects.
Proyectos deshabilitados
projects_disabled collects the total number of projects that have been disabled.
Proyectos habilitados
projects_enabled collects the total number of projects that are enabled.
Tamaño de cola
queue_size denotes the total number of jobs in queue.
Recuento de ejecutores
executor_count shows the number of executors available for Jenkins.
Recuento libre de ejecutores
executors_free_count shows the number of executors available for Jenkins that are not currently in use.
Recuento de ejecutores en uso
executors_inuse_count shows the number of executors that are in use.
Colas pendientes
queues_pending fetches the number of pending jobs in the queue.
Colas atascadas
queues_stuck fetches the number of jobs stuck in a queue.
Colas bloqueadas
queues_blocked fetches the number of jobs that are blocked in the queue
Trabajos en cola
jobs_in_queue shows the number of buildable items in a queue.
Complementos activos
plugins_active shows the number of active plugins.
Error de complementos
plugins_failed shows the number of failed plugins.
Complementos inactivos
plugins_inactive shows the number of inactive plugins.
Complementos con actualización
plugins_withupdate shows the number of plugins with a pending update.
Desarrolla la duración del bloqueo
builds_blocked_duration denotes the time taken by the jobs in blocked state in seconds.
Tiempo de creación de desarrollo
build_creation_time denotes the time taken for the build to complete.
Desarrolla la duración de la ejecución
builds_execution_duration shows the build execution time in seconds.
Desarrolla la duración de la cola
builds_queuing_duration shows the build queuing time in seconds.
Desarrolla la duración de la espera
builds_waiting_duration denotes the time the build waits in a queue in seconds.
Todas las métricas de monitoreo de trabajo de Jenkins
Recuento de trabajos
job_count fetches the number of jobs.
Tasa de trabajos programados
jobs_scheduled_rate denotes the rate at which the jobs are scheduled in events per minute.
Duración de los trabajos bloqueados
jobs_blocked_duration denotes the time taken by the jobs in the build queue in the blocked state in seconds.
Duración acumulable de los trabajos
jobs_execution_time denotes the time taken for job execution in seconds.
Tiempo de ejecución de los trabajos
jobs_execution_time denotes the time taken for job execution in seconds.
Duración de la cola de trabajos
jobs_queuing_duration denotes the time taken by the job in the build queue in seconds.
Duración total de los trabajos
jobs_total_duration denotes the time taken by the job from entering the build queue to completing the build in seconds.
Duración de espera de los trabajos
jobs_waiting_duration denotes the time the jobs spend in their quiet period in seconds.
Trabajos de Jenkins específicos que monitorean las métricas
Recuento de creaciones
build_count fetches the number of builds in the job.
ID de la última cola de creación de trabajo
job_lastbuild_queueid fetches the queue ID of the last build.
Duración de la última creación de trabajo
job_lastbuild_duration denotes the time taken for the last build in milliseconds.
Duración estimada de la última creación de trabajo
job_lastbuild_estimated_duration denotes the estimated time for the last build in milliseconds.
ID de la última creación de trabajo
job_lastbuildid fetches the ID of the last build.
Número de última creación de trabajo
job_lastbuild_number fetches the last build's number in the job.
Error de creación
build_failed fetches the number of builds that failed.
Cree el éxito
build_success fetches the number of successful builds.
Creación anulada
build_aborted fetches the number of aborted builds.
Métricas de monitoreo de Java VM de Jenkins
Recuento bloqueado
blocked_count denotes the number of threads that are currently blocked.
Recuento total
total_count denotes the total thread count.
Recuento de bloqueos
deadlock_count fetches the number of threads that have a currently detected deadlock.
Tasa de descriptor de archivo
file_descriptor_ratio denotes the ratio of used to total file descriptors.
Memoria dinámica confirmada
heap_memory_committed denotes the amount of heap memory, in bytes.
Memoria dinámica iniciada
heap_memory_initiated denotes the amount of heap memory that has been newly initiated, in bytes.
Memoria dinámica máxima
maximum_heap_memory denotes the amount of heap memory that is currently in use, in bytes.
Memoria dinámica utilizada
heap_memory_used denotes the amount of memory outside the heap, in bytes.
Memoria no dinámica confirmada
non-heap_memory_committed denotes the amount of memory outside the heap, in bytes.
Memoria no dinámica iniciada
non-heap_memory_initiated denotes the amount of memory outside the heap that has been newly initiated, in bytes.
Máximo de memoria no dinámica
maximum_non-heap_memory denotes the maximum amount of memory outside the heap that is used, in bytes.
Memoria no dinámica utilizada
non-heap_memory_used denotes the amount of memory outside the heap that is currently in use, in bytes.
Memoria total confirmada/p>
total_memory_committed denotes the total amount of memory, in bytes.
Memoria total iniciada
total_memory_initiated denotes the total amount of memory that has been newly initiated, in bytes.
Memoria máxima total
total_maximum_memory fetches the maximum amount of memory, in bytes.
Memoria total utilizada
total_memory_used fetches the total amount of memory used, in bytes.
Nuevos subprocesos
new_threads denotes the number of threads that have not currently started execution.
Subprocesos en ejecución
running_threads denotes the total number of threads that are currently in execution.
Subprocesos terminados
terminated_threads denotes the total number of threads that have completed execution.
Subprocesos suspendidos
suspended_threads denotes the total number of threads that have suspended execution.
Subprocesos de espera
waiting_threads denotes the total number of threads that are waiting for execution.
Métricas de monitoreo de acceso web de Jenkins
Total de solicitudes activas
total_activerequests fetches he total number of requests that are currently active.
Solicitud incorrecta total
total_badrequest fetches the total number of requests with HTTP/400 status code.
Código de respuesta total creado
total_responsecode_created fetches the total number of requests with HTTP/201 status code.
Código de respuesta total prohibido
total_forbidden_responsecode fetches the total number of requests with HTTP/403 status code.
No hay código de respuesta de contenido
noContent_responsecode fetches the total number of requests with HTTP/204 status code.
No se encontró el código de respuesta
notFound_responsecode fetches the total number of requests with HTTP/404 status code.
Código de respuesta sin modificar
unmodified_responsecode fetches the total number of requests with HTTP/304 status code.
Código de respuesta correcto
success_responsecode fetches the total number of requests with HTTP/200 status code.
Código de respuesta no informativo
non_informational_responsecode fetches the total number of requests with a non-information status code./p>
Código de respuesta de errores del servidor
servererror_responsecode fetches the total number of requests with HTTP/500 status code.
Servicio no disponible
service_unavailable fetches the total number of requests with HTTP/503 status code.
Duración de la solicitud
request_duration fetches the time taken to generate the corresponding code.
Siga las pautas que se indican a continuación:
Siga los pasos que se indican a continuación para instalar el complemento de Jenkins en su servidor Linux:
wget https://raw.githubusercontent.com/site24x7/plugins/master/jenkins_performance/jenkins_performance.py
wget https://raw.githubusercontent.com/site24x7/plugins/master/jenkins_performance/jenkins_performance.cfg
El agente ejecutará automáticamente el complemento en un plazo de cinco minutos y enviará datos de rendimiento al centro de datos de Site24x7.
[jenkins_performance]host = < host_name>port = < port_number>username = < username>password = < password>apikey = < apikey>Verifique la salida de los diferentes complementos de Jenkins con los pasos a continuación:
Ejecute el siguiente comando con los argumentos apropiados para comprobar la salida JSON válida.
python jenkins_performance.py --host=< host_name> --port=< port_number> --username=< username> --password=< password> --apikey=< apikey>
Ejecute el siguiente comando con los argumentos apropiados para comprobar la salida JSON válida.
python jenkins_job.py --host=< host_name> --port=< port_number> --username=< username> --password=< password> --apikey=< apikey>
Ejecute el siguiente comando con los argumentos apropiados para comprobar la salida JSON válida.
python jenkins_specific_job.py --host=< host_name> --port=< port_number> --username=< username> --password=< password> --jobname=< job_name>
Ejecute el siguiente comando con los argumentos apropiados para comprobar la salida JSON válida.
python jenkins_jvm.py --host=< host_name> --port=< port_number> --username=< username> --password=< password> --apikey=< apikey>
Ejecute el siguiente comando con los argumentos apropiados para comprobar la salida JSON válida.
python jenkins_web.py --host=< host_name> --port=< port_number> --username=< username> --password=< password> --apikey=< apikey>
Puede contribuir a nuestros complementos existentes y compartir sugerencias o comentarios en nuestra comunidad.