audit: Try to send audit even if the status is offline (#18458)

Currently, once the audit becomes offline, there is no code that tries
to reconnect to the audit, at the same time Send() quickly returns with
an error without really trying to send a message the audit endpoint; so
the audit endpoint will never be online again.

Fixing this behavior; the current downside is that we miss printing some
logs when the audit becomes offline; however this information is
available in prometheus

Later, we can refactor internal/logger so the http endpoint can send errors to
console target.
This commit is contained in:
Anis Eleuch 2023-11-17 10:40:28 -08:00 committed by GitHub
parent e4b619ce1a
commit 12f570a307
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -379,10 +379,6 @@ func (h *Target) SendFromStore(key store.Key) (err error) {
// Messages are queued in the disk if the store is enabled
// If Cancel has been called the message is ignored.
func (h *Target) Send(ctx context.Context, entry interface{}) error {
if atomic.LoadInt32(&h.status) == statusOffline {
h.config.LogOnce(ctx, fmt.Errorf("target %s is offline", h.Endpoint()), h.Endpoint())
return nil
}
if atomic.LoadInt32(&h.status) == statusClosed {
return nil
}