also update on Axiom, works very well so far without bloating the bundle. i love the non-opinionated
also update on Axiom, works very well so far without bloating the bundle. i love the non-opinionated nature of it

src/lib/uptime.ts
export const areMonitorsDown = async () => {
const response = await fetch(
"your_awesome_monitoring_service_url",
{
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.API_KEY}`,
},
next: {
// Cache the response for 3 minutes
revalidate: 3 * 60,
},
}
);
if (response.status !== 200) {
console.error("Failed to fetch monitors", response);
return null;
}
const body = await response.json();
const monitors = body.data;
return monitors.some((monitor: any) => monitor.attributes.status === "down");
};