The solution to this problem is really easy so don't panic. The @agent_id supplied to the “Log Reader agent startup message” job step is incorrect and needs to be changed to the correct agent id.
In your Distribution database look up the correct agent id value for your publisher.
Use the following code substituting your Distribution database name.
select id, name from ~Distribution database name~.dbo.MSLogReader_agents
Id: ~id value~
Name: ~Publisher SQL Server name-Publication name~
On your SQL Server that handles distribution, look for the Log Reader job for the publication that is failing. The category should be “REPL-LogReader” and the job name should be something like ~Publisher SQL Server name-Publication name~. For job step 1: “Log Reader Agent startup message”, look at the value specified for the @agent_id parameter. This value should match the value that was identified from Step 1 from the MSLogReader_agents table.
sp_MSadd_logreader_history @perfmon_increment = 0, @agent_id = ~id value~, @runstatus = 1, @comments = 'Starting agent.'
Corrective action: Not too sure why the value for the @agent_id parameter would change but supplying the correct id and rerunning the job corrects this issue.