Bird
Raised Fist0
Jenkinsdevops~10 mins

Monitoring Jenkins health - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to check Jenkins service status using systemctl.

Jenkins
systemctl [1] jenkins
Drag options to blanks, or click blank then click option'
Astatus
Bstart
Cstop
Drestart
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'start' instead of 'status' will try to start Jenkins instead of checking it.
Using 'stop' will stop Jenkins, which is not what we want here.
2fill in blank
medium

Complete the Jenkins CLI command to get the current system health report.

Jenkins
java -jar jenkins-cli.jar -s http://localhost:8080 [1]
Drag options to blanks, or click blank then click option'
Awho-am-i
Bbuild
Chealth-report
Drestart
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'build' runs a job, not health check.
Using 'restart' restarts Jenkins, not reports health.
3fill in blank
hard

Fix the error in the curl command to get Jenkins health API JSON output.

Jenkins
curl -s http://localhost:8080/[1]/api/json
Drag options to blanks, or click blank then click option'
Ahealth
Bcomputer
Cqueue
Djob
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'job' returns job info, not health.
Using 'computer' returns node info, not health.
4fill in blank
hard

Fill both blanks to create a Jenkins pipeline step that checks health and fails if unhealthy.

Jenkins
stage('Check Health') {
  steps {
    script {
      def health = sh(script: 'curl -s http://localhost:8080/[1]/api/json', returnStdout: true).trim()
      if (!health.contains('[2]')) {
        error('Jenkins health check failed!')
      }
    }
  }
}
Drag options to blanks, or click blank then click option'
Ahealth
Bhealthy
Cunhealthy
Dcomputer
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'computer' instead of 'health' for the endpoint.
Checking for 'unhealthy' instead of 'healthy' causes wrong logic.
5fill in blank
hard

Fill all three blanks to create a Jenkins Groovy script that prints the health report summary.

Jenkins
import jenkins.model.*

def instance = Jenkins.getInstance()
def healthReport = instance.get[1]().get[2]()
println("Health Summary: " + healthReport.[3])
Drag options to blanks, or click blank then click option'
AInstance
BOverallHealth
Cdescription
DComputer
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'Computer' instead of 'Instance' for the Jenkins object.
Trying to print the whole object instead of its description.

Practice

(1/5)
1. What is the primary purpose of monitoring Jenkins health?
easy
A. To add new plugins to Jenkins
B. To change Jenkins user passwords
C. To create new Jenkins jobs
D. To ensure the Jenkins server runs smoothly without interruptions

Solution

  1. Step 1: Understand Jenkins health monitoring

    Monitoring Jenkins health means checking if Jenkins is working well and not facing issues.
  2. Step 2: Identify the main goal

    The main goal is to keep Jenkins running smoothly without interruptions or failures.
  3. Final Answer:

    To ensure the Jenkins server runs smoothly without interruptions -> Option D
  4. Quick Check:

    Jenkins health monitoring = smooth server operation [OK]
Hint: Monitoring means checking server status regularly [OK]
Common Mistakes:
  • Confusing monitoring with adding features
  • Thinking monitoring changes Jenkins setup
  • Mixing monitoring with user management
2. Which command correctly checks Jenkins health status using curl?
easy
A. curl http://jenkins-server:8080/health
B. curl -X POST http://jenkins-server:8080/health
C. curl http://jenkins-server:8080/job/health
D. curl http://jenkins-server:8080/status

Solution

  1. Step 1: Identify the correct Jenkins health URL

    The standard Jenkins health endpoint is at /health, accessed via GET request.
  2. Step 2: Choose the correct curl syntax

    curl with no extra flags sends a GET request, so curl http://jenkins-server:8080/health is correct.
  3. Final Answer:

    curl http://jenkins-server:8080/health -> Option A
  4. Quick Check:

    curl + /health + GET = curl http://jenkins-server:8080/health [OK]
Hint: Use curl with GET on /health endpoint [OK]
Common Mistakes:
  • Using POST instead of GET
  • Using wrong URL paths like /job/health
  • Assuming /status is the health endpoint
3. What output would you expect from curl http://jenkins-server:8080/health if Jenkins is healthy?
medium
A. {"status":"healthy"}
B. 404 Not Found
C. {"status":"unhealthy"}
D. 500 Internal Server Error

Solution

  1. Step 1: Understand the health endpoint response

    When Jenkins is healthy, the /health endpoint returns JSON with status "healthy".
  2. Step 2: Match expected output

    The correct output is a JSON string: {"status":"healthy"} indicating good health.
  3. Final Answer:

    {"status":"healthy"} -> Option A
  4. Quick Check:

    Healthy Jenkins = {"status":"healthy"} [OK]
Hint: Healthy status returns JSON with "status":"healthy" [OK]
Common Mistakes:
  • Confusing error codes with healthy output
  • Expecting plain text instead of JSON
  • Mixing unhealthy status with healthy
4. You run curl http://jenkins-server:8080/health but get a 404 error. What is the likely cause?
medium
A. The curl command syntax is wrong
B. The Jenkins server is down
C. The /health endpoint is not enabled or does not exist
D. Network firewall blocking port 8080

Solution

  1. Step 1: Analyze 404 error meaning

    A 404 error means the requested URL path does not exist on the server.
  2. Step 2: Identify cause related to /health endpoint

    If Jenkins is running but /health returns 404, the endpoint is likely disabled or missing.
  3. Final Answer:

    The /health endpoint is not enabled or does not exist -> Option C
  4. Quick Check:

    404 = missing endpoint [OK]
Hint: 404 means URL not found, check endpoint availability [OK]
Common Mistakes:
  • Assuming server is down on 404
  • Blaming curl syntax without error
  • Ignoring endpoint configuration
5. You want to set up automated alerts if Jenkins health becomes unhealthy. Which approach is best?
hard
A. Restart Jenkins server every hour to avoid issues
B. Use a monitoring plugin that polls /health and sends alerts on failure
C. Manually check Jenkins health URL daily in a browser
D. Disable Jenkins health checks to reduce load

Solution

  1. Step 1: Understand automated alerting needs

    Automated alerts require continuous monitoring and notification on problems.
  2. Step 2: Choose best method for automation

    A monitoring plugin that polls the /health endpoint and sends alerts fits this need perfectly.
  3. Final Answer:

    Use a monitoring plugin that polls /health and sends alerts on failure -> Option B
  4. Quick Check:

    Automate alerts with monitoring plugin [OK]
Hint: Automate alerts using plugins that check health endpoint [OK]
Common Mistakes:
  • Relying on manual checks only
  • Restarting server unnecessarily
  • Disabling health checks mistakenly
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard