The first comment I see saying this. What about the percentage of people who actually own their home? Who can afford a "party"? It does mention dual income but how correlated is this change with the decoupling of economic productivity gains with worker wealth and income?
There's far cheaper alternatives to Splunk that are still a step up from traditional syslog.
KubeCon over the last couple of years was showing the market was a glut with Observability vendors which is just time series and log management. (traces are logs with a span id).
> A syslog server is a foundational tool for centralized log management in modern IT environments
I'd very much recommend a more modern log stack than a traditional syslog server.
There are many articles covering the limitations of Syslog. Better to replace that component by utilities like OpenTelemetry and JSON structured logging.
I disagree. I work in a large environment, and rsyslog is where 90% of data goes to first. It can keep up with millions of messages per second, route them to higher order services for indexing (bigquery, splunk, elastic etc etc). Has rules engines, encryption, supports multiple protocols and obviously has TLS too. You can surely augment with otel and such where you can, but syslog is uhhhh, deployed in so many places that it would make an average app developer's head spin when all they're used to is application logging in a controlled structured place in their silo.
On the other hand, traditional syslog is UDP based, so as soon as the receiver experiences CPU or I/O starvation and its receive buffer overflows, it will begin dropping messages. That's not great for observability, and may well be impermissible at many sites that need end-to-end log integrity (e.g. audit logs).
cheaply dropping log msgs you cannot handle is absolutely essential for an observability system - otherwise excess load can take down the logging infra which can (if msgs aren't dropped) take down the prod network/app trying to send reliable log msgs.
That's fine if you plan for it and can clearly delineate which logs can be dropped and which can't. The challenge is that most applications log to a single stream that consists of both high and low-priority logs muxed together and is sent to a single destination, making it impossible to distinguish the two, and there's only one receive buffer.
Excess load can't take down a well-engineered log collection infrastructure. There can be overload, but the backpressure should propagate downstream and senders and intermediaries should buffer locally if needed. Once the collectors are able to catch up again, the spooled messages will be dispatched, and the backlog should recover.
A well-engineered logging system for sites that care about integrity and durability should look a lot like a distributed message queue.
> Audit logs are a distinct feature.
In my experience, this is not always as distinct as one might hope. On multiple occasions in my career, a customer demanded we perform research using our logs to answer, and the information they sought were not in the class of logs that were considered "audit logs" in advance. Everyone chooses differently what qualifies as "audit logs"; it doesn't have an objective definition.
If you are doing massive log streams with mixed priority/durability, use named queues if you have different priority and retry and durability needs. You keep bringing up edge cases, but they've already been considered and solutions already engineered and available in every major syslog implementation.
I didn't say they those choices aren't viable; I'm strictly talking about architectural decisions. You can solve the problem with different solutions, be they rsyslog or otherwise. That said, I probably wouldn't go with rsyslog as my default choice anymore since the world is moving on to OpenTelemetry.
> There can be overload, but the backpressure should propagate downstream and senders and intermediaries should buffer locally if needed.
You're only delaying the inevitable. Even with local buffering, you can arrive at a point where you can buffer no more and have either to choke the production workload or start dropping messages.
I wouldn't call that "inevitable." Buffering exists for a reason--to buy you a bit of safety for short-lived busy periods (or, in the case of queues, delayed or temporarily failed consumers). It also amortizes the cost of I/O. Buffering isn't just for logging; it's all over the networking and I/O stacks.
This was a solved problem a long time ago in rsyslog. One can define a local spool and enable TCP (and optionally encryption) to multiple syslog servers. If something interrupts the flow the syslog messages will queue locally and then de-spool when communications are restored.
Thirty years ago and more that might have been a valid objection, but at that time the alternatives weren't great either. No one has suggested running syslog over unreliable transport after that.
In fact, the queue management and at least the possibility of some rudimentary end-to-end cryptographic integrity checks are some of the stronger points of rsyslog. Splunk Cloud and Elastic, as far as I know, lacks the latter completely which rules them out as a single log sink for environments with that type of requirements.
Which major Linux distro ships rsyslog with TCP as the default remote protocol and durable local-buffer configuration out of the box for remote delivery? Genuinely curious.
What Linux distro ships with remote logging out of the box at all? Hopefully none, because that would be be absurd. To whom would those logs be sent?
That documentation link probably isn't as telling as is suggested, because the next example is for tcp. In the old days before tcp support was widespread (looking at you, Java) it was common to listen for udp on localhost so it was probably a common configuration.
There's not much to debate here. Syslog is used everywhere and the main reasoosn are that it is very reliable, trivial to load balance, and popular implementations have integrity checking that is permissible in regulatory environments. You can criticize it for many things, for example that most parsers are much too liberal or that the facility and severity fields are clearly dated, but not for being unreliable.
"Beginner tutorial", I'm sorry for not taking your point seriously, but I can't take it seriously. TCP for syslog (and RELP) have been around a long time (late 90s for syslog over TCP, 2006 for RELP).
rsyslog and syslog-ng support it all, and operators have had choices given the import of their log data and what they can tolerate.
> "Beginner tutorial", I'm sorry for not taking your point seriously, but I can't take it seriously.
Well, maybe go observe how a broad array of sites implement it in practice, then you might take it more seriously. Maybe you don't implement it that way, but a lot of people will just follow the tutorials or shortcut their way to something that works (but is brittle).
At any rate, I was responding directly to the claim that "No one has suggested running syslog over unreliable transport" which is obviously untrue.
Yes, go observe a broad array of sites - for someone who says theyre a (non)practicing attorney, you know in environments where logs and audit are considered evidence, to such a degree that they must be reliably transported and immunutable, someone doesn't just turn on UDP syslog to a box and let it sit there. Architecture and implementation happen, where it matters. So what if anyone uses otel or syslog, people can configure em both to be lossy or lossless, I struggle to understand the "gotchas" you point to.
Then I don't know what to tell you. *shrug* I feel like you're arguing just for argument's sake, and I'm not really interested in having a conversation with someone who's not demonstrating open-mindedness or a willingness to learn from others' experiences in the field.
You can use TCP and other mechanisms for guaranteed delivery. Like, almost all LIDR logging across the planet uses TCP syslog, which is durable and attestable to in courts.
> TCP syslog...which is durable and attestable to in courts.
TCP alone won't get you there. It's certainly not durable in and of itself. All TCP can do is ensure that streamed data is received in the correct order, and confirm that a segment's data was successfully placed into the right buffer on the receiver side. You also need immutable storage, stronger integrity checks than what TCP itself provides, and many other requirements I haven't researched in a while.
As someone whose built megabyte to petabyte scale system of records, "yah but" to nits is annoying. You've solved it all yourself in your thought exercise though. Saying "the world has moved on", eh, not in any sense of the legal world, no. There's entire ecosystems around syslog alone to satisfy everything, otel is a baby fart feature and reliability and attestable wise
There’s no need to be rude and dismissive. Knock it off. You’re coming across as unnecessarily provocative and defensive.
If you truly believe OTel is a “baby fart,” I’d recommend you go to SRECon, KubeCon, and other similar conferences and make your opinion loudly known. Nobody talks about syslog there, and these are big and well-respected companies represented there.
Syslog is mature and battle tested for what it is: schlepping unstructured plaintext logs from one place to another. It’s not really purpose-built to meet the needs of a full-fledged observability solution, though, of which logs are but a component.
syslog isn't an observability system, you're right. It's just a transport. It doesn't really care what it transports either, delimeted, positional, structured - it'll transport it all. It'll do it durably, accurately and reliable with very modest systems at millions of messages a second.
The goal is to get it to the right place for the observability systems, and to feed them reliably.
We keep local logs for 24 hours, a sideline feed to S3, they then get sent to multiple multiple systems for tracing and legal and audits and siem etc etc.
It's not trying to be a foglight or datadog, it just helps enable them.
Apologies for being argumentative, but I come into orgs who make these generalizations, and I discover (or they engage me) because they've missed critical logging paths and face legal and compliance or intrusions and want to build more robust logging.
Otel is certainly part of it, but writing off syslog because of configuration options that aren't durable etc, when that hasn't been the baseline in decades - well, it keeps me employed at a high salary because I see this often
And the number of k8s envs that log stdout through them into.... more rsyslog, it's truly everywhere. Plus all the sidecar containers deployed that shuffle app logs, lots of syslog there, its so lightweight and simple and reliable. I watch all the gyrations people go through to achieve the same result, and it's always changing, hurts my brain thinking how much time they waste
In our case, other than network switches and routers, Syslog is the log of record and Splunk runs on all the VMs. Splunk isn’t forwarding syslog itself
The problem with modern stuff is it doesn't do the very basics. Sometimes I really do want UDP dumping out into a file on another part of the network. The modern setups forget how to do this.
I saw one place that had the logs going into a database. On the same connection as the app-data. So, when the transaction failed, the logs also didn't get written. LMAO. I made them do syslog in their code, which for some of the devs was a mind-blowing. They were amazed at that we could just barf text quick&lightweight over UDP.
That recommendation is hard to understand. Unless you have some completely trivial environment you will have syslog in it. It is not something you choose.
What you can do is have syslog ingestion for your Loki/Elastic/Splunk/whatever you use. But it will not magically structure your logs for you beyond the standard syslog date, host, severity, system, line of text format.
Both syslog products you mention are solid and mature, and absolutely has an important place in any modern environment. They manage queues, throttle, guarantee delivery and support any backend you can wish for.
Their respective rule engines are fast. They do log ingestion, and they slice data into fields and can enrich it (for example by resolving dns). This means rules are set in advance, and traps on data can be triggered immediately (not subject to races).
> I'd very much recommend a more modern log stack than a traditional syslog server.
Once everything is sent to the syslog server it can be bounced to whatever 'non-traditional' stack you want.
My firewalls, PDUs, rear-door heat exchangers, etc, do not talk (nor can they run) "Loki". Just about everything in existence can (a) talk syslog and/or (b) send SNMP traps.
There will often be a hop in there anyways because you may want to bounce/forward to many locations: ELK, SIEM, offsite, etc. I would argue you want your first hop to be the simplest (IMHO, rsyslogd saving to text files, which can be easily rsync'd or zfs-send/recv).
I've been down this road many times over the years, and each new promised land of logging always fails to replace syslog for me. Nothing else is as widely-compatible and performant. Fortunately, there are some great tools out there to modernize the network-admin experience: syslog-ng is a favorite of mine.
Same boat here. Go as simple as possible (syslog) as the base, and you can bolt on whatever the hell other tools you’d like to perform advanced functionality if you really want it.
Disagree. JSON logging is fine, but make it line based and just log to a syslog server. Then I can route it wherever I want (or to multiple places) including to a simple file on a disk that I can actually inspect, rather than having to use an API.
I used to work at an airport listed in this reference actually. Their boneyard was fully behind the fence and no public access would be granted. Even as staff we never went there because you've got massive aging equipment.
It would be an untenable liability to be having around them especially the public. Some of the chassis were there for years.
I'd generally point to econometrics and statistics applied to business. The key activity is causal inference and then the context determines the mix of econo vs. stats required to help the org make high-quality decisions to increase output or make it more lucrative or higher-quality.
The Confederates' common folks tried to burn the USA to the ground to save their inalienable right to own slaves.
Who will listen to the "perception and needs" of the racist, misogynistic common folks who want to impose their religious liberty (by banning abortion) and and elevate their financial situation (by pushing downward brown and black people)? (The GOP, that's who.)
And don't you tell me it's a minority, when less than a week after the Supreme Court made the VRA null in practice, half a dozen states are rushing to eliminate any black representation. The whole GOP in those states (who already found a way to practice slavery through their carceral system - yes, there are black people picking cotton under the guard of armed white people on horses right now, today) is unanimous in erasing any power from black people. It is their first and foremost priority right now, despite everything else going on.
> Confederates' common folks tried to burn the USA to the ground to save their inalienable right to own slaves
Something I learned at The Old Slave Mart Museum in Charleston [1] is that Southern slaveowners were almost all terifically leveraged. Slaves were purchased predominantly with borrowed money (from, I might add, the North). And slaves were expensive, making up a significant if not dominating fraction of estates' assets.
For Southern elites, therefore, abolition was an existential question. It meant bankruptcy and poverty, with insult added to injury in their creditors being Northerners. To my knowledge (and I'm no expert in this) the question of abolition paired with debt forgiveness was never seriously discussed by the Union.
So yes, Confederate racism absolutely condemns its common folk. But even a moderately well-read Southern commoner would understand that abolition meant financial crisis, taking out their communities' largest tax payers, donors, consumers and employers in one swoop.
I didn't walk away from the Museum sympathetic to slavery. But I did become more sympathetic to the South; in particular, to their bewildering decisions to continue prosecuting a war they were so very obviously, from a history textbook's perspective, losing. (To be clear, slavery is wrong. The South seceding was stupid. Not suing for peace after Gettysburg and Vicksburg stupider still.)
We need to finish Reconstruction. That sounds idealistic, even pie in the sky unrealistic. But we could certainly measure progress in that direction: US incarceration rates are insanely high, and the prison industrial complex is modern slavery. We would know victory when we put fewer people in prison than China, for example.
That's not the only symptom, or the only measure of progress. But it would be a good start.
Are you equating sone teenage students shouting during a conference by some bozo on tour with every middle-aged political representatives from a single party rewriting the law to kneecap the fundamental civil rights of a third of their population?
The way "coal miners" are discussed would also likely be something that puzzles historians. There are approximately 45,000 coal miners in the US, that's roughly equivalent to the combined enrollment of Harvard and MIT. There are more university students in the relatively small city of Cambridge, Massachusetts than there are people mining coal in the US and yet we have to pretend the latter are a constituency worth considering.
But supporting industry of coal mining/coal power plants gets money to tilt or buy senators and their votes - college students are too sparsely distributed to have an equivalent effect in USA. It only took one senator to give us an completely unregulated supplements industry.
I feel like that's the big misunderstanding between working class libs & working class conservatives.
I'm (working class liberal who went to college) not the one oppressing you (working class conservative). We make basically the same money and hold the same power, lol.
Clever of the (actual) conservative elites (1%, billionaires) to shift the blame to the intellectual class, when we don't own shit. We just piss you (working class conservatives) off at Thanksgiving with "new ideas" so we're an easy target.
There is historical precedent for uprisings. Those are usually messy and do not tend to leave most people doing the uprising better off.
Much more precedent for new elites putting themselves into a position of power while purporting to be channeling a popular uprising on behalf and for the benefit of the "common folk", who again do not end up better off for it, often quite the opposite.
It's sad and frustrating to see this play out again and again. As you say, you don't need hindsight to see how it aligns with history.
Thanks! I kind of stole the concept from the Takedown.com site that was set up to document how Kevin Mitnick was caught. Looks like the telnet servers are up again: telnet://kevin-on-demand.takedown.com:4001/ is an example of the original that made me think “it sure would be cool to be able to make custom recordings like that and play them back, but over SSH instead of telnet because who even has telnet installed anymore?”
reply