Steadybit logoResilience Hub
Try SteadybitGitHub icon
Steadybit logoResilience Hub

HTTP Check Periodically

Check

Check

Execute HTTP calls and verify responses periodically.
Install now

HTTP Check Periodically

Execute HTTP calls and verify responses periodically.
Check

Check

Install now

HTTP Check Periodically

Check

Check

Execute HTTP calls and verify responses periodically.
Install now

HTTP Check Periodically

Execute HTTP calls and verify responses periodically.
Check

Check

Install now
Go back to list
The http check within the experiment editor.The http check within the experiment editor.

Introduction

With this extension you are able to check your http endpoints for availability and response time. You can also check the response body for specific strings.

Use Cases

  • Check if your http endpoints are available with a periodic check

Parameters

ParameterDescriptionDefault
DurationIn which timeframe should the specified requests be executed?GET
MethodThe HTTP method to use50%
URLThe URL to check.
BodyThe HTTP Body.
HeadersThe HTTP Headers.
RequestsPerSecondThe number of requests per second. Should be between 1 and 10.
StatusCodeWhich HTTP-Status code should be considered as success? This field supports ranges with '-' and multiple codes delimited by ';' for example '200-399;429'.
SuccessRateHow many percent of the Request must be at least successful (in terms of the given response status codes above) to continue the experiment execution? The result will be evaluated and the end of the given duration.200-299
ResponsesContainsThe Responses needs to contain the given string, otherwise the experiment will fail. The responses will be evaluated and the end of the given duration.
FollowRedirectsShould Redirects be followed?
ConnectTimeoutConnection Timeout for a single Call in seconds. Should be between 1 and 10 seconds.5s
ReadTimeoutRead Timeout for a single Call in seconds. Should be between 1 and 10 seconds.5s
MaxConcurrentMaximum count on parallel running requests. (min 1, max 10)5
Statistics
-Stars
Tags
Http
Homepage
hub.steadybit.com/extension/com.steadybit.extension_http
License
MIT
MaintainerSteadybit
Install now

Useful Templates (4 of 19)

See all
Load balancer covers an AWS EC2 restart

EC2 is part of the AWS Elastic Compute Cloud, which acquires and releases resources depending on the traffic demand. Check whether your application is elastic as well by rebooting an EC2 instance.

Motivation

Depending on your traffic demand, you can use AWS cloud's ability to acquire and release resources automatically. Some services, such as S3 and SQS, do that automatically, while others, such as EC2, integrate with AWS Auto Scaling. Once configured, it boils down to fluctuating EC2 instances starting or shutting down frequently. Even when not using AWS Autoscaling, your EC2 instances may need to be restarted occasionally for maintenance and updating purposes. Thus, it is best practice to validate your application's behavior.

Structure

We ensure that a load-balanced user-facing endpoint fully works while having all EC2 instances available. While restarting an EC2 instance, the HTTP endpoint continues operating but may suffer from degraded performance (e.g., lower success rate or higher response time). The performance should recover to a 100% success rate once all EC2 instances are back.

Solution Sketch

  • AWS Well-Architected Framework
  • Kubernetes liveness, readiness, and startup probes
Scalability
Redundancy
Elasticity
AWS

EC2-instances

Load balancer covers an AWS zone outage

AWS achieves high availability via redundancy across different Availability Zones. Ensure that failover works seamlessly by simulating Zone outages.

Motivation

AWS hosts your deployments and services across multiple locations worldwide. From a reliability standpoint, AWS regions and Availability Zones are most interesting. While the former refers to separate geographic areas spread worldwide, the latter refers to an isolated location within a region. For most use cases, applying deployments across AWS availability zone is sufficient. Given that failures may happen at this level quite frequently, you should verify that your applications are still working in case of an outage.

Structure

We leverage the AWS blackhole attack to simulate an AWS availability zone outage. Before the simulated outage, we ensure that a load-balanced user-facing endpoint works appropriately. During an AWS availability zone's unavailability, the HTTP endpoint must continue operating but may suffer from degraded performance (e.g., lower success rate or higher response time). The performance should recover as soon as the zone is back again.

Solution Sketch

  • Regions and Zones
  • Kubernetes liveness, readiness, and startup probes
Redundancy
AWS
Availability Zone

Zones

Kubernetes deployment survives Redis latency

Verify that your application handles an increased latency in a Redis cache properly, allowing for increased processing time while maintaining throughput.

Motivation

Latency issues in Redis can lead to degraded system performance, longer response times, and potentially lost or delayed data. By testing your system's resilience to Redis latency, you can ensure that it can handle increased processing time and maintain its throughput during increased latency. Additionally, you can identify any potential bottlenecks or inefficiencies in your system and take appropriate measures to optimize its performance and reliability.

Structure

We will verify that a load-balanced user-facing endpoint fully works while having all pods ready. As soon as we simulate Redis latency, we expect the system to maintain its throughput and indicate unavailability appropriately. We can introduce delays in Redis operations to simulate latency. The experiment aims to ensure that your system can handle increased processing time and maintain its throughput during increased latency. The performance should return to normal after the latency has ended.

Redis
Recoverability
Datadog

Containers

Datadog monitors

Kubernetes cluster

Kubernetes deployments

Kubernetes deployment survives Redis downtime

Check that your application gracefully handles a Redis cache downtime and continues to deliver its intended functionality. The cache downtime may be caused by an unavailable Redis instance or a complete cluster.

Motivation

Redis downtime can lead to degraded system performance, lost data, and potentially long system recovery times. By testing your system's resilience to Redis downtime, you can ensure that it can handle the outage gracefully and continue to deliver its intended functionality. Additionally, you can identify any potential weaknesses in your system and take appropriate measures to improve its performance and resilience.

Structure

We will verify that a load-balanced user-facing endpoint fully works while having all pods ready. As soon as we simulate Redis downtime, we expect the system to indicate unavailability appropriately and maintain its throughput. We can block the traffic to the Redis instance to simulate downtime. The experiment aims to ensure that your system can gracefully handle the outage and continue delivering its intended functionality. The performance should return to normal after the Redis instance is available again.

Redis
Recoverability
Datadog

Containers

Datadog monitors

Kubernetes cluster

Kubernetes deployments

Start Using Steadybit Today

Get started with Steadybit, and you’ll get access to all of our features to discover the full power of Steadybit. Available for SaaS and on-prem!

Are you unsure where to begin?

No worries, our reliability experts are here to help: book a demo with them!

Steadybit logoResilience Hub
Try Steadybit
© 2024 Steadybit GmbH. All rights reserved.
Twitter iconLinkedIn iconGitHub icon