5 ms·
Rtail – Terminal output to the browser using Unix pipes
- fredkelly 11y agoThis is really nicely done, thank you!
- thehoff 11y agoNicely done and fantastic landing page!
- chanux 11y agoGood stuff. Kudos! I really like how they ask for sponsors.
- deanstag 11y agoI am curious. What is the usecase of this?
- kilianciuffolo 11y agohttps://github.com/kilianc/rtail#rationale https://github.com/kilianc/rtail#rationale let me know if you have more questions, hop in on gitter!
- aethr 11y agoI can start using this immediately for debugging the backend of a web application during development. For some kinds of debugging, it's preferable to log output to a file or tty instead of printing on the page during a request or stepping through a debugger. This is particularly true in frameworks where you might be trying to debug something that's happened after the rendering step. I would typically use standard debug logging and tail the output in a terminal while I test, but having that output in a browser, searchable, filterable by RegExp adds a whole additional layer of ease of use. Showing this to all the backend devs on my team today!
- spinlock 11y agoIt doesn't go to a browser (unless you use something like https://keymetrics.io/2015/06/10/pm2-ssh-expose-a-fully-capable-terminal-within-your-browser/ https://keymetrics.io/2015/06/10/pm2-ssh-expose-a-fully-capa...) but `less` is great for tailing logs, output, etc... and lets you search, filter, set marks. > foreman start -c web=1,all_worker=3 > /tmp/x & less -r+F /tmp/x; kill -SIGINT % I run this inside of screen so that I can decide not to wrap the lines.
- aethr 11y agoless is great, and I'm certainly comfortable using it (nice snippet btw!). Other devs on my team who are more web focused would probably find rtail easier to use. We also have a Vagrant box for each project, and rtail would be trivial to add to the Vagrant template so that every development box has this running on a specific port without any setup or fiddling needed by each developer. At least that's the direction I'm thinking of going in right now, without having actually tried it out. :)
- spinlock 11y ago+1 for a common tool chain. It's really nice when you don't have to spend 1/2 the day figuring out someone's setup to help them fix a bug.
- krakensden 11y agoring ring ring Hello? The smoke tests are failing and Kibana isn't returning anything from the past 10 minutes inaudible $ for i in grotty_old_server{1..10}; do ssh root@i "tail -f /var/log/froznob/goddamn-custom-logging-system" | rtail &; done Are you still there? Half of the servers are spewing the same stacktrace 200 times a second.
- kilianciuffolo 11y agoHello and thanks for reporting! Do you mind opening an issue on github with the error you are presented?
- deanstag 11y agoI meant whats the advantage of viewing it in browser? Couldnt you go through the output in a terminal with multiplexers and tail?
- deleted 11y ago[deleted]
- hackerway 11y agonice work, web app's sweet!
- kilianciuffolo 11y agothanks, all credits to the amazing designers!
- mmarx 11y agoWhy does it have to be a custom network protocol when using syslog would not only suffice, but also allow for devices that don't run custom code (e.g., switches or routers) to be monitored?
- krakensden 11y agoSyslog is a little bit warty- if I didn't use it elsewhere[1], I wouldn't necessarily reach for it. It seems like it should also be fairly trivial to just use your OS' syslog as a shim, if you wanted this to be a syslog endpoint. [1]: many more people should than do
- mmarx 11y agoTrivial, maybe. Not only does it add a single point of failure, though, as the logs get aggregated on the syslog host, the only “benefit” rtail retains is looking at the logs in a browser instead of tail(1).
- krakensden 11y agoNot sure why syslogd as a single point of failure is worse than rtail-server being a single point of failure- there are some very, very stable & battle-tested syslogd implementations. Additionally, it doesn't really seem like that's the case- as long as you were willing to reconfigure syslog on the hosts, you could do syslog -> rtail => rtail-server (-> is local, => is network), as rtail works via UDP.
- rmetzler 11y agoWhat is the difference to using websocketd [1] to stream to a socket.io client? [1] https://github.com/joewalnes/websocketd https://github.com/joewalnes/websocketd
- icebraining 11y agoThis is a full solution with web app and such; websocketd is just a communication tool, which could be used to build something like rtail.
- hackmiester 11y agoWow! This is really cool! I would love to use this at my workplace. I had a small problem, though: it seems the clients don't keep very much data. For example, I filtered based on an expression that matched about 1-2 lines per second. The lines appeared, but disappeared almost as quickly. I suspect there is some small client-side buffer that I'm overrunning almost instantly; the log stream I used produces about 500 lines per second. Is this too much for the tool? Can I tune it to work with that load?
- kilianciuffolo 11y agoYeah, so the filter uses the internal buffer which is 100 lines. you can easily hack it to make it bigger (there is a closed github issue to look at for instructions). I don't want to make bigger buffers available just yet. I want to rewrite the webapp using ng2 and use an infinite scroll for the lines view. Feel free to open a new issue if you want!
- ilovefood 11y agoSuperb, just installed it, setup took 1 minute and now I'm tailing 24 logs on one single page. Thanks A LOT!
- otherusername2 11y agoIs there a XSS exploit in this? I just clicked on the 'alert' stream, and it displayed two alert dialogs.
- ll_cool_james 11y agoI think there is. I keep getting redirected to a 10 hour rick roll youtube video
- paste0x78 11y agoYa loads http://bit.ly/1LRJuun http://bit.ly/1LRJuun that redirects to https://www.youtube.com/watch?v=BROWqjuTM0g&insecure_code=true https://www.youtube.com/watch?v=BROWqjuTM0g&insecure_code=tr... 42["line",{"timestamp":1436363693619,"streamid":"rtail.org","host":"176.199.140.33","port":50049,"content":"<script>window.top.location.href=\"http://bit.ly/1LRJuun\"</script>","type":"string"} http://bit.ly/1LRJuun\"</script>","type":"string"}]
- kilianciuffolo 11y agoI fix this for the demo already :)
- chinathrow 11y agoYes, flash 0days piped via terminal :)
- Cthulhu_ 11y agoI got rick rolled :(. Probably an exploit in there.
- kilianciuffolo 11y agoI fixed this for the demo already :)
- fazza99 11y agolol. nice rickroll
- deleted 11y ago[deleted]
- gvalkov 11y agoNicely done - the design is amazing. I had to solve a similar problem a while ago and wrote tailon: https://github.com/gvalkov/tailon https://github.com/gvalkov/tailon