You should do lint checks on your Prometheus alert (and recording) rules
I turned Cloudflare's Pint Prometheus linter loose on our alert rules with ourPrometheus server configured so it could check for metrics existence,and wow it found a bunch of problems (once again, on top of basiclabel checks I did before).
Today's learning experience: If you leave off the 0x on a hex numberthat starts with a letter in a Prometheus alert rule, like 'c0a8fdff',Prometheus interprets it as a metric name (and finds nothing
Link: Histograms in Grafana (a howto)
Histogram evolution: visualize how a distribution of values changesover time ( via ) has the articleURL slug of 'grafana histogram howto', and the slug is quite accurate.It's a step by step walkthrough of how to do this for a native Prometheus counter histogram metric,which most of them are. It includes copious screenshots, which isespecially useful since you have to do all of this through Grafana'sGUI and describing GUI actions in text is not necessarily ideal.I've slogged through heatmaps
Understanding what a DKIM (spam) replay attack is
I recently read A breakdown of a DKIM replay attack ( via ),which introduced me to the idea of a DKIM (spam)replay attack . In a DKIM spam replay attack, an attacker arrangesto somehow send one or more messages with spam content through yoursystem, and then saves the full message, complete with your DKIMsignature. Once they have this single copy, they can use other SMTPservers to (re)send it to all sorts of recipients, since in SMTPand in mailers in general,
In practice, there are two types of window managers in modern X
As part of its nominal mantra of "mechanism, not policy", the XWindow System usesa user provided window manager . As far as most Xprograms are concerned, all window managers are supposed to be equal(assuming that they implement some standards for interoperability,such as EWMH and ICCM ).The various Unix desktops (GNOME, KDE, etc) have some extra stuffbetween their own programs and their own desktop window manager,but theoretically all 'foreign' window managers are about the same.
Unfortunately,
My sunk cost fallacy relationship with my home desktop
Over on Twitter I said something about my current home desktop :
Another mysterious lockup on my home desktop, not long after I broughtmy new NVME drives into a software RAID mirror, which could becoincidence.
(My relationship with this machine is rather sunk cost fallacy.)
This machine has a number of symptoms, including locking up when it'scold , some of which may be remediated bynow but others definitely aren't. It's quite unclear where the problemor problems are. At this point
Some things about Prometheus Alertmanager's notification metrics
Alertmanager exposes some metrics that are potentially useful if you want amore complete view of its health than just whether or not its up . However, some of the metricssurrounding its notifications aren't clearly named or documented,which left me with questions about them in yesterday's entry . Today I went looking in the code,and here is the current state of affairs (as of the start of 2022).
Alertmanager has two sets of metrics about total and failednotifications (and one set about
The complexity of seeing if your Prometheus Alertmanager is truly healthy
We have a fairly straightforward external check for our Alertmanagerbeing up (as part of our general setup ), and I thought we were pretty well coveredwith it. Then over on Twitter I got into an educational thread with AugieFackler,who'd had an interesting Alertmanager failure mode :
alertmanager was up, but had a borked smtp config (old hostname thatgot deleted). As a result alertmanager's UI acted like it had noalerts, which is super confusing to me as a failure mode.
Our
I have mixed feelings about the Go time package's time formatting strings
Over on Twitter, Thomas H. Ptacek said something about how Go'stime.Parse specifies the format of times to parse . I retweetedit because I have feelings in the same direction, but really I havesome mixed feelings about Go's approach here. Let's start with thedocumentation, which is best found in the Constants section ofthe time package .
To summarize, you both parse and format times by telling Go how amagic time would look either on input or on output. This magic
Good web scraping is not just about avoiding load
I'll start with a little thing from Twitter:
@thatcks :Whelp, something calling itself the ArchiveTeam's ArchiveBot justgot itself thoroughly banned from my techblog by having a crawlingrate measured in requests a second. Over 27,000 requests today sofar. That's not how you do it, people. (Let's see if it notices the403s.)
@
: I mean, that would be rude in 1999 but in
In practice, Debian (and Ubuntu) have fixed minimum system UIDs and GIDs
Debian, like many Linux distributions (and probably many Unixes)has the idea of 'system' logins and groups as distinct from normal,non-system users and groups. System users and groups are createdby Debian packages for their own use, for either or both of fileaccess permissions (such as making TLS keys accessible by group'Debian-exim' so that your Exim can read them) or for processes anddaemons to run as. The UIDs and GIDs for these logins and groupsmostly aren't
Menu