Нашёл замечательную недокументированную возможность в битриксе. Можно писать в лог брейкпоинты (start, finish) работы выполнения агентов.

Применяем:

if (!defined('BX_AGENTS_LOG_FUNCTION')) {
    define('BX_AGENTS_LOG_FUNCTION', 'OlegproAgentsLogFunction');
 
    function OlegproAgentsLogFunction ($arAgent, $point){
        @file_put_contents(
            $_SERVER["DOCUMENT_ROOT"] . '/agents_executions_points.log',
            (
                PHP_EOL . date('d-m-Y H:i:s') . PHP_EOL .
                print_r($point, 1) . PHP_EOL .
                print_r($arAgent, 1) . PHP_EOL
            ),
            FILE_APPEND
        );
    }
}

Этот кусок кода можно вставить, например в dbconn.php

И в файле agents_executions_points.log будет примерно такое:

04-02-2016 12:30:01
start
Array
(
    [ID] => 15620
    [NAME] => CCatalogExport::PreGenerateExport(3);
    [AGENT_INTERVAL] => 3600
    [IS_PERIOD] => N
    [MODULE_ID] => catalog
)
 
 
04-02-2016 12:30:04
finish
Array
(
    [ID] => 15620
    [NAME] => CCatalogExport::PreGenerateExport(3);
    [AGENT_INTERVAL] => 3600
    [IS_PERIOD] => N
    [MODULE_ID] => catalog
)