Version 1.0 of the TIER Instrumentation specification calls for each TIER container to send a daily “beacon.” This beacon will contain only product (Shibboleth-IdP/Grouper/COmanage), product version (3.3.1/2.3/2.0), and a TIER release identifier.* This reporting data gives crucial insights to the TIER investor community regarding how and where the releases are being deployed so that adoption of deliverables can be directly measured.
The format of the beacon message will be JSON, which is already in use in other components and simple to implement. The message will be sent via HTTP/REST on a non-standard port (5001) to an AWS “collector” VM operated by TIER (collector.testbed.tier.internet2.edu). Each An example of the dashboard for the collector can be seen below. Each container will be configured at final build time with a random time for these daily messages to be sent (via cron). That random time will be between midnight and 4am. This is the format of the incoming message:
- Create a crontab file for the needed job set to execute at a random time between midnight and 4am. This file is written to /opt/tier/tier-cron
- Add that new crontab file to the root user’s crontab
- Create the cron log file - /var/log/cron.log
- Start crond
- Run the command line from the original CMD directive in the local Dockerfile