From 8370e21e1d161a91bb91587f2cf099f29c4ba47a Mon Sep 17 00:00:00 2001 From: Mina Lohan Date: Fri, 29 Dec 2023 15:24:45 -0800 Subject: [PATCH 1/2] add blog astro-heathcheck-monitor-blog-for-issues --- .../index.md | 53 ++++++++++++++++++ .../uptime-kuma-config.jpg | Bin 0 -> 45822 bytes 2 files changed, 53 insertions(+) create mode 100644 content/blog/astro-heathcheck-monitor-blog-for-issues/index.md create mode 100644 content/blog/astro-heathcheck-monitor-blog-for-issues/uptime-kuma-config.jpg diff --git a/content/blog/astro-heathcheck-monitor-blog-for-issues/index.md b/content/blog/astro-heathcheck-monitor-blog-for-issues/index.md new file mode 100644 index 00000000..cd4c126a --- /dev/null +++ b/content/blog/astro-heathcheck-monitor-blog-for-issues/index.md @@ -0,0 +1,53 @@ +--- +{ + title: "Astro Healthcheck", + description: "Monitoring Your Blog for Issues", + published: '2023-12-28T13:45:00.284Z', + authors: ['splatkillwill'], + tags: ['astro', 'webdev', 'javascript'], + attached: [], + license: 'cc-by-nc-sa-4' +} +--- + +Recently, I found myself caught in a maze of DevOps challenges that resulted in unexpected outages for my blog. Each time I thought I had fixed the issue and moved on, I'd soon discover that the site was down again. Frustration led me to implement a simple yet effective solution—a "healthcheck" endpoint. + +```js +/* ssr server or hybrid required */ +export const prerender = false; + +/** + * @param {import('astro').APIContext} context + * @returns {Response} + */ +export function GET(context) { + return new Response(JSON.stringify({ healthy: true }), { + status: 200, + headers: { + "Content-Type": "application/json", + }, + }); +} +``` + +For an Astro site, implementing this is surprisingly straightforward. By opting for a Server-Side Rendering (SSR) page and returning a response with a success status along with a JSON object containing the value "healthy: true," you can quickly gauge the health of your site. + +> note: this requires the astro output to be server or hybrid + +Now, you might wonder, "Why bother with SSR in an Astro, which is primarily a Static Site Generator (SSG)? Wouldn't it be simpler to use a static JSON file?" The answer lies in the assurance that opting into SSR provides. It allows our healthcheck endpoint to confirm the responsiveness of the Node.js code. + +Once your healthcheck endpoint is up and running, the next step is monitoring. Utilize an uptime service like Uptime Kuma to keep a vigilant eye on your blog's status. Here’s a glimpse of an Uptime Kuma configuration: + +![Uptime Kuma config watching https://yoursite.com/healthcheck ](./uptime-kuma-config.jpg) + +From this point, you can configure notifications for yourself, be it through email, Discord, or any other preferred channel, ensuring prompt awareness in case your blog experiences downtime. + +To streamline this process, consider adding the Astro integration by executing: + +```bash +npx astro add @besomwebcraft/astro-healthcheck +``` + +With this integration, the healthcheck endpoint becomes seamlessly hosted, enhancing the overall convenience of monitoring your blog's health. + +Ensuring your blog's availability and performance has never been easier. Implementing these steps not only prevents unexpected downtime but also provides you with the peace of mind that your Astro site is running smoothly. diff --git a/content/blog/astro-heathcheck-monitor-blog-for-issues/uptime-kuma-config.jpg b/content/blog/astro-heathcheck-monitor-blog-for-issues/uptime-kuma-config.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c74cd465b9f768a6a96cb2288c5ad3a5e9877bca GIT binary patch literal 45822 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�qLc4n%P5QE^?|oeHrfOxze_D))(wYkRjT~< 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 Date: Fri, 29 Dec 2023 15:47:17 -0800 Subject: [PATCH 2/2] Update published date --- content/blog/astro-heathcheck-monitor-blog-for-issues/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/astro-heathcheck-monitor-blog-for-issues/index.md b/content/blog/astro-heathcheck-monitor-blog-for-issues/index.md index cd4c126a..6f98e746 100644 --- a/content/blog/astro-heathcheck-monitor-blog-for-issues/index.md +++ b/content/blog/astro-heathcheck-monitor-blog-for-issues/index.md @@ -2,7 +2,7 @@ { title: "Astro Healthcheck", description: "Monitoring Your Blog for Issues", - published: '2023-12-28T13:45:00.284Z', + published: '2023-12-29T13:45:00.284Z', authors: ['splatkillwill'], tags: ['astro', 'webdev', 'javascript'], attached: [],