alscan > Explain
Why does alscan exist?
The alscan tool was developed based on my experience working for a web hosting company.
A recurring task is such companies is diagnose system failures.
The web-server access logs are a valuable source of information for such an investigation.
A "one-liner" was a bash pipeline command we were allowed to use to create and pass-on to other admins.
The existing text-based tools (grep, awk, comm, etc)
are sufficient for simple analysis.
The complex parsing required to extract important information complicates the creation of accurate "one-liners".
Given the need, I decided to create a tool. It would parse one or more access logs, extract the important data, and report on that data.
I called it alscan.
I wanted it to be easy to install. A single file which could be copied to any linux system we may be investigating.
I wrote a program in C++. It compiled to a staticly linked executable. No other installation requirements.
I was told "No one at the company could read C". My reply that "The tool was in fact written in C++" was not well received. No one at the company could review the code, so it was never approved for use. (I was working as an admin, so who would believe I could manage to open a file in read-only mode).
I was told that the only option for a real tool was Perl. But that if I had to, I could use Python. Since my love of Perl knows its bounds I selected Python for the second implementation. I left the company after I submitted it, but before it was approved. I have no idea if it was used or not.
The whole episode reminded me that I love to write software, so I should go back to it.
I decided it was time for an Open-Source version of alscan.
The current implementation is in TypeScript.
I don't have a daily need for the tool any longer. I hope someone else find a use for it.