Title: Add Structured Audit Logging by mrzzy · Pull Request #891 · feast-dev/feast · GitHub
Open Graph Title: Add Structured Audit Logging by mrzzy · Pull Request #891 · feast-dev/feast
X Title: Add Structured Audit Logging by mrzzy · Pull Request #891 · feast-dev/feast
Description: Why we need this PR Feast behavior and usage be opaque due to a lack of consistent logging of: request/response messages handled by Feast Core/Serving. The user identity that was adapted. Logging in Feast is also inconsistent making it difficult to parsed by third party logging systems. What this PR does: Adds Audit Logging to Feast Core and Feast Serving: Added AuditLogger that exposes structured logging methods logMessage(), logAction() etc. Make AuditLogger disable/configurable from Core/Serving's application.yml Log entries produced by AuditLogger are structured JSON and machine parsable. Added AuditLogEntry and subclasses that define the structure of each log entries and provides JSON conversion. Added GrpcMessageInterceptor to intercept incoming/request or outgoing/response and log them to the Audit Log for both Core and Serving Services. full request/response available in JSON audit log. support for displaying authenticated identity (ie authenticated user). Refactor/Tech debt cleanups: Make JobService perform actions on jobs via JobTask instead of directly with JobManager to be consistent with JobCoordinatorService Which issue(s) this PR fixes: Fixes # Does this PR introduce a user-facing change?: Add Structured Audit Logging - Audit Log Entries are produced in structured JSON format. - Audit Logger can be configured from application.yml: - feast.logging.audit.enabled - enables and disables audit logging - feast.logging.audit.messageEnabled - enables and disables request/response message audit logging.
Open Graph Description: Why we need this PR Feast behavior and usage be opaque due to a lack of consistent logging of: request/response messages handled by Feast Core/Serving. The user identity that was adapted. Logging...
X Description: Why we need this PR Feast behavior and usage be opaque due to a lack of consistent logging of: request/response messages handled by Feast Core/Serving. The user identity that was adapted. Logging...
Opengraph URL: https://github.com/feast-dev/feast/pull/891
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/checks(.:format) |
| route-controller | pull_requests |
| route-action | checks |
| fetch-nonce | v2:539cb448-c9fd-743b-d939-cba855be1166 |
| current-catalog-service-hash | 87dc3bc62d9b466312751bfd5f889726f4f1337bdff4e8be7da7c93d6c00a25a |
| request-id | CBD4:26FDE5:DA395B:1254C4D:697D08EF |
| html-safe-nonce | ca891ab3aa529598afae21b8cef94345f3e8671bc326e55cd5df1903ff2cedae |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDQkQ0OjI2RkRFNTpEQTM5NUI6MTI1NEM0RDo2OTdEMDhFRiIsInZpc2l0b3JfaWQiOiI0MDk5NTY2NDQ2Mzc4Mjg5MzkxIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | ce355439f5c1a1ce50be8b2bab15a5a31a148d54848f7ce2830343e892d0ff9e |
| hovercard-subject-tag | pull_request:451832325 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,checks,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/feast-dev/feast/pull/891/checks |
| twitter:image | https://avatars.githubusercontent.com/u/15938899?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/15938899?s=400&v=4 |
| og:image:alt | Why we need this PR Feast behavior and usage be opaque due to a lack of consistent logging of: request/response messages handled by Feast Core/Serving. The user identity that was adapted. Logging... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 82ab524089fe277c33d771c5733c7383effee10e1f09eea2fd04108f9f36da11 |
| turbo-cache-control | no-preview |
| go-import | github.com/feast-dev/feast git https://github.com/feast-dev/feast.git |
| octolytics-dimension-user_id | 57027613 |
| octolytics-dimension-user_login | feast-dev |
| octolytics-dimension-repository_id | 161133770 |
| octolytics-dimension-repository_nwo | feast-dev/feast |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 161133770 |
| octolytics-dimension-repository_network_root_nwo | feast-dev/feast |
| turbo-body-classes | logged-out env-production page-responsive full-width full-width-p-0 |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | a48e5723889d629602a0b34d159dcd5fd1651351 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width