4 ms·
I like the focus on simplicity of uMon, and agree with author's criticism of behemoths like Grafana. But looking at the installation instructions[1], I can't h
by imiric 3y ago
I like the focus on simplicity of uMon, and agree with author's criticism of behemoths like Grafana.
But looking at the installation instructions[1], I can't help but think that their reluctance to use Docker feels contrarian for no reason (and the quip about it being "out of fashion" completely misguided). This whole procedure could be automated in a Dockerfile, and actually running uMon would be vastly simplified. Docker itself is not much more than a wrapper around Linux primitives, and if they dislike it specifically for e.g. having to run a server and run containers as root, there are plenty of other lighterweight container alternatives.
There's an argument to be made that the "Simple" Network Management Protocol they're a fan of is far from being simple either[2]. Configuring the security features of v3 is not a simple task, and entire books have been written about SNMP as well. They conveniently ignore this by using v2c and making access public, which might not be acceptable in real-world deployments.
I'm all for choosing "simple" tools and stacks over "complex" ones, for whatever definition of those terms one chooses to use, and I strive to do that in my own projects whenever possible, but simplicity is not an inherent property of old and battle-tested technologies. We should be careful to not be biased for technology we happen to be familiar with, but be pragmatic about picking the right tool for the job that fits our requirements, regardless of its age or familiarity.
[1]: https://tomscii.sig7.se/umon/#Installation%20and%20getting%20started https://tomscii.sig7.se/umon/#Installation%20and%20getting%2...
[2]: I have a pet peeve about tools or protocols with "simple" or "trivial" in their name. They almost always end up being the opposite of that as they mature, and the name becomes an alluring mirage tricking you into its abyss of hidden complexity. I'm looking at you SMTP, TFTP...
- medellin 3y agoWhen i read that they thought docker was outdated I figured i would open the repo to find go code and pre built binaries… when i found c++ i was left thinking the same as you.
- throwbadubadu 3y agoIf it's simple doesn't need docker, and as someone else said you might even want to stuff it into your docker containers.. so a minimal thing doesn't need docker imo. The simple landscape is huge, same as for whether one believes that C++ is outdated or not ;) Guess figure what is easier to get up and run still on many platforms.. simple C/C++, or anything else?
- taberiand 3y agoDocker can be used to provide a plug and play Development environment, even if the result isn't deployed into production as a container. C++ projects I expect would benefit even more than most from such configurations, reducing the barrier for entry of new contributors by eliminating the environment bootstrap headaches
- yellowapple 3y ago> I can't help but think that their reluctance to use Docker feels contrarian for no reason My impression is that it's less about contrarianism and more about 1. the developer opting for installation instructions being consistent across both of the intended targets (Linux and (Open)BSD); and/or 2. μMon being allegedly tiny and simple enough that you're probably best off stuffing it into every one of your containers anyway (i.e. so that said containers can expose their own monitoring interfaces) instead of having a dedicated container for it > There's an argument to be made that the "Simple" Network Management Protocol they're a fan of is far from being simple either[2]. Configuring the security features of v3 is not a simple task, and entire books have been written about SNMP as well. They conveniently ignore this by using v2c and making access public, which might not be acceptable in real-world deployments. Agreed here. If SNMP is supposed to be "simple", I'd hate to see what the Complex Network Management Protocol looks like! (I have a similar peeve about LDAP, on that note; I guess compared to wrappers around it like Active Directory and FreeIPA it's "lightweight", but I dread imagining what a heavyweight directory access protocol would entail)
- jdougan 3y agoBoth of those are based on old OSI protocols, which were terrifying in their complexity. LDAP mostly subsetted DAP and X.500 and added Internet concepts. SMNP leveraged ASN.1 with some ideas from CMIP but using Internet concepts and attention paid to operations when the network is marginal (unlike CMIP) "What do you get when you cross a mobster with an OSI standard? You get someone who makes you an offer you can't understand."
- goodpoint 3y ago> Docker feels contrarian for no reason No, Docker is a mess.
- intelVISA 3y agoDocker may be a terrible mess, sure, but something something VC.
- cpach 3y agoWhat is it more specifically that you think is a mess? Do you mean the OCI Image Format, Docker Inc, Docker Engine, something else…?
- vachina 3y agoI couldn’t get Docker to run with WSL backend on a freshly installed Windows 11 Pro, a very common use case. I’m not sure if they even test their own software.
- proxysna 3y agoWindows and WSL are a mess. Run docker on Linux instead. There is no reason to run docker on windows, except if you are planning to build windows containers.
- JoBrad 3y agoIf you're a Windows user, running Docker in WSL _is_ running it in Linux.
- proxysna 3y agoYes, Linux wrapped into countless unnecessary abstraction layers.
- naasking 3y agoIncorrect. Portable .NET development natively uses Docker. Works pretty seamlessly with Visual Studio actually, though slower than I'd like.
- ilyt 3y ago> There's an argument to be made that the "Simple" Network Management Protocol they're a fan of is far from being simple either[2]. Configuring the security features of v3 is not a simple task, and entire books have been written about SNMP as well. They conveniently ignore this by using v2c and making access public, which might not be acceptable in real-world deployments. Oh you sweet summer child that's fucking easiest part of this utter abomination! Adding anything that's not covered by standard OIDs is a fucking chore. And it is just a string of numbers so you either have to write your own custom OID files and distribute them everywhere OR operate by numbers alone. And there is no fucking key-value or even fucking labels. If you want to have say distribute a list of arbitrary keys with arbitrary values under hierarchy, the OID will look like .1.1.1.1.1: key1 .1.1.1.1.2: key2 .1.1.1.1.3: key3 .1.1.1.2.1: val1 .1.1.1.2.2: val2 .1.1.1.2.3: val3 It was created for devices with tens or hundreds kB of RAM that couldn't handle caring about descriptive protocol but it should be dead 20 years ago
- themoonisachees 3y agoThis is what MIBs are for. Like yeah MIBs are probably too verbose for what they're used for, but once you write yours you only need it on the host you'll make snmp gets from (ie your monitoring host) the snmp client will then use it to translate it to an OID and bobs your uncle. What i do is that i use a custom private OID in the apropriate range, and then sub-OIDs in that range get passed to a shell script that finds and executes the appropriate commands (generally one-liners) for that sub-OID. As soon as i add a sub-OID, i also add it to the MIB, which has support for descriptions upon descriptions on top of type info.