uiScribe uiScribe - Custom System Log page for "scribed" logs

  • ATTENTION! You'll notice a Prefix dropdown when you create a thread. If your post applies to one of the topics listed, please use that Prefix for your post. When browsing the thread list you can use the Prefix to filter the view.
  • ATTENTION! As of November 1, 2020, you are not able to reply to threads 6 months after the thread is opened if there are more than 500 posts in the thread.
    Threads will not be locked, so posts may still be edited by their authors.
    Just start a new thread on the topic to post if you get an error message when trying to reply to a thread.

Jack Yaz

Part of the Furniture
v1.4.1
Updated 2020-12-18

Customise the System Log page to show log files created by Scribe (syslog-ng). Requires Scribe by @cmkelley
Support for Scribe can be found here: https://www.snbforums.com/threads/scribe-syslog-ng-and-logrotate-installer.55853/

uiScribe is free to use under the GNU General Public License version 3 (GPL 3.0).

This project is hosted on GitHub

Love the script and want to support future development? Any and all donations gratefully received!
PayPal donation
Buy me a coffee

Supported firmware versions
You must be running firmware Merlin 384.15/384.13_4 (or later) Asuswrt-Merlin

Installation
Using your preferred SSH client/terminal, copy and paste the following command, then press Enter:
Code:
/usr/sbin/curl --retry 3 "https://raw.githubusercontent.com/jackyaz/uiScribe/master/uiScribe.sh" -o "/jffs/scripts/uiScribe" && chmod 0755 /jffs/scripts/uiScribe && /jffs/scripts/uiScribe install

Usage
WebUI

uiScribe can be configured via the WebUI, on the System Log page.

Command Line
To launch the uiScribe menu after installation, use:
Code:
uiScribe

If this does not work, you will need to use the full path:
Code:
/jffs/scripts/uiScribe
 
Last edited:

Jack Yaz

Part of the Furniture
Screenshots
 
Last edited:

quant88

Regular Contributor
Great work Jack !
No issue with firmware: beta 384.12 beta1.
I don't have to SSH router to check separate logs from now :D
 

Jack Yaz

Part of the Furniture
There's probably going to be a bug I've just thought of in that the logs may not be populated after a reboot. Running uiScribe in a terminal should fix this. The reason is that the symlinks will fail as entware won't have mounted
 

Swistheater

Very Senior Member
There's probably going to be a bug I've just thought of in that the logs may not be populated after a reboot. Running uiScribe in a terminal should fix this. The reason is that the symlinks will fail as entware won't have mounted
I look forward to using this once it passes beta :D. Great job, Jack.
 

Swistheater

Very Senior Member
There's probably going to be a bug I've just thought of in that the logs may not be populated after a reboot. Running uiScribe in a terminal should fix this. The reason is that the symlinks will fail as entware won't have mounted
I am feeling adventurous and might just go ahead and start testing.
 

skeal

Part of the Furniture
This looks like you may have me hooked! I'll hang off for right now but I expect by the end of the week I'll be all hands in. Awesome work @Jack Yaz :D
 

elorimer

Very Senior Member
I'm a crash test dummy IRL.

This installs, and messages shows OK. The other logs have headings like this:
Code:
Block source osquery(file("/var/log/osquery/osqueryd.results") prefix(".osquery.") ...) { Messages (click to show/hide)
and in the box show "Log goes here".

I don't have all the examples scribe might install, but I have pixelserv-tls (irregularly named, maintaining my respect for @kvic's work) and skynet-0 and openvpn. How do you choose what will be shown and what not?

upload_2019-6-10_10-10-45.png
 
Last edited:

Jack Yaz

Part of the Furniture
I'm a crash test dummy IRL.

This installs, and messages shows OK. The other logs have headings like this:
Code:
Block source osquery(file("/var/log/osquery/osqueryd.results") prefix(".osquery.") ...) { Messages (click to show/hide)
and in the box show "Log goes here".

I don't have all the examples scribe might install, but I have pixelserv-tls (irregularly named, maintaining my respect for @kvic's work) and skynet-0 and openvpn. How do you choose what will be shown and what not?

View attachment 18158
I made an assumption that all logs would be pointed to /opt/var/log and end in .log

EDIT: isn't /var/log part of tmpfs rather than a persistent storage location?
 
Last edited:

elorimer

Very Senior Member
1. I think it is a safe assumption that all logs would be pointed to /opt/var/log. I don't know why some of these blocks are referring to /var/log.
2. It is not a safe assumption that all logs end in .log, but I think it is a good practice to enforce. Messages, for example, doesn't end in .log, and there is nothing that guides someone to define a destination file as including it (I have a file called startupmessages, for example, which is the syslog.log file up to killing syslogd and starting syslog-ng). I'm assuming this way you can ignore the rotated logs, compressed or not. We also have the dnsmasq.log created by diversion; I have a collectd.log file.
3. I do not have a number of other logs that are not relevant to me: the wlcevent log, the crash log or netdata logs.
 
Last edited:

Jack Yaz

Part of the Furniture
1. I think it is a safe assumption that all logs would be pointed to /opt/var/log. I don't know why some of these blocks are referring to /var/log.
2. It is not a safe assumption that all logs end in .log, but I think it is a good practice to enforce. Messages, for example, doesn't end in .log, and there is nothing that guides someone to define a destination file as including it (I have a file called startupmessages, for example, which is the syslog.log file up to killing syslogd and starting syslog-ng). I'm assuming this way you can ignore the rotated logs, compressed or not. We also have the dnsmasq.log created by diversion; I have a collectd.log file.
3. I do not have a number of other logs that are not relevant to me: the wlcevent log, the crash log or netdata logs.
I can improve how I parse for logs - the assumption was deemed to fit 90% of the intended user base, so I could get a PoC out there to see if anyone would be interested :)

The list of logs is pulled from syslog-ng itself, and whichever filters you have in place

dnsmasq.log simply grows too large to render well
 

cmkelley

Very Senior Member
1. I think it is a safe assumption that all logs would be pointed to /opt/var/log. I don't know why some of these blocks are referring to /var/log.
2. It is not a safe assumption that all logs end in .log, but I think it is a good practice to enforce. Messages, for example, doesn't end in .log, and there is nothing that guides someone to define a destination file as including it (I have a file called startupmessages, for example, which is the syslog.log file up to killing syslogd and starting syslog-ng). I'm assuming this way you can ignore the rotated logs, compressed or not. We also have the dnsmasq.log created by diversion; I have a collectd.log file.
3. I do not have a number of other logs that are not relevant to me: the wlcevent log, the crash log or netdata logs.
Another good practice people need to adhere to is to set maximum log sizes for rotation at less than 2Mb, preferably 1M or less. No real science behind that, But a 22Mb log makes it choke even on an 86U.
 

elorimer

Very Senior Member
Another good practice people need to adhere to is to set maximum log sizes for rotation at less than 2Mb, preferably 1M or less. No real science behind that, But a 22Mb log makes it choke even on an 86U.
Interesting. My pixelserv-tls at log level 2 is generating about 16M a day, so it rotates every day and the older ones compress to less than 1MB. Only dnsmasq is anything like that size.

Pixelserv-tls is one of the log files I never need to see in the webgui.
 

L&LD

Part of the Furniture
Thank you Jack Yaz!

Installed on RT-AC86U running 384.12 Beta 1, no issues. :)
 

Delusion

Senior Member
Looks good and very useful. How can I set log levels that were on this page prior installing the script?
 

Jack Yaz

Part of the Furniture
Looks good and very useful. How can I set log levels that were on this page prior installing the script?
I hid these as I wasn't sure what impact, if any, the settings had when running through syslog-ng. @cmkelley do you know if the settings still apply?
 

kyle95wm

Occasional Visitor
I can't even start the installation!

Code:
[email protected]:/tmp/home/root# /usr/sbin/curl --retry 3 "https://raw.githubus
ercontent.com/jackyaz/uiScribe/master/uiScribe.sh" -o "/jffs/scripts/uiScribe" &&
chmod 0755 /jffs/scripts/uiScribe && /jffs/scripts/uiScribe install
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 12738  100 12738    0     0  48433      0 --:--:-- --:--:-- --:--:-- 59802
uiScribe: Welcome to uiScribe v0.2.0, a script by JackYaz

uiScribe: Checking your router meets the requirements for uiScribe

[email protected]:/tmp/home/root# /usr/sbin/curl --retry 3 "https://raw.githubus
ercontent.com/jackyaz/uiScribe/master/uiScribe.sh" -o "/jffs/scripts/uiScribe" &&
chmod 0755 /jffs/scripts/uiScribe && /jffs/scripts/uiScribe install
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 12738  100 12738    0     0  69228      0 --:--:-- --:--:-- --:--:-- 92978
uiScribe: Welcome to uiScribe v0.2.0, a script by JackYaz

uiScribe: Checking your router meets the requirements for uiScribe

[email protected]:/tmp/home/root#
 

L&LD

Part of the Furniture
I can't even start the installation!

Code:
[email protected]:/tmp/home/root# /usr/sbin/curl --retry 3 "https://raw.githubus
ercontent.com/jackyaz/uiScribe/master/uiScribe.sh" -o "/jffs/scripts/uiScribe" &&
chmod 0755 /jffs/scripts/uiScribe && /jffs/scripts/uiScribe install
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 12738  100 12738    0     0  48433      0 --:--:-- --:--:-- --:--:-- 59802
uiScribe: Welcome to uiScribe v0.2.0, a script by JackYaz

uiScribe: Checking your router meets the requirements for uiScribe

[email protected]:/tmp/home/root# /usr/sbin/curl --retry 3 "https://raw.githubus
ercontent.com/jackyaz/uiScribe/master/uiScribe.sh" -o "/jffs/scripts/uiScribe" &&
chmod 0755 /jffs/scripts/uiScribe && /jffs/scripts/uiScribe install
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 12738  100 12738    0     0  69228      0 --:--:-- --:--:-- --:--:-- 92978
uiScribe: Welcome to uiScribe v0.2.0, a script by JackYaz

uiScribe: Checking your router meets the requirements for uiScribe

[email protected]:/tmp/home/root#

It's installed. :)
 

Delusion

Senior Member
I can't even start the installation!

Code:
[email protected]:/tmp/home/root# /usr/sbin/curl --retry 3 "https://raw.githubus
ercontent.com/jackyaz/uiScribe/master/uiScribe.sh" -o "/jffs/scripts/uiScribe" &&
chmod 0755 /jffs/scripts/uiScribe && /jffs/scripts/uiScribe install
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 12738  100 12738    0     0  48433      0 --:--:-- --:--:-- --:--:-- 59802
uiScribe: Welcome to uiScribe v0.2.0, a script by JackYaz

uiScribe: Checking your router meets the requirements for uiScribe

[email protected]:/tmp/home/root# /usr/sbin/curl --retry 3 "https://raw.githubus
ercontent.com/jackyaz/uiScribe/master/uiScribe.sh" -o "/jffs/scripts/uiScribe" &&
chmod 0755 /jffs/scripts/uiScribe && /jffs/scripts/uiScribe install
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 12738  100 12738    0     0  69228      0 --:--:-- --:--:-- --:--:-- 92978
uiScribe: Welcome to uiScribe v0.2.0, a script by JackYaz

uiScribe: Checking your router meets the requirements for uiScribe

[email protected]:/tmp/home/root#

Did you install Scribe?
Code:
/usr/sbin/curl --retry 3 "https://raw.githubusercontent.com/cynicastic/scribe/master/scribe" -o "/jffs/scripts/scribe" && chmod 0755 /jffs/scripts/scribe && /jffs/scripts/scribe install
 

Latest threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top