-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Auditbeat fails on Google Container-OS >=69 / GKE >=1.10 #8523
Comments
I've been working with Google's support team on troubleshooting this and have no answers at this time. However, we have a possible workaround which is to completely disable journald's audit system (keeping in mind, this is only necessary on COS 69, not COS 65):
|
Sample auditbeat.yml to reproduce:
Sample output: auditd log output
|
On COS 70 this problem still exists, and I consider it a breaking change with Google's OS. In the meantime, here is a workaround I have tested successfully:
With a test configuration:
Then running auditbeat is successful:
|
I'm content to close this as it is seems to be an undocumented breaking change in Google Container OS and not necessarily a bug in auditbeat. As noted above, disabling If I hear any news from Google's team about this change, I'll try to keep this ticket updated for posterity. |
The proposed workaround doesn't work.
Same error with If I try to do directly what systemctl is probably doing, it also fails, but for a different reason:
The above successfully restarts systemd-journald, but it doesn't clean up the audit pid. Running auditbeat after the above (which is executed in an initContainer on Kubernetes), results in this:
However, pid 113 was the original systemd-journald process that has since been restarted by the initContainer:
Any ideas on what to do for the next step? The constraints here are that Google provides the OS, and as such, I am not doing any configuration management on the host OS, so it's difficult to figure out a solution for this. |
After asking some friends in hangops and looking at the systemd source code, I found you can set SYSTEMD_IGNORE_CHROOT=1 Running this works:
Also notable, in Kubernetes, one must mount |
Testing fails with auditbeat 6.4.1 on Google Container OS (COS) version 69
Symptom: auditbeat is unable to receive any audit logs
Possibly relevant log message:
auditbeat show auditd-status
output:Background: We are using Google's Kubernetes Engine (GKE) and have currently deployed GKE 1.9.7 where we run auditbeat as a daemonset. This configuration works well! However, when testing GKE 1.10.7, we noticed that auditbeat is unable to collect audit logs. Testing in isolation, GKE 1.9.7 uses COS 65 where auditbeat works; GKE 1.10.7 uses COS 69 where auditbeat fails.
I compared systemd-journald configuration on COS 65 (where it works) and COS 69 (where it fails) and was unable to find anything indicative.
The text was updated successfully, but these errors were encountered: