Tool zur Jenkins-Überwachung

Jenkins ist ein Open-Source-Automatisierungsserver, der dabei hilft, die Teile der Softwareentwicklung zu automatisieren, die mit der Erstellung, dem Testen und der Bereitstellung zusammenhängen und die kontinuierliche Integration und kontinuierliche Bereitstellung (CI/CD) erleichtern. Da es sich um ein Automatisierungstool für CI/CD handelt, verlangsamen Probleme mit Ressourcenkonflikten die Leistung von Jenkins und verzögern Builds sowie Bereitstellungen. Diese Probleme wirken sich auf das Vertrauen der Kunden aus. Um dies zu vermeiden, ist die Überwachung von Jenkins wichtig.

Sie können auch die entsprechenden Jenkins-Protokolle für jedes Plug-in verwalten und die Kennzahlen und Probleme von derselben Konsole aus korrelieren.

Starten Sie die kostenlose 30-Tage-Testversion Jetzt testen, in nur 30 Sekunden anmelden
Apache Monitoring

Jenkins-Leistung überwachen

DevOps-Teams sollten die Leistung von Jenkins kontinuierlich überwachen, um sicherzustellen, dass es effektiv ausgeführt wird. Damit kann das Team Folgendes tun:

  • Analysieren Sie regelmäßig die Trends der erfolgreichen und fehlgeschlagenen Builds in der Warteschlange.
  • Führen Sie Integritätsprüfungen durch, um Latenzspitzen des Jenkins-Servers zu vermeiden.
  • Überwachen Sie die Anzahl der verknüpften Projekte.
  • Überprüfen Sie die Liste der verwendeten Plug-ins.
  • Erhalten Sie sofortige Warnmeldungen, wenn ein Gerät defekt ist.

Leistungsmetriken

Sie können die Leistung von Jenkins, alle Aufträge, bestimmte Aufträge, Java-VMs und den Jenkins-Webzugriff überwachen, um die Leistung im Blick zu behalten.

Jenkins-Leistungskennzahlen

  • Anzahl Knoten

    node_count records the total number of nodes.

  • Anzahl der Integritätsprüfungen

    health-check_count fetches the number of health checks associated.

  • Dauer der Integritätsprüfung

    health-check_duration shows the rate at which the health checks are running in seconds.

  • Knoten im Status Offline

    nodes_offline denotes the number of offline nodes.

  • Knoten im Status Online

    nodes_online denotes the number of online nodes.

  • Anzahl der Projekte

    projects_count collects the total number of projects.

  • Deaktivierte Projekte

    projects_disabled collects the total number of projects that have been disabled.

  • Aktivierte Projekte

    projects_enabled collects the total number of projects that are enabled.

  • Warteschlangengröße

    queue_size denotes the total number of jobs in queue.

  • Executor-Anzahl

    executor_count shows the number of executors available for Jenkins.

  • Anzahl freier Executors

    executors_free_count shows the number of executors available for Jenkins that are not currently in use.

  • Anzahl der verwendeten Executors

    executors_inuse_count shows the number of executors that are in use.

  • Ausstehende Warteschlangen

    queues_pending fetches the number of pending jobs in the queue.

  • Festhängende Warteschlangen

    queues_stuck fetches the number of jobs stuck in a queue.

  • Blockierte Warteschlangen

    queues_blocked fetches the number of jobs that are blocked in the queue

  • Jobs in der Warteschlange

    jobs_in_queue shows the number of buildable items in a queue.

  • Aktive Plug-ins

    plugins_active shows the number of active plugins.

  • Fehlgeschlagene Plug-ins

    plugins_failed shows the number of failed plugins.

  • Inaktive Plug-ins

    plugins_inactive shows the number of inactive plugins.

  • Plug-ins mit Update

    plugins_withupdate shows the number of plugins with a pending update.

  • Dauer der Build-Blockierung

    builds_blocked_duration denotes the time taken by the jobs in blocked state in seconds.

  • Erstellungszeit des Builds

    build_creation_time denotes the time taken for the build to complete.

  • Ausführungsdauer der Builds

    builds_execution_duration shows the build execution time in seconds.

  • Verweildauer der Builds in der Warteschlange

    builds_queuing_duration shows the build queuing time in seconds.

  • Wartezeit für Builds

    builds_waiting_duration denotes the time the build waits in a queue in seconds.

Alle Kennzahlen für die Überwachung von Jenkins-Jobs

  • Jobanzahl

    job_count fetches the number of jobs.

  • Zahl geplanter Jobs

    jobs_scheduled_rate denotes the rate at which the jobs are scheduled in events per minute.

  • Dauer blockierter Jobs

    jobs_blocked_duration denotes the time taken by the jobs in the build queue in the blocked state in seconds.

  • Dauer für Build-Erstellung

    jobs_execution_time denotes the time taken for job execution in seconds.

  • Ausführungszeit von Jobs

    jobs_execution_time denotes the time taken for job execution in seconds.

  • Verweildauer der Jobs in der Warteschlange

    jobs_queuing_duration denotes the time taken by the job in the build queue in seconds.

  • Gesamtdauer der Jobs

    jobs_total_duration denotes the time taken by the job from entering the build queue to completing the build in seconds.

  • Wartezeit von Jobs

    jobs_waiting_duration denotes the time the jobs spend in their quiet period in seconds.

Spezifische Kennzahlen für die Überwachung von Jenkins-Jobs

  • Anzahl der Builds

    build_count fetches the number of builds in the job.

  • Warteschlange-ID des letzten Builds im Job

    job_lastbuild_queueid fetches the queue ID of the last build.

  • Dauer des letzten Builds im Job

    job_lastbuild_duration denotes the time taken for the last build in milliseconds.

  • Geschätzte Dauer des letzten Builds im Job

    job_lastbuild_estimated_duration denotes the estimated time for the last build in milliseconds.

  • ID des letzten Builds im Job

    job_lastbuildid fetches the ID of the last build.

  • Nummer des letzten Builds des Jobs

    job_lastbuild_number fetches the last build's number in the job.

  • Fehlgeschlagener Build

    build_failed fetches the number of builds that failed.

  • Erfolgreich erstellte Builds

    build_success fetches the number of successful builds.

  • Build abgebrochen

    build_aborted fetches the number of aborted builds.

Jenkins Java VM-Überwachungskennzahlen

  • Anzahl blockiert

    blocked_count denotes the number of threads that are currently blocked.

  • Gesamtanzahl

    total_count denotes the total thread count.

  • Deadlock-Anzahl

    deadlock_count fetches the number of threads that have a currently detected deadlock.

  • Dateideskriptor-Verhältnis

    file_descriptor_ratio denotes the ratio of used to total file descriptors.

  • Reservierter Heap-Speicher

    heap_memory_committed denotes the amount of heap memory, in bytes.

  • Initiierter Heap-Speicher

    heap_memory_initiated denotes the amount of heap memory that has been newly initiated, in bytes.

  • Maximaler Heap-Speicher

    maximum_heap_memory denotes the amount of heap memory that is currently in use, in bytes.

  • Belegter Heap-Speicher

    heap_memory_used denotes the amount of memory outside the heap, in bytes.

  • Reservierter Non-Heap-Speicher

    non-heap_memory_committed denotes the amount of memory outside the heap, in bytes.

  • Initiierter Non-Heap-Speicher

    non-heap_memory_initiated denotes the amount of memory outside the heap that has been newly initiated, in bytes.

  • Maximaler Non-Heap-Speicher

    maximum_non-heap_memory denotes the maximum amount of memory outside the heap that is used, in bytes.

  • Belegter Non-Heap-Speicher

    non-heap_memory_used denotes the amount of memory outside the heap that is currently in use, in bytes.

  • Gesamter reservierter Speicher/p>

    total_memory_committed denotes the total amount of memory, in bytes.

  • Insgesamt initiierter Speicher

    total_memory_initiated denotes the total amount of memory that has been newly initiated, in bytes.

  • Maximaler Gesamtspeicher

    total_maximum_memory fetches the maximum amount of memory, in bytes.

  • Insgesamt belegter Speicher

    total_memory_used fetches the total amount of memory used, in bytes.

  • Neue Threads

    new_threads denotes the number of threads that have not currently started execution.

  • Ausgeführte Threads

    running_threads denotes the total number of threads that are currently in execution.

  • Beendete Threads

    terminated_threads denotes the total number of threads that have completed execution.

  • Ausgesetzte Threads

    suspended_threads denotes the total number of threads that have suspended execution.

  • Wartende Threads

    waiting_threads denotes the total number of threads that are waiting for execution.

Kennzahlen für die Überwachung des Jenkins-Webzugriffs

  • Aktive Anfragen insgesamt

    total_activerequests fetches he total number of requests that are currently active.

  • Ungültige Anfragen insgesamt

    total_badrequest fetches the total number of requests with HTTP/400 status code.

  • Insgesamt erstellter Antwortcode

    total_responsecode_created fetches the total number of requests with HTTP/201 status code.

  • Insgesamt nicht zulässiger Antwortcode

    total_forbidden_responsecode fetches the total number of requests with HTTP/403 status code.

  • Kein Antwortcode für Inhalte

    noContent_responsecode fetches the total number of requests with HTTP/204 status code.

  • Antwortcode für "Nicht gefunden"

    notFound_responsecode fetches the total number of requests with HTTP/404 status code.

  • Unveränderter Antwortcode

    unmodified_responsecode fetches the total number of requests with HTTP/304 status code.

  • Antwortcode für Erfolg

    success_responsecode fetches the total number of requests with HTTP/200 status code.

  • Nicht informativer Antwortcode

    non_informational_responsecode fetches the total number of requests with a non-information status code./p>

  • Antwortcode für Serverfehler

    servererror_responsecode fetches the total number of requests with HTTP/500 status code.

  • Dienst nicht verfügbar

    service_unavailable fetches the total number of requests with HTTP/503 status code.

  • Anfragedauer

    request_duration fetches the time taken to generate the corresponding code.

Einrichtung

Befolgen Sie die nachstehenden Leitlinien:

Voraussetzungen

Plug-in-Installation

Führen Sie die folgenden Schritte aus, um das Jenkins-Plug-in auf Ihrem Linux-Server zu installieren:

Create a directory jenkins_performance under Site24x7 Linux Server Monitoring agent plugin directory :
  • /opt/site24x7/monagent/plugins/jenkins_performance
  • Download all the files in jenkins_performance folder and place it under the jenkins_performance directory
  • 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

Der Agent führt das Plug-in automatisch innerhalb von fünf Minuten aus und sendet Leistungsdaten an das Site24x7-Rechenzentrum.

Konfigurationen

  • [jenkins_performance]
  • host = < Hostname>
  • port = < Portnummer>
  • username = < Benutzername>
  • password = < Passwort>
  • Apikey = < API-Schlüssel>

Plug-in-Ausgabe überprüfen

Überprüfen Sie die Ausgabe für verschiedene Jenkins-Plug-ins, indem Sie die folgenden Schritte ausführen:

Jenkin_performance

Führen Sie den folgenden Befehl mit den entsprechenden Argumenten aus, um zu prüfen, ob die JSON-Ausgabe gültig ist.

python jenkins_performance.py --host=< Hostname> --port=< Portnummer> --username=< Benutzername> --password=< Passwort> --apikey=< API-Schlüssel>

Jenkin_job

Führen Sie den folgenden Befehl mit den entsprechenden Argumenten aus, um zu prüfen, ob die JSON-Ausgabe gültig ist.

python jenkins_job.py --host=< Hostname> --port=< Portnummer> --username=< Benutzername> --password=< Passwort> --apikey=< API-Schlüssel>

Jenkin_specific_job

Führen Sie den folgenden Befehl mit den entsprechenden Argumenten aus, um zu prüfen, ob die JSON-Ausgabe gültig ist.

python jenkins_specific_job.py --host=< Hostname> --port=< Portnummer> --username=< Benutzername> --password=< Passwort> --apikey=< API-Schlüssel>

Jenkin_jvm

Führen Sie den folgenden Befehl mit den entsprechenden Argumenten aus, um zu prüfen, ob die JSON-Ausgabe gültig ist.

python jenkins_jvm.py --host=< Hostname> --port=< Portnummer> --username=< Benutzername> --password=< Passwort> --apikey=< API-Schlüssel>

Jenkin_web

Führen Sie den folgenden Befehl mit den entsprechenden Argumenten aus, um zu prüfen, ob die JSON-Ausgabe gültig ist.

python jenkins_web.py --host=< Hostname> --port=< Portnummer> --username=< Benutzername> --password=< Passwort> --apikey=< API-Schlüssel>

Plug-in-Beitrag

Sie können einen Beitrag zu unseren bestehenden Plug-ins leisten und Vorschläge oder Feedback in unserer Community einreichen.

  • Supported Platforms:
  • Python Version: 2,7 und mehr
  • Linux Agent Version:15.0.0 und höher