Hi, you need some coupling between this component and in your test environment, whichever mechanism you use to start or stop the monitor operation.
I would recommend simpler solution a1 because using user defined phases is a lot of extra work and makes your testbench quite hard to comprehend by other team members.
You would run the monitor continuously but have an enable bit to control whether it actually monitors or not. That enable bit could either be set by an API on the monitor, or exist in a shared config object or similar. Of course the controlling end needs to know how to turn it on and off so some coupling exists. If you want, you could minimize coupling by adding a further stage of decoupling, so that whichever component DOES have access to the reset condition/signal/criteria (another monitor?), can just report that fact, and some other component can act as a broker, listening for that status, and calling the mechanism to enable/disable your monitor. Your scoreboard might be a common place to make that link.