惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
IT之家
IT之家
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Security Archives - TechRepublic
Security Archives - TechRepublic
P
Proofpoint News Feed
C
CERT Recently Published Vulnerability Notes
阮一峰的网络日志
阮一峰的网络日志
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
P
Palo Alto Networks Blog
Know Your Adversary
Know Your Adversary
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Cisco Talos Blog
Cisco Talos Blog
L
Lohrmann on Cybersecurity
AWS News Blog
AWS News Blog
J
Java Code Geeks
博客园_首页
Scott Helme
Scott Helme
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
T
The Exploit Database - CXSecurity.com
Security Latest
Security Latest
V
Visual Studio Blog
Cloudbric
Cloudbric
Jina AI
Jina AI
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 聂微东
人人都是产品经理
人人都是产品经理
A
Arctic Wolf
C
Cybersecurity and Infrastructure Security Agency CISA
S
SegmentFault 最新的问题
The Last Watchdog
The Last Watchdog
SecWiki News
SecWiki News
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
W
WeLiveSecurity
K
Kaspersky official blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Hacker News: Ask HN
Hacker News: Ask HN
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
宝玉的分享
宝玉的分享
Hugging Face - Blog
Hugging Face - Blog
量子位
Google Online Security Blog
Google Online Security Blog
博客园 - Franky
Simon Willison's Weblog
Simon Willison's Weblog
博客园 - 三生石上(FineUI控件)
Recent Commits to openclaw:main
Recent Commits to openclaw:main

Hacker News

Introducing Claude Opus 4.7 Qwen Studio The Future of Everything is Lies, I Guess: Where Do We Go From Here? GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis Moving a large-scale metrics pipeline from StatsD to OpenTelemetry / Prometheus GitHub - Nightmare-Eclipse/RedSun: The Red Sun vulnerability repository GitHub - SethPyle376/hiraeth: Local AWS emulator focused on fast integration testing, with SQS support, SQLite-backed state, and a debug-friendly web UI. GitHub - macOS26/Agent: Any AI, replaces Claude Code, Cursor, OpenClaw. Over 18 LLM providers (Claude, OpenAI, Gemini, Ollama, Zai, HF, Qwen) wired into a native Mac app that writes code, builds Xcode projects, bumps versions, manages git, automates Safari, use AppleScript, JS or Accessibility, extend Agent! w/ MCP Servers, run tasks from your iPhone via Messages. YouTube now lets you turn off Shorts I Made a Terminal Pager Burgers | マクドナルド公式 Commands — HackerNews CLI documentation ChatGPT for Excel PiCore - Raspberry Pi Port of Tiny Core Linux Live Nation illegally monopolized ticketing market, jury finds Google Broke Its Promise to Me. Now ICE Has My Data. Founding Engineer at Adaptional | Y Combinator CRISPR takes important step toward silencing Down syndrome’s extra chromosome GitHub - saffron-health/libretto: The AI toolkit for building reliable browser automations US v. Heppner (S.D.N.Y. 2026) no attorney-client privilege for AI chats [pdf] Unexpected €54k billing spike in 13 hours: Firebase browser key without API restrictions used for Gemini requests Retrofitting JIT Compilers into C Interpreters IPv6 – Google The Accursèd Alphabetical Clock Cybersecurity Looks Like Proof of Work Now Fragments: April 14 Cal.com Goes Closed Source: Why AI Security Is Forcing Our Decision | Cal.com - Scheduling Software for Online Bookings Laravel raised money and now injects ads directly into your agent When moving fast, talking is the first thing to break Too much Discussion of the XOR swap trick – Heather Cafe Introduction to Spherical Harmonics for Graphics Programmers The Grand Line Building a Z-Machine in the worst possible language High-Level Rust: Getting 80% of the Benefits with 20% of the Pain GitHub - duguyue100/midnight-captain: Inspired by Midnight Commander, tailored to my taste. How to build a `git diff` driver · Jamie Tanna | Software Engineer Center for Responsible, Decentralized Intelligence at Berkeley The Local Universe’s Expansion Rate Is Clearer Than Ever, but Still Doesn’t Add Up - A new synthesis of astronomical measurements confirms a persistent mismatch that could point to physics beyond current models The air throughout our homes is infused with microplastics. But there are things you can do to breathe less of them The disturbing white paper Red Hat is trying to erase from the internet – OSnews The Future of Everything is Lies, I Guess: Annoyances ‘Abhorrent’: the inside story of the Polymarket gamblers betting millions on war Productive procrastination — Max van IJsselmuiden maps, territory and LMs 447 Terabytes per Square Centimetre at Zero Retention Energy: Non-Volatile Memory at the Atomic Scale on Fluorographane Show HN: Pardonned.com – A searchable database of US Pardons 20 Years on AWS and Never Not My Job The Seasons are Wrong Artemis II crew splashes down near San Diego after historic moon mission We gave an AI a 3 year retail lease in SF and asked it to make a profit | Andon Labs How a dancer with ALS used brainwaves to perform live On filing the corners off my MacBooks Installing every* Firefox extension OpenClaw’s memory is unreliable, and you don’t know when it will break Steve Blank Nowhere Is Safe Chimpanzees in Uganda locked in vicious 'civil war', say researchers watgo - a WebAssembly Toolkit for Go linux/Documentation/process/coding-assistants.rst at master · torvalds/linux GitHub - callumlocke/json-formatter: Makes JSON easy to read. Founding Product Engineer at Bild AI | Y Combinator A compelling title that is cryptic enough to get you to take action on it GitHub - Keychron/Keychron-Keyboards-Hardware-Design: Industrial design files for Keychron keyboards and mice. 100+ models with CAD assets in STEP, DXF, DWG, and PDF. Source-available, with commercial use allowed for original compatible accessories within the license terms. [ANNOUNCE] WireGuardNT v0.11 and WireGuard for Windows v0.6 Released 1D-Chess Helium Is Hard to Replace Cooperative Vectors Introduction | Evolve Keeping a Postgres queue healthy — PlanetScale Our response to the Axios developer tool compromise Do Americans read print books, e-books or audiobooks more? The Zettelkasten Method in Obsidian: A Practical Setup Guide Artemis II Is Competency Porn and We Are Starving For It WeakC4 Flight Viz — Cockpit View A Mexican surveillance giant you’ve never heard of is now watching the U.S. border Surelock: Deadlock-Free Mutexes for Rust RISC-V 101 – what is it and what does it mean for Canonical? | Ubuntu The Problem That Built an Industry How Much Linear Memory Access Is Enough? | Solidean Investigating Split Locks on x86-64 Simplest hash functions Sybilproof reputation mechanisms (2005) [pdf] What is a property? How Complex is my Code? Static code analysis in Kotlin — tools overview Toffoli gates are all you need PGLite evangelism dcmake: a new CMake debugger UI Clojure on Fennel part one: Persistent Data Structures Fragments: April 2 Python Release Python install manager 26.1 The Life and Death of the Book Review - Liberties Introducing Database Traffic Control — PlanetScale Bitcoin miners are losing $19,000 on every BTC produced as difficulty drops 7.8% God sleeps in the minerals Building slogbox Apple Silicon and Virtual Machines: Beating the 2 VM Limit Who was “Not Even Wrong” first? Pokemon Evolution Vs Darwinian Evolution The APL Programming Language Source Code
Setting Up Server Monitoring for a Rails App on Hatchbox
2026-05-04 · via Hacker News

Owning your server stack shouldn't be a source of anxiety. Unfortunately, it often is, especially if you only pay attention to the problems you can feel in your gut: Is the app running? Is it throwing exceptions? Does it seem fast enough? These are great intuitive measurements, but just as a doctor uses diagnostics to catch high blood pressure before it becomes a crisis, you need deeper visibility to detect memory leaks, CPU spikes, and disk consumption before they bring your project to a halt.

Hatchbox and AppSignal give you that "deeper visibility." They simplify infrastructure management by replacing manual monitoring with automated, real-time feedback. Together, they transform complex data into actionable insights and make server management accessible to any developer. This gives you the diagnostic depth you’d expect from a much larger operation, without the overhead cost.

What AppSignal Captures at the Host Level

Hatchbox is built to coordinate and manage your Ruby on Rails servers, providing high-level observability for your cluster. To offer greater insights, it has teamed up with AppSignal through a seamless integration. This partnership takes you from manual dashboard monitoring to automated instrumentation, historical trend analysis, alerting, and in-depth metrics all within the context of your application.

When you add the AppSignal gem to your app, you get access to both APM (Application Performance Monitoring) measurements and server-level instrumentation. This includes load average, CPU/memory usage, network traffic, and disk I/O. The table below breaks down how these two layers of visibility work together:

 Server-levelApp-level (APM)
ProviderHatchbox/Host, AppSignalAppSignal
FocusInfrastructure & hardwareCode & business logic
Visibility"Is the server up?""Is the /checkout route slow?"
Typical dataLoad avg, memory %, disk I/OThroughput, error rates, traces

Unlike other services, AppSignal doesn't require a separate tool or daemon; everything is built into the AppSignal gem. The Hatchbox integration enables you to connect your stack in just two clicks, after which you can view real-time insights within Hatchbox or jump directly into AppSignal to debug.

Reading the Host Dashboard

To see the host-level measurements captured by AppSignal, you'll need to navigate to the Host metrics page first. You can find that navigation item under Host monitoring. Once there, click the specific host you're interested in. Alternatively, you can click the specific host listed under the Worst 10 hosts by section within the Overview dashboard.

Host metrics via the Dashboard

Host metrics via the Dashboard

The Host metrics dashboard displays several charts. These can be broken down into groups: Memory, CPU and load, Disk usage, and Network traffic. Let's take a closer look at each.

Note: Host metrics are only available for apps deployed to a server.

Memory

Ruby is a memory intensive language, and Rails is not the leanest framework.

Even before it handles its first request, a base Rails application with standard boilerplate can easily consume 100 MB to 150 MB of RAM at boot. This makes memory utilization one of the primary measurements to keep an eye on.

In general, a healthy server runs between 40% and 70% memory utilization (used / total * 100.0). When you’re looking for a "normal" memory picture for Hatchbox managed servers, don’t expect to see a flat line. It’s more of a waveform. You'll see peaks during times of high traffic and valleys during low-usage periods. You'll also notice regular drops in memory as Ruby's garbage collector frees up unused memory.

As you continue developing your app (and as you attract more users), you'll notice "used memory" slowly start to increase. This is referred to as "drift," and you won't be able to see it unless you expand your time-frame to the 30-day view.

This drift shouldn't be confused with a memory leak. It’s caused by organic data growth or adding dependencies. Leaks, on the other hand, tend to look like a gradual increase in memory over a shorter time period. While memory usage may drop with traffic usage, the "floor" will continue to grow every day.

Memory overview with imagined leak

Memory overview with imagined leak

Another thing to note: If you see memory climb steadily and then suddenly "crash" to a low point before climbing again, this may signal a process (like a Sidekiq or Resque worker) crashing and getting restarted by the OS or Hatchbox after hitting a limit.

CPU and Load

It's not uncommon to view CPU and load averages as the same thing, but they are actually not. A great way to look at these differences is with a doctor's office analogy. CPU usage would be the speed at which a doctor is able to see patients. Similarly, load average could be imagined as the number of people sitting in the waiting room.

  • A load of 1.0 on a 1-core machine means the cashier is busy, but there is no line.
  • A load of 2.0 on a 1-core machine means the cashier is busy and there is another person waiting their turn.

Spikes in CPU and load don't always indicate a problem. Often, they show a process kicking off. For example, it's not uncommon for your CPU to max out during the assets:precompile step of a deploy. Likewise, worker restarts may cause a jump in CPU usage and load as it retrieves and starts working on a new batch of jobs.

CPU and Load averages

CPU and Load averages

Disk Usage

When memory, CPU, or load averages spike, your users will experience degraded performance and slower response times. However, if disk usage spikes, they experience a cessation of all activities. Disk usage of 100% on your server means databases can't write recovery logs, temp files can't be created for uploads, and the operating system itself often locks up.

When you're alerted in the middle of the night because of a server crash, these are the three things to look for:

  • Logs (the usual suspects): Even when you're rotating logs, a "noisy" app can generate gigabytes of text faster than the rotation script can clean it up.
  • Temp files (/tmp): Image processing and file generation usually happen in the background. Processes such as Resque and Sidekiq can quickly fill up the /tmp and leave no trace of a problem after the server restarts.
  • Database WAL segments: Both Postgres and MySQL write changes to a WAL file before updating data. There are some instances where a replica loses connection and these segments pile up until the disk is full.

As a rule of thumb, treat 80% disk usage as your warning signal to start investigating. Once you cross 95%, the operating system loses the overhead it needs for routine tasks, potentially leading to a silent yet total failure.

Connecting Host Metrics to App Problems

A measurement by itself is just a number. For it to provide value and help you make good decisions, it needs to be correlated and compared to other data. When taken alone, measurements such as CPU %, memory usage, and disk usage are known as “vanity metrics.”

Vanity metrics might make you feel good, but they don’t change how you act. Actionable metrics change your behavior by helping you pick a course of action.

Lean Analytics

Although you can use the Host metrics page to compare measurements, it's worth your while to set up a custom dashboard and display measurements either within the same chart or next to one another.

Host metrics - split view

Host metrics - split view

Below, you’ll find a metric correlation cheat sheet:

If you see...Check this Host Metric...Likely Culprit
High response times / low CPUDisk I/O waitDatabase bottleneck or slow logs
Unpredictable "jittery" latencySwap usageMemory exhaustion / leaks
High request queueingLoad averageUndersized server (need more cores)
High CPU / low throughputCPU usage (per process)Inefficient code or background job "storms"
High response times and/or DB errorsDisk usageInsufficient space for swapping or Write-Ahead Logs (WAL)
CPU spikesDeployment markerInvestigate if no deployment marker

Alerts Worth Setting Up

A dashboard is only useful while you're looking at it. To stay ahead of issues, you need automated notifications. AppSignal’s Anomaly Detection handles this by alerting you the moment metrics exceed your set thresholds. Setting up these alerts is covered in How to Monitor Your Host Metrics Automatically. For now, these are the triggers you'll want defined for any Hatchbox setup:

  • Disk usage: You should set up a warning for 80% and a critical alert for 95%.
  • Sustained memory usage: Set this for 80% usage sustained for 5-10 minutes. If your app stays above that threshold, it's likely "swapping."
  • Load average anomaly: Define this as a 15-minute average that exceeds your server's core count + 1 (for example, set it for 3.0 on a 2-core server)

Wrapping Up

Monitoring your application's performance without looking at the host is like checking a patient's temperature but ignoring their pulse and breathing. APM tells you what is slow, but host metrics tell you why. Is it the disk at capacity? Is there a memory leak? Is the CPU undersized? Observability is about more than just keeping the lights on. It's about understanding the environment your code lives in.

Hatchbox makes deployment easy, but the responsibility for server health still rests with you. Leveraging AppSignal’s host-level instrumentation lets you keep your finger on the pulse of both your application and the infrastructure hosting it. However, visibility is only the first half of the equation; you cannot spend your entire day watching graphs. By setting up alerts, you move from reactively “firefighting” to proactively managing your stack.

Samuel Mullen

Samuel Mullen

Engineering leader with over 20 years of success delivering SaaS products, scaling complex APIs, integrations, and architectures, and building high-performance, low-churn teams. Skilled at fostering cross-functional alignment, guiding initiatives from concept to deployment, and rallying stakeholders around long-term strategies.

All articles by Samuel Mullen