sql server log shipping: how to monitor that the replica is fresh? (e.g. that log shipping is working)
a) once a day, telling me: "Data as of is ### minutes old"


You have to  get the status using  master..sp_help_log_shipping_monitor to get the status. There are many scripts available that will send out HTML email through SQL Agent job like 


Get an overview report on your log shipping setups
Logshipping status report Throgh Mail
Automating SQL Server Transactional Log Shipping Alerts



  b) any time data is older than N minutes (indicating log shipping has gone down) 


The job LSAlert_XX where XX is the instance name, run a job  exec sys.sp_check_log_shipping_monitor_alert to check if the restore of the log has fallen behind N mins. You can edit/configure it to send out emails in case where it has fallen behind N mins.