Bird
Raised Fist0
Rest APIprogramming~5 mins

SLA and uptime tracking in Rest API

Choose your learning style10 modes available
Introduction

SLA and uptime tracking helps you check if a service is working well and meeting promises. It shows how often a service is available and reliable.

You want to know if a website is online most of the time.
You need to check if a cloud service meets its promised availability.
You want to alert your team when a service goes down.
You want to report service reliability to customers.
You want to improve your system by tracking downtime.
Syntax
Rest API
GET /uptime

Response:
{
  "service": "ServiceName",
  "uptime_percentage": 99.95,
  "downtime_minutes": 10,
  "period": "last_30_days"
}

This is a simple REST API call to get uptime data.

The response usually includes uptime percentage, downtime, and the time period checked.

Examples
Check uptime for a website in the last 7 days.
Rest API
GET /uptime?service=website&period=last_7_days

Response:
{
  "service": "website",
  "uptime_percentage": 99.9,
  "downtime_minutes": 10,
  "period": "last_7_days"
}
Check if the database service meets its SLA target.
Rest API
GET /sla?service=database

Response:
{
  "service": "database",
  "sla_target": 99.99,
  "actual_uptime": 99.95,
  "status": "Below SLA"
}
Sample Program

This program calls a REST API to get uptime data for a website over the last 30 days. It then prints the service name, uptime percentage, downtime in minutes, and the period checked.

Rest API
import requests

# URL of the uptime API
url = 'https://api.example.com/uptime'

# Parameters to check uptime for a service
params = {'service': 'website', 'period': 'last_30_days'}

# Make the GET request
response = requests.get(url, params=params)

# Parse JSON response
data = response.json()

# Print uptime info
print(f"Service: {data['service']}")
print(f"Uptime: {data['uptime_percentage']}%")
print(f"Downtime: {data['downtime_minutes']} minutes")
print(f"Period: {data['period']}")
OutputSuccess
Important Notes

Uptime is usually shown as a percentage of time the service was available.

Downtime is the total minutes the service was not available during the period.

SLA targets are goals set for uptime, like 99.9% or 99.99%.

Summary

SLA and uptime tracking helps measure service reliability.

Use REST API calls to get uptime and downtime data.

Compare actual uptime to SLA targets to check service health.

Practice

(1/5)
1. What does SLA stand for in the context of uptime tracking?
easy
A. Service Level Agreement
B. System Log Analysis
C. Server Load Average
D. Standard Latency Assessment

Solution

  1. Step 1: Understand SLA meaning

    SLA is a contract that defines expected service performance and uptime.
  2. Step 2: Match SLA to options

    Only "Service Level Agreement" correctly describes this contract.
  3. Final Answer:

    Service Level Agreement -> Option A
  4. Quick Check:

    SLA = Service Level Agreement [OK]
Hint: Remember SLA means agreement on service quality [OK]
Common Mistakes:
  • Confusing SLA with system logs
  • Thinking SLA measures latency
  • Mixing SLA with server load
2. Which HTTP method is typically used to retrieve uptime data from a REST API?
easy
A. POST
B. DELETE
C. PUT
D. GET

Solution

  1. Step 1: Identify REST API methods for data retrieval

    GET method is used to request data without changing server state.
  2. Step 2: Match method to uptime data retrieval

    Since uptime data is fetched, GET is the correct method.
  3. Final Answer:

    GET -> Option D
  4. Quick Check:

    Retrieve data with GET [OK]
Hint: Use GET to fetch data from REST APIs [OK]
Common Mistakes:
  • Using POST to fetch data
  • Confusing DELETE with retrieval
  • Using PUT for reading data
3. Given this JSON response from an uptime API:
{"uptime_percentage": 99.5, "downtime_minutes": 30}

What is the actual uptime in minutes if the total period is 1440 minutes (1 day)?
medium
A. 1440 minutes
B. 1395 minutes
C. 1410 minutes
D. 1430 minutes

Solution

  1. Step 1: Calculate uptime from total and downtime

    Uptime = Total minutes - Downtime minutes = 1440 - 30 = 1410 minutes.
  2. Step 2: Confirm with options

    1410 minutes matches 1410 minutes. The percentage is a separate metric.
  3. Final Answer:

    1410 minutes -> Option C
  4. Quick Check:

    Uptime = 1440 - 30 = 1410 [OK]
Hint: Subtract downtime from total time for uptime [OK]
Common Mistakes:
  • Using downtime as uptime
  • Ignoring total period
  • Confusing percentage with minutes
4. You have this REST API call to get uptime:
import requests
response = requests.get('https://api.example.com/uptime')
data = response.json()
uptime = data['up_time_percentage']

What is the error in this code?
medium
A. Incorrect key name 'up_time_percentage' instead of 'uptime_percentage'
B. Missing import for requests module
C. Using GET instead of POST method
D. No error, code is correct

Solution

  1. Step 1: Check JSON key names

    The API returns key 'uptime_percentage', but code uses 'up_time_percentage'.
  2. Step 2: Identify key mismatch error

    This causes a KeyError because the key name is incorrect.
  3. Final Answer:

    Incorrect key name 'up_time_percentage' instead of 'uptime_percentage' -> Option A
  4. Quick Check:

    Key name must match JSON exactly [OK]
Hint: Match JSON keys exactly to avoid errors [OK]
Common Mistakes:
  • Typos in key names
  • Using wrong HTTP method
  • Forgetting to import requests
5. You want to check if a service meets its SLA of 99.9% uptime over a month (43200 minutes). The API returns:
{"uptime_percentage": 99.85}

Which statement correctly describes the SLA status?
hard
A. Service meets SLA because uptime is above 99.8%.
B. Service fails SLA because uptime is below 99.9%.
C. Service meets SLA because downtime is less than 60 minutes.
D. Service fails SLA because uptime percentage is not provided.

Solution

  1. Step 1: Compare reported uptime to SLA target

    The SLA requires at least 99.9%, but actual uptime is 99.85%, which is less.
  2. Step 2: Determine SLA compliance

    Since 99.85% < 99.9%, the service fails the SLA.
  3. Final Answer:

    Service fails SLA because uptime is below 99.9% -> Option B
  4. Quick Check:

    Actual uptime < SLA target means failure [OK]
Hint: Compare actual uptime directly to SLA percentage [OK]
Common Mistakes:
  • Assuming close enough meets SLA
  • Ignoring SLA threshold
  • Confusing downtime with uptime
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