{"id":664,"date":"2026-07-01T05:35:15","date_gmt":"2026-07-01T05:35:15","guid":{"rendered":"https:\/\/text.email\/blog\/?p=664"},"modified":"2026-07-01T05:43:18","modified_gmt":"2026-07-01T05:43:18","slug":"prometheus-alertmanager-sms-alerts","status":"publish","type":"post","link":"https:\/\/text.email\/blog\/prometheus-alertmanager-sms-alerts\/","title":{"rendered":"The Quick Way to Get Prometheus Alertmanager SMS Alerts"},"content":{"rendered":"\n<p>I\u2019m guessing you\u2019ve already found the slow and painful way to turn your Prometheus alerts into SMS messages, and now you\u2019re here because our big banner headline promised the quick way.<\/p>\n\n\n\n<p>It\u2019s true. There really is a quick way.<\/p>\n\n\n\n<p>So since you probably read up on how Prometheus Alertmanager can text you but only through a byzantine Amazon SNS setup\u2026 let\u2019s skip that and <strong>fast forward the process of getting your critical alerts to your phone<\/strong>.<\/p>\n\n\n\n<p>Here\u2019s how.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Prometheus Alertmanager SMS: Table of Contents<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"#setting-up\">How to Set Up Prometheus Alertmanager SMS Alerts Without an SNS Build<\/a><\/li>\n\n\n\n<li><a href=\"#pros-cons\">The Pros and Cons of Other Prometheus Alertmanager Texting Options<\/a><\/li>\n\n\n\n<li><a href=\"#time\">Time to Get Your Prometheus Alerts Delivered as Texts<\/a><\/li>\n\n\n\n<li><a href=\"#deserve-text\">Some Prometheus Alertmanager Alerts That Deserve a Text \u2014 and Some That Don&#8217;t<\/a><\/li>\n\n\n\n<li><a href=\"#ready\">Ready to Get Your Prometheus Alertmanager SMS Alerts Running?<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"setting-up\">How to Set Up Prometheus Alertmanager SMS Alerts Without an SNS Build<\/h2>\n\n\n\n<p>We\u2019re about to set up text alerts without changing Prometheus rules or doing anything time consuming (or second mortgage consuming). <strong>You aren&#8217;t changing Prometheus rules for this, just adding a few lines to your config file<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">#1. Get an email-to-text address<\/h3>\n\n\n\n<p>The big reveal: We\u2019re going to use <a href=\"https:\/\/text.email\/blog\/email-to-text\/\" data-type=\"post\" data-id=\"16\">email-to-text<\/a> to get your alerts delivered fast.<\/p>\n\n\n\n<p>And we\u2019ll use <a href=\"https:\/\/text.email\" data-type=\"link\" data-id=\"https:\/\/text.email\">text.email<\/a>, since it\u2019s completely reliable <em>and<\/em> doesn\u2019t make you jump through regulatory hoops to use it immediately.<\/p>\n\n\n\n<p>(If you\u2019re thinking \u201cdoesn\u2019t AT&amp;T offer email to text with my plan\u201d\u2026 <a href=\"https:\/\/text.email\/blog\/att-email-to-text\/\" data-type=\"post\" data-id=\"22\">not anymore<\/a>. All the cell phone carriers shut those down.)<\/p>\n\n\n\n<p>Head over to text.email and sign up for an account. You\u2019ll get a special email to SMS address that we&#8217;ll use for this process.<\/p>\n\n\n\n<p>(Need to have your text alerts go out to a group? You can use text.email\u2019s <a href=\"https:\/\/text.email\/blog\/distribution-lists\/\" data-type=\"post\" data-id=\"296\">distribution lists<\/a> for that.)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">#2. Make sure Alertmanager can already send email<\/h3>\n\n\n\n<p><strong>If Alertmanager already sends you email notifications jump to the next step<\/strong>.<\/p>\n\n\n\n<p>If email is not configured yet, set up the standard Alertmanager SMTP fields first in <code>alertmanager.yml<\/code>: <code>smtp_smarthost<\/code>, <code>smtp_from<\/code>, and whatever authentication your mail relay requires.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">#3: Add a text.email receiver to alertmanager.yml<\/h3>\n\n\n\n<p>In <code>alertmanager.yml<\/code>, go to <code>receivers<\/code>, add a receiver with <code>email_configs<\/code> and put the text.email address in <code>to<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>receivers:\n  - name: texts-critical\n    email_configs:\n      - to: your-number@your-subdomain.text.email\n        send_resolved: false<\/code><\/pre>\n\n\n\n<p>Keep <code>send_resolved: false<\/code> unless resolved notifications are useful on your phone. <strong>For most situations, the firing alert is the text<\/strong>; the recovery can stay in email or chat.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">#4: Route only your most critical alerts<\/h3>\n\n\n\n<p>I\u2019m assuming you want text alerts because SMS is the most urgent messaging medium \u2014 and still the hardest to miss.<\/p>\n\n\n\n<p>And that\u2019s true\u2026 unless you start getting text alerts every five minutes. You\u2019ll grow text blind <em>real<\/em> quick.<\/p>\n\n\n\n<p>So when you\u2019re routing, <strong>I highly recommend sticking to critical alerts<\/strong>.<\/p>\n\n\n\n<p>If you already use labels like <code>severity=\"critical\"<\/code> or <code>severity=\"page\"<\/code>, use those instead of creating a new alerting scheme for SMS.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>route:\n  receiver: default-email\n  routes:\n    - matchers:\n        - severity=\"critical\"\n      receiver: texts-critical<\/code><\/pre>\n\n\n\n<p>Otherwise, when you set up individual routes, stick to the most important ones.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">#5: Reload Alertmanager<\/h3>\n\n\n\n<p>Reload Alertmanager (the same way you normally reload config).<\/p>\n\n\n\n<p>If the YAML is malformed, Alertmanager will reject the new configuration and keep the old one running. Check the logs before you assume the route is live.<\/p>\n\n\n\n<p>You <strong>may want to fire a quick test alert here<\/strong> to make sure all is working right.<\/p>\n\n\n\n<p>But that\u2019s really the whole process. You\u2019ll now have your critical alerts coming to your phone and the whole process likely took about five minutes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"pros-cons\">The Pros and Cons of Other Prometheus Alertmanager Texting Options<\/h2>\n\n\n\n<p>I just walked you through the quickest path to getting Prometheus alerts as text messages.<\/p>\n\n\n\n<p>It\u2019s not the only path.<\/p>\n\n\n\n<p>Here are the others.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Well, Prometheus <em>does<\/em> recommend Amazon SNS\u2026<\/h3>\n\n\n\n<p>We\u2019ll talk about this first, since it\u2019s the one that Alertmanager presents as <em>the<\/em> option.<\/p>\n\n\n\n<p>Alertmanager has an <code>sns_configs<\/code> receiver, and that config can publish to a <code>phone_number<\/code>. This is all designed for AWS SNS.<\/p>\n\n\n\n<p>And hey, <strong>if your team already runs AWS SNS SMS, this may be the right answer<\/strong>. You also probably really like acronyms, so that\u2019s two good things you\u2019ve got going for this.<\/p>\n\n\n\n<p>But if you <em>don\u2019t<\/em> already have Amazon SNS set up, it\u2019s different.<\/p>\n\n\n\n<p>It\u2019s <strong>just not a quick setup or one you can knock out in a few minutes<\/strong>. It\u2019s also (I\u2019ll be saying this a lot) really overkill for what you\u2019re after.<\/p>\n\n\n\n<p>For a team that only wants a small set of critical alerts on SMS, this is a lot of platform work before the first real texts.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Using a full alerting platform<\/h3>\n\n\n\n<p>If you already use <a href=\"https:\/\/text.email\/blog\/pagerduty-alternatives\/\">PagerDuty<\/a>, OpsGenie, or another full-featured on-call platform, Alertmanager can route its alerts there and it can then send you texts.<\/p>\n\n\n\n<p>But <strong>here\u2019s that whole \u201coverkill\u201d refrain again<\/strong>.<\/p>\n\n\n\n<p>If you need a full alerting platform, use a full alerting platform. If you\u2019re here for quick SMS alerts (even just for the time being), then the email-to-text method is much cheaper and faster.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Using a web hook bridge to an SMS provider<\/h3>\n\n\n\n<p>Alertmanager&#8217;s generic webhook receiver can POST alert payloads to almost anything. You could put a small service between Alertmanager and an <a href=\"https:\/\/text.email\/blog\/twilio-alternatives\/\">SMS API<\/a> like Twilio.<\/p>\n\n\n\n<p>The DIY path has a standard set of pros and cons.<\/p>\n\n\n\n<p><strong>Pros: You own everything<\/strong>, know the ins and outs of everything, and maybe save $4 per month if you count your time as being worth $0.<\/p>\n\n\n\n<p><strong>Cons: You own everything<\/strong>. So it\u2019s another system to learn (get ready for the fabulous world of A2P 10DLC regulation), build, and maintain.<\/p>\n\n\n\n<p>Whether the pros outweigh the cons is your call.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"time\">Time to Get Your Prometheus Alerts Delivered as Texts<\/h2>\n\n\n\n<p>Ready to <strong>get your Prometheus alerts delivered to your phone as SMS in the quickest way possible<\/strong>?<\/p>\n\n\n\n<p>Head over to text.email to get started. And then, head over to Alertmanager to finish just moments later.<\/p>\n\n\n\n<p>If you want to try it out first, you can right now for free (with no credit card required).<\/p>\n\n\n\n<p>Edit your <code>alertmanager.yml<\/code> file with the directions I shared above and put in <code>your-number@text.email<\/code>. That will give you a free trial to see text.email\u2019s smooth email-to-SMS skills in action.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"deserve-text\">Some Prometheus Alertmanager Alerts That Deserve a Text \u2014 and Some That Don&#8217;t<\/h2>\n\n\n\n<p>As I said earlier, it can be tempting to make critical <em>and<\/em> not-so-critical alerts into texts. But that\u2019s ultimately going to backfire as you start ignoring your messages and miss something crucial.<\/p>\n\n\n\n<p>So <strong>here\u2019s a quick guide I whipped up of what\u2019s good to send as a text and what\u2019s worth skipping<\/strong>. Adapt it as you see fit, of course.<\/p>\n\n\n\n<p><strong>Worth sending as a text:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>InstanceDown<\/code> for production targets that need immediate attention<\/li>\n\n\n\n<li>User-visible error-rate alerts<\/li>\n\n\n\n<li>High latency pages tied to customer impact<\/li>\n\n\n\n<li>Capacity alerts close enough to require action before an outage<\/li>\n\n\n\n<li><a href=\"https:\/\/text.email\/blog\/cron-job-failure-alerts\/\">Batch jobs<\/a> that have missed the window where users or downstream systems are affected<\/li>\n\n\n\n<li>Prometheus or Alertmanager metamonitoring alerts that mean the alerting path itself may be broken<\/li>\n<\/ul>\n\n\n\n<p><strong>Better left in email or chat:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Warning-level alerts with no immediate action<\/li>\n\n\n\n<li>Resolved notifications<\/li>\n\n\n\n<li>Development or staging noise<\/li>\n\n\n\n<li>Capacity trend alerts with plenty of runway<\/li>\n\n\n\n<li>Dashboard reminders and informational checks<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"ready\">Ready to Get Your Prometheus Alertmanager SMS Alerts Running?<\/h2>\n\n\n\n<p><strong>There\u2019s no shortage of ways<\/strong> to get your Prometheus Alertmanager alerts to come to your phone and your teams\u2019 phones as SMS messages.<\/p>\n\n\n\n<p>But <strong>there\u2019s really only one way to get those alerts set up within the next few minutes<\/strong>.<\/p>\n\n\n\n<p>Set up your <a href=\"https:\/\/text.email\" data-type=\"link\" data-id=\"https:\/\/text.email\">text.email<\/a> address, add it as a receiver, and point your alerts that way.<\/p>\n\n\n\n<p>And after that, the next critical Prometheus alert (and the next, and the next) will catch your attention as text messages instead of withering in your inbox.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>How to get SMS alerts from Prometheus Alertmanager as soon as possible and with the least cumbersome setup.<\/p>\n","protected":false},"author":2,"featured_media":666,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,5],"tags":[],"class_list":["post-664","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-email-to-sms","category-sysadmins"],"_links":{"self":[{"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/posts\/664","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/comments?post=664"}],"version-history":[{"count":3,"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/posts\/664\/revisions"}],"predecessor-version":[{"id":668,"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/posts\/664\/revisions\/668"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/media\/666"}],"wp:attachment":[{"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/media?parent=664"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/categories?post=664"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/text.email\/blog\/wp-json\/wp\/v2\/tags?post=664"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}