As part of our Native installation we had a few cronjobs running different scripts like transferring tracking logs to S3 for later analysis by Insights for example.
How do I achieve the same thing in Tutor since there does not seem to be a cron mechanism in the containers?
According to the documentation, the logs are persisted to disk by default in
$(tutor config printroot)/data/lms/logs/
and
$(tutor config printroot)/data/cms/logs/
I assume the Tutor way is to run a cronjob from the host in order to transfer the files to S3, right?
Since I am exploring Tutor right now, can someone confirm the different log files are rotated in these directories when they reach a certain size? That definitely needs to be done in order to determine which logs are new or not when I try to sync them to an S3 bucket
For example, under native you would find under /edx/var/log/tracking
Hi @sambapete
I’ve only been running Tutor for just over 3 weeks now so can’t confirm 100% but as far as I can tell there’s no logrotations happening on my instance running Debian 11. I did also login to each of the docker containers but don’t see any logrotates set up within the containers themselves, but I could be misinformed here
I’m planning on doing some work with this to set up rsyslog to push to a separate logging server, happy to give you whatever I come up with whenever I get around to it if you want but I don’t use AWS/S3 as I self-host on premises…
I can confirm that Tutor does not do log rotation. If you need log rotation for the tracking logs you should create a Tutor plugin that modifies the LOGGING configuration in edx-platform.
And that brings us another good question. Are the log files truncated at some point? They can become huge on a system with lots of users over the years.
If the Tutor plugin system does not allow you to build a plugin that implements log rotation, then yes it’s a problem and you should open a ticket. But my feeling is that creating such a plugin should be fairly simple.
No, the log files are not truncated by default. The reason for that is users might want to catch up on past events if they ever install an analytics system. So far, log size has not been an issue.
Oh, that would be a nicer way to do it. I’ve been playing with the idea of creating a “tutor-utils” plugin that could support some of the server admin tasks (log rotation, backups…).
I think the format of the tracking log is different. I have never used Insights so I don’t know for sure but it’s probably worth double checking @sambapete.
I believe you are right. What I found in the all.log and tracking.log files under $TUTOR_ROOT/data/logs in the LMS is closer to what is found in /edx/var/logs/lms/edx.log under Native than what is found and expected in /edx/var/logs/tracking/tracking.log under Native.
Don’t get me wrong, the logs in this format are useful from an administrative standpoint but not from an analytics standpoint when using Insights.
To be honest, I’ve never looked how the tracking.log files were produced. I wonder if there is a conversion made between the LMS logs and the tracking logs. And at this point maybe @regis could tell us if this is the case of if there is a reason why the tracking logs are not produced in the expected Open edX format.