My unusual Linux setup of an untagged network and tagged VLANs on the same interface
One of the unusual things about my office workstation's networkingis that its network interface is set up with both a regular untaggednetwork and some VLAN-tagged networks on top. The regular untaggednetwork is the machine's primary IP address and primary interface,on one of our main networks; the additional tagged VLAN networksare various additional internal networks here that I want myworkstation to have direct access to for various reasons. I've beenusing this configuration for a long time now (for more than a
My current trick for keeping reasonably ready virtual machine images
A lot of my use of virtualization is to testand develop our Ubuntu systems and changes to them. If I have asignificant configuration change for one of our Exim machines, forexample, I will usually spin up a test VM, build a version of thatmachine, and test the configuration there before I risk deployingit onto the real machine. Similarly, I prototype a lot of the buildand operating procedures for machines on VMs, because if somethinggoes wrong I can pave and rebuild easily (or simply revert
Exploring casual questions with our new metrics system
On Mastodon a while back, I said :
What's surprised me about having our new metrics system is how handyit is to be able to answer casual questions, like 'does this machine'sCPU get used much', and how often I poke around with that sort oflittle question or small issue I'm curious about.
(I was expecting us to only really care about metrics when trying todiagnose problems or crises.)
Putting together some sort of metrics and performance statisticssystem for our servers
The Go 2 Error Handling proposal will likely lead to more use of error in return types
One of the bits of the Go 2 error handling proposal that some people dislike is that the new check keyword only workson values of type error . I've seen a number of suggestions in the wiki feedback page thatwiden this, making check more generally applicable. I don't havea strong opinion on this, but I do have an observation on the currentapproach.
One of my firm beliefs is that most programmers are strongly drivento do what their languages make easy. If a language makes somethingthe
Python 3's approach to filenames and arguments is pragmatically right
A while back I read John Goerzen's The Python Unicode Mess ,which decries the Python 3 mess of dealing with filenames and commandline arguments on Unix that are not encoded in the program's assumedencoding. As Goerzen notes:
So if you want to actually handle Unix filenames properly in Python, you:
- Must have a processing path that fully avoids Python strings.
- Must use sys.{stdin,stdout}.buffer instead of just sys.stdin/stdout
- Must supply filenames as bytes to various functions.
Link: Everything you should know about certificates and PKI but are too afraid to ask
Mike Malone's Everything you should know about certificates andPKI but are too afraid to ask ( via , also , also )starts off slow (and with one simplification that irritated me) butvery soon gets rolling into things like X.509 and PKCS, and thengets into a thorough and solid discussion of PKI (Public keyinfrastructure) and the considerations of running your own internalone for (mutual) TLS authentication. I was very pleased to see this recommendation:
In any case, if you
Why our Grafana URLs always require HTTP Basic Authentication
As part of our new metrics and monitoring setup, we have a Grafana server for our dashboards that sits behindan Apache reverse proxy. The Apache server also acts as a reverseproxy for several other things, all of which live behind the samewebsite under different URLs.
People here would like to be able to directly access our Grafanadashboards from the outside world without having to bring up a VPN orthe like. We're not comfortable with exposing Grafana or our dashboardsto the unrestricted Internet, so that external access
Some new-to-me features in POSIX (or Single Unix Specification) Bourne shells
As I mentioned when I found Bourne shell arithmetic to be prettypleasant , I haven't reallypaid attention to what things are now standard POSIX Bourne shellfeatures. In fact, it's more than that; I don't think I've reallyappreciated that POSIX and then the Single Unix Specification actuallyadded very much to the venerable Bourne shell. I knew that shellfunctions were standard, and then there was POSIX commandsubstitution , but then I sort of stopped.In light of discovering that shell arithmetic
One situation where you absolutely can't use irate() in Prometheus
This is a story about me shooting myself in the foot repeatedly, untilI finally noticed.
We have Linux NFS client machines, and we would like to know NFSclient performance information about them so we can see things whichfilesystems they use the most. The Linux kernel provides copiousper-mount information on NFS mounts and the Prometheus node exporter can turn all of itinto metrics, but for us the raw node exporter stats are just toooverwhelming in our environment; a typical machine generates over68,00
A spate of somewhat alarming flaky SMART errors on Crucial MX500 SSDs
We've been running Linux's smartd on all of our Linux machines for a long time now, and over that time it'sbeen solidly reliable (with a few issues here and there, like not alwayshandling disk removals and (re)insertions properly). SMART attributes themselves may ormay not be indicative of anything much, but smartd does reliably alerton the ones that it monitors.
Except on our new Linux fileservers . For a significant amountof time now, smartd has periodically been sending us