Skip to content

Commit

Permalink
Merge branch 'main' into grafanaLogoFix
Browse files Browse the repository at this point in the history
  • Loading branch information
serverless-mom authored Dec 11, 2024
2 parents 632bf07 + 8543d54 commit 1e577ea
Show file tree
Hide file tree
Showing 85 changed files with 685 additions and 342 deletions.
35 changes: 17 additions & 18 deletions site/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ disqusShortname = "checkly"
weight = 20
[[menu.topnav]]
name = "Learn"
url = "/learn/playwright/"
url = "/learn/"
weight = 30
[[menu.topnav]]
name = "API Reference"
Expand Down Expand Up @@ -170,48 +170,47 @@ disqusShortname = "checkly"
url = "https://developers.checklyhq.com"
weight = 200

[[menu.learn]]
[[menu.learn_playwright]]
name = "Basics"
pre = "/learn/icons/misc.svg"
weight = 310

[[menu.learn_playwright]]
name = "Interaction"
pre = "/learn/icons/pages.svg"
weight = 320

[[menu.learn_playwright]]
name = "Getting started"
pre = "/learn/icons/playwright-logo.svg"
weight = 300

[[menu.learn]]
[[menu.learn_playwright]]
name = "Basics"
pre = "/learn/icons/misc.svg"
weight = 310

[[menu.learn]]
[[menu.learn_playwright]]
name = "Interaction"
pre = "/learn/icons/pages.svg"
weight = 320

[[menu.learn]]
[[menu.learn_playwright]]
name = "Best practices"
pre = "/learn/icons/best-practices.svg"
weight = 330

[[menu.learn]]
[[menu.learn_playwright]]
name = "E2E examples"
pre = "/learn/icons/e2e.svg"
weight = 340


[[menu.learn]]
[[menu.learn_playwright]]
name = "Debugging"
pre = "/learn/icons/errors.svg"
weight = 350

[[menu.learn]]
name = "OpenTelemetry"
pre = "/learn/icons/opentelemetry-logo.svg"
weight = 360


[[menu.learn]]
name = "Kubernetes"
pre = "/learn/icons/kubernetes-logo.svg"
weight = 380


[markup.goldmark.renderer]
unsafe = true
5 changes: 3 additions & 2 deletions site/content/docs/browser-checks/login-scenarios.md
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@ Note the following:

## More resources

- [Microsoft Live Login](/learn/headless/e2e-microsoft-live-login/)
- [Login with Google](/learn/headless/e2e-google-login/)
- [Playwright Authentication Guide](/learn/playwright/authentication/)
- [Microsoft Live Login](/learn/playwright/microsoft-login-automation/)
- [Login with Google](/learn/playwright/google-login-automation/)
- [How to Bypass TOTP-Based 2FA Login Flows](/blog/how-to-bypass-totp-based-2fa-login-flows-with-playwright/)
2 changes: 1 addition & 1 deletion site/content/docs/browser-checks/multiple-tabs.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,5 +66,5 @@ Playwright's Trace Viewer displays your tabs conveniently in a waterfall timelin
![mutiple tabs - trace viewer](/docs/images/browser-checks/multiple-tabs-trace-viewer.png)

{{< info >}}
You can learn more about multi-tab scripts in our [Learn Headless section](/learn/headless/multitab-flows/).
You can learn more about multi-tab scripts in our [Learn Headless section](/learn/playwright/multitab-flows/).
{{< /info >}}
Original file line number Diff line number Diff line change
Expand Up @@ -316,4 +316,4 @@ test('Go to google.com', async ({ page }) => {

## More resources

- [Scraping guides](/learn/headless/basics-scraping/)
- [Scraping guides](/learn/playwright/web-scraping/)
20 changes: 14 additions & 6 deletions site/content/docs/browser-checks/timeouts.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,23 @@ There are different kinds of timeouts you will encounter while working with Brow
| Playwright action timeout | Playwright | no timeout | Yes |


Checkly runs your Browser check code for a maximum of **240 seconds**. Tests that exceed this time will be capped and time out. Everything in your Browser Check needs to happen within those 240 seconds, no matter what.
Checkly runs your Browser check code for a maximum of **240 seconds**. Tests that exceed this time will be capped and
time out. Everything in your Browser Check needs to happen within those 240 seconds, no matter what.

Playwright does offer multiple [configurable timeouts](https://playwright.dev/docs/test-timeouts). Make sure you configure these in a way that prevents your check from hitting the general 240 seconds timeout.
Playwright does offer multiple [configurable timeouts](https://playwright.dev/docs/test-timeouts). Make sure you configure these in a way that prevents your
check from hitting the general 240 seconds timeout.

> Check out our extensive writeup about Playwright timeouts in our [Learn Playwright documentation](/learn/playwright/waits-and-timeouts/).
## Timeout-related errors

Timeout-related errors are often a sticking point for many beginners. Understanding which timeout is being raised and which command or config option it corresponds to can save you plenty of time when debugging a failing script. Here we try to explain the most common timeout errors.
Timeout-related errors are often a sticking point for many beginners. Understanding which timeout is being raised and
which command or config option it corresponds to can save you plenty of time when debugging a failing script. Here we
try to explain the most common timeout errors.

### Test timeout of 30000ms exceeded.

This refers to Playwright's own 30s default timeout for a single `test` fixture. While it is best to [keep your checks as short as possible](/learn/headless/valuable-tests/), you can increase a test's timeout using `test.setTimeout(milliseconds)`. For example:
This refers to Playwright's own 30s default timeout for a single `test` fixture. While it is best to [keep your checks as short as possible](/learn/playwright/writing-tests/), you can increase a test's timeout using `test.setTimeout(milliseconds)`. For example:

{{< tabs "setTimeout example" >}}
{{< tab "TypeScript" >}}
Expand Down Expand Up @@ -61,12 +67,14 @@ test('add item to wishlist', async ({ page }) => {

### Your check run has reached the maximum run time of 240000 ms.

In this case, your script is hitting Checkly's 240s total Browser check timeout. This can't be configured and is in place to prevent checks from running way longer than acceptable. No assets will be available for review after the check has gone over the maximum run time. If you encounter this, try to make your check shorter by following [best practices](/learn/headless/valuable-tests/). Additionally, to ensure your assets are saved, please set a test timeout lower than the browser check execution timeout.
In this case, your script is hitting Checkly's 240s total Browser check timeout. This can't be configured and is in
place to prevent checks from running way longer than acceptable. No assets will be available for review after the check has gone over the maximum run time. If you encounter this, try to make your check shorter by following [best practices](/learn/playwright/writing-tests/). Additionally, to ensure your assets are saved, please set a test timeout lower than the browser check execution timeout.

### Timeout 20000ms exceeded

Different actions, such as clicks, explicit waits and so on, can have their own timeout. In these cases, Playwright will always state what kind of action caused the timeout just before this message. For example, you might see an error like: `page.waitForLoadState: Timeout 20000ms exceeded`. In that case, looking at the `page.waitForLoadState` commands in your script will help you find the culprit.

{{<info >}}
Remember that you can use Playwright Traces to help you understand exactly where in your script the error was raised. Traces are populated automatically for failed Browser checks in your check results.
Remember that you can use Playwright Traces to help you understand exactly where in your script the error was raised.
Traces are populated automatically for failed Browser checks in your check results.
{{</info >}}
22 changes: 11 additions & 11 deletions site/content/learn/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,13 @@ displayDescription:
Learn more about Playwright & Monitoring with Checkly. Explore how to automate your web with a reliable, programmable monitoring workflow.
metatags:
title: Learn Playwright & Checkly - Browser Automation

layout: learn-home
---

Monitoring and Observability are key concepts when dealing with application quality and performance. Learn the fundamentals of modern monitoring and observability to help yourself and your team build better applications.
## Getting Started

<div class="cards-list">
{{< doc-card
class="three-column-card"
headerTag="h3"
title="Monitoring"
img="/learn/icons/checkly-logo-light-mode-square.svg"
description="Learn how to monitor your application with Checkly."
link="/guides/monitoring-as-code/"
>}}
{{< doc-card
class="three-column-card"
headerTag="h3"
Expand All @@ -35,15 +27,23 @@ Monitoring and Observability are key concepts when dealing with application qual
title="Open Telemetry"
img="/learn/icons/opentelemetry-logo.svg"
description="Learn how to instrument your application with OTel and get deep insights into your full stack."
link="/learn/opentelemetry/getting-started-with-observability/"
link="/learn/opentelemetry/"
>}}
{{< doc-card
class="three-column-card"
headerTag="h3"
title="Kubernetes"
img="/learn/icons/kubernetes-logo.svg"
description="Learn basics, tools and tips for monitoring your Kubernetes clusters."
link="/learn/kubernetes"
>}}
</div>

## Popular Posts

<div class="cards-list">
{{< doc-card class="three-column-card" title="Debugging errors" description="Learn how to debug common errors and bugs in your Playwright scripts." link="/learn/playwright/debugging/" >}}
{{< doc-card class="three-column-card" title="Playwright Authentication" description="Learn how to handle authentication in Playwright and reuse credentials across tests." link="/learn/playwright/authentication/" >}}

{{< doc-card class="three-column-card" title="Request Interception" description="Learn how to control HTTP requests and responses." link="/learn/playwright/intercept-requests/" >}}

Expand Down
51 changes: 51 additions & 0 deletions site/content/learn/kubernetes/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
title: Learn How to Observe and Monitor your Kubernetes
displayTitle: Monitoring Kubernetes
description: Learn OpenTelemetry with Checkly. Add monitoring to every piece of your stack with the open standards and open-source tools.
date: 2024-10-17
author: Nocnica Mellifera
githubUser: serverless-mom
displayDescription:
---

Learn about monitoring Kubernetes.

## Getting Started

<div class="cards-list">
{{< doc-card
class="two-column-card"
headerTag="h3"
title="Getting started."
img="/learn/icons/kubernetes-logo.svg"
description="Learn the basics of monitoring your Kubernetes cluster."
link="/learn/kubernetes/monitoring-challenges/"
>}}
{{< doc-card
class="two-column-card"
headerTag="h3"
title="Learn about logging best practices."
img="/learn/icons/kubernetes-logo.svg"
description="Learn how to instrument your application and get deep insights into your stack."
link="/learn/kubernetes/logging-best-practices/"
>}}
</div>
## Diving Deeper

<div class="cards-list">
{{< doc-card
class="two-column-card"
headerTag="h3"
title="Metrics"
description="Learn about Kubernetes key metrics and how to use them for monitoring."
link="/learn/kubernetes/monitoring-metrics/"
>}}
{{< doc-card
class="two-column-card"
headerTag="h3"
title="Events"
description="Learn about key events of the Kubernetes lifecycle."
link="/learn/kubernetes/events/"
>}}
</div>
5 changes: 2 additions & 3 deletions site/content/learn/kubernetes/centralized-logging.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ githubUser: serverless-mom
displayDescription:
Learn about using OpenTelemetry for centralized logging in Kubernetes
menu:
learn:
parent: "Kubernetes"
learn_kubernetes
weight: 30
---
Monitoring logs effectively in a Kubernetes environment requires tools that centralize and streamline log management. With OpenTelemetry, Kubernetes administrators can collect, process, and export logs from applications and infrastructure, ensuring consistent data and reducing the need for multiple, disparate logging solutions. Here’s an overview of how OpenTelemetry supports centralized logging in Kubernetes and the practical benefits it offers.
Expand Down Expand Up @@ -64,4 +63,4 @@ By adopting OpenTelemetry for centralized logging, Kubernetes administrators gai

### Conclusion

Centralized logging in Kubernetes is a necessity for maintaining reliable and secure applications. With OpenTelemetry, administrators gain a unified framework for collecting, processing, and exporting logs alongside other telemetry data types. The OpenTelemetry Collector serves as a powerful tool for centralized log management, providing consistency, efficiency, and flexibility to meet the demands of modern, distributed applications.
Centralized logging in Kubernetes is a necessity for maintaining reliable and secure applications. With OpenTelemetry, administrators gain a unified framework for collecting, processing, and exporting logs alongside other telemetry data types. The OpenTelemetry Collector serves as a powerful tool for centralized log management, providing consistency, efficiency, and flexibility to meet the demands of modern, distributed applications.
5 changes: 2 additions & 3 deletions site/content/learn/kubernetes/events.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ githubUser: serverless-mom
displayDescription: How events can help you explore change of state on your cluster

menu:
learn:
parent: "Kubernetes"
learn_kubernetes
weight: 65
---

Expand Down Expand Up @@ -87,4 +86,4 @@ Using an Event exporter requires deploying a tool that collects Events and conve

## Conclusion

Kubernetes Events offer valuable information about the actions and status of objects within a cluster. With Events, operators gain a straightforward way to monitor and troubleshoot Kubernetes activities. When integrated with external monitoring solutions, Events can also play a significant role in proactive alerting and incident management.
Kubernetes Events offer valuable information about the actions and status of objects within a cluster. With Events, operators gain a straightforward way to monitor and troubleshoot Kubernetes activities. When integrated with external monitoring solutions, Events can also play a significant role in proactive alerting and incident management.
5 changes: 2 additions & 3 deletions site/content/learn/kubernetes/klog.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ githubUser: serverless-mom
displayDescription: klog, a permanent fork of glog, is a go logging tool focused on structured logging in a Kubernetes envrionment.

menu:
learn:
parent: "Kubernetes"
learn_kubernetes
weight: 60
---

Expand Down Expand Up @@ -119,4 +118,4 @@ The move toward structured logging reflects a larger industry trend towards impr

### Conclusion

klog integration into Kubernetes components and compatibility with JSON format makes it a necessary tool for monitoring and troubleshooting in distributed environments. By using klog’s structured logging features, Kubernetes administrators and developers can improve observability, streamline log analysis, and ensure that their logs remain accessible and actionable across the entire cluster.
klog integration into Kubernetes components and compatibility with JSON format makes it a necessary tool for monitoring and troubleshooting in distributed environments. By using klog’s structured logging features, Kubernetes administrators and developers can improve observability, streamline log analysis, and ensure that their logs remain accessible and actionable across the entire cluster.
5 changes: 2 additions & 3 deletions site/content/learn/kubernetes/logging-best-practices.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ githubUser: serverless-mom
displayDescription:
Best practices for logging in your Kubernetes-hosted applications and infrastructure.
menu:
learn:
parent: "Kubernetes"
learn_kubernetes
weight: 20
---
Logging in Kubernetes can be a challenge, especially when dealing with data across a distributed, containerized system. To keep your logs efficient and actionable, it's essential to understand logging best practices, from handling diverse formats to managing back pressure effectively. Here are the best practices for Kubernetes logging, focused on tools, performance, and scalability.
Expand Down Expand Up @@ -112,4 +111,4 @@ You can scale Fluent Bit horizontally by running multiple instances in Kubernete

### Conclusion

Logging in Kubernetes involves more than just collecting logs; it requires a thoughtful approach to structuring, filtering, and managing data at scale. With the right tools and practices, you can create a robust logging pipeline that supports your troubleshooting and monitoring needs without overwhelming your infrastructure. Following these best practices can lead to a more effective, scalable, and cost-efficient logging system in Kubernetes.
Logging in Kubernetes involves more than just collecting logs; it requires a thoughtful approach to structuring, filtering, and managing data at scale. With the right tools and practices, you can create a robust logging pipeline that supports your troubleshooting and monitoring needs without overwhelming your infrastructure. Following these best practices can lead to a more effective, scalable, and cost-efficient logging system in Kubernetes.
5 changes: 2 additions & 3 deletions site/content/learn/kubernetes/monitoring-challenges.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ githubUser: serverless-mom
displayDescription:
We explore the unique challenges of monitoring Kubernetes environments and the open-source tools that can improve visibility and control.
menu:
learn:
parent: "Kubernetes"
learn_kubernetes
weight: 1
---
Managing Kubernetes in production is no small feat, especially when it comes to monitoring and observability. As modern applications grow in complexity, traditional methods of monitoring, limited to CPU and memory usage, often fall short. In this article, we explore the unique challenges of monitoring Kubernetes environments and the open-source tools that can improve visibility and control.
Expand Down Expand Up @@ -66,4 +65,4 @@ Here are a few recommended tools for Kubernetes observability:

### Conclusion

Kubernetes has expanded our operational flexibility and reliability. In so doing, the number of microservices has grown, and the result has been larger observability challenges, but the right tools and strategies make it manageable. By embracing open standards like OpenTelemetry and relying on proven open-source tools, organizations can improve observability, gain insight into application performance, and respond effectively to issues.
Kubernetes has expanded our operational flexibility and reliability. In so doing, the number of microservices has grown, and the result has been larger observability challenges, but the right tools and strategies make it manageable. By embracing open standards like OpenTelemetry and relying on proven open-source tools, organizations can improve observability, gain insight into application performance, and respond effectively to issues.
5 changes: 2 additions & 3 deletions site/content/learn/kubernetes/monitoring-metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ githubUser: serverless-mom
displayDescription:
A comprehensive overview of the key metrics to monitor in a Kubernetes environment and the challenges associated with monitoring in such a complex infrastructure.
menu:
learn:
parent: "Kubernetes"
learn_kubernetes
weight: 60
---

Expand Down Expand Up @@ -86,4 +85,4 @@ To effectively monitor Kubernetes metrics, consider the following best practices

Monitoring Kubernetes metrics is essential for maintaining the health and performance of applications running in containerized environments. By focusing on key metrics across different layers, organizations can gain valuable insights into both their applications and the underlying infrastructure. Embracing best practices and leveraging appropriate tools will enable teams to enhance their monitoring capabilities, ultimately leading to better performance and reliability in Kubernetes environments.

As organizations continue to evolve their cloud-native practices, understanding the nuances of Kubernetes monitoring will be crucial for operational success.
As organizations continue to evolve their cloud-native practices, understanding the nuances of Kubernetes monitoring will be crucial for operational success.
3 changes: 1 addition & 2 deletions site/content/learn/kubernetes/node-problem-detector.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ githubUser: serverless-mom
displayDescription: Find unhealthy nodes with the Node Problem Detector

menu:
learn:
parent: "Kubernetes"
learn_kubernetes
weight: 80
---

Expand Down
Loading

0 comments on commit 1e577ea

Please sign in to comment.