I was able to fix it.
The status of awslogs has been broken. The state is stored in the sqlite database in / var / awslogs / state / agent -state. You can access it through
sudo sqlite3 /var/awslogs/state/agent-state
sudo is required to access the record.
List all threads with
select * from stream_state;
Take a look at your log stream and look at source_id , which is part of the json data structure in column v.
Then list all the entries with this source code (in my case it was 7675f84405fcb8fe5b6bb14eaa0c4bfd) in the push_state table
select * from push_state where k="7675f84405fcb8fe5b6bb14eaa0c4bfd";
The resulting record has a json data structure in column v that contains batch_timestamp. And that batch_timestamp stitches to be wrong. This was in the past, and ever newer (more than 2 hours) journal entries were no longer processed.
The solution is to update this entry. Copy column v, replace batch_timestamp with the current timestamp and update something like
update push_state set v='... insert new value here ...' where k='7675f84405fcb8fe5b6bb14eaa0c4bfd';
Restart the service using
sudo /etc/init.d/awslogs restart
I hope this works for you!
source share