What you need
- Multimeter for macOS 13 or later, $19.99 once.
- The direct download version of Multimeter from this site (the Script source isn’t in the Mac App Store version).
- Nothing to install:
opensslanddatecome with macOS.
Set it up
- Run it in Terminal with your domain in both places:Command
end=$(echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -enddate | cut -d= -f2); echo $(( ($(date -j -f '%b %e %T %Y %Z' "$end" +%s) - $(date +%s)) / 86400 )) - Add a Script meter and paste it. Refresh every 15 minutes; the number only changes once a day.
- Set the range to 0 to 90 and alerts to Low values: warning at 21, critical at 7.
Multimeter settings
In Customize This Meter… (from the meter’s menu):
| Setting | Value |
|---|---|
| Source | Script |
| Command | the openssl line above |
| Refresh every | 15 minutes |
| Range | 0 to 90 |
| Unit | days |
| Alerts | Low values: warning 21, critical 7, notify on critical |
| Label | SSL |
| Face | Level Bar, Pie or Label & Value |
Tested: Run on October 29, 2026 for multimeterapp.com: 83.
Script meters need the direct download version of Multimeter from this site, which is the one on sale now. How commands run, the PATH they see and the 10 second limit are in the Script meters guide.
Limits
- It checks the certificate on the server your Mac reaches. Behind a CDN, that is the CDN’s certificate, which is usually what you want.
Variations
A non-standard port
Change :443 to the port, for example mail.example.com:993 for IMAP.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| The script didn’t print a number | The command failed or printed an error message instead. | Run the exact command in Terminal. If it works there, check for tools that live outside the meter’s PATH and use their full path (which tool). |
| The script took longer than 10 seconds | A slow network call. Multimeter stops scripts after 10 seconds. | Keep the -m timeout on curl, and refresh less often. |
| Scripts need the version from multimeterapp.com | This copy of Multimeter came from the Mac App Store, which can’t run scripts. | Use the direct download version, or run the command from cron or launchd and point a File meter at its output. |
| A huge negative number | openssl couldn’t connect, so there was no date to read. | Check the domain and port. Run the first half (up to -enddate) on its own to see the date. |
Questions
Does this work in the Mac App Store version?
Script meters need the direct download version from multimeterapp.com, because the App Store sandbox doesn’t let apps run your commands. Web Address, File and Sent Value meters work in every version.
Does it work for internal hostnames?
Yes, anything your Mac can connect to, including self-signed certificates.