Comments (8)
I'd be very excited to see this PR.
from argo-cd.
We should probably consider switching to JSON by default in 3.0. But the option is already available today.
from argo-cd.
Turns out the problem is more complicated than I thought. While some logs in appcontroller don't have info about the application, a lot of them include it in the structured data, including the example I've shown. However, when viewing the logs in the Datadog, application's fully qualified name is not available in the parsed event attributes and also not added to the log line (as it probably shouldn't). There's also been an example of logs where fields are added to the log message but in a way that indicate some broken parsing.
So the source of the issue lies in ArgoCD not using JSON format recommended by Datadog for integration, and the custom Grok parser for the ArgoCD logs we have seems to not cover some edge cases (probably / in the unquoted value of the field).
I'd open a discussion about potentially switching to JSON log format or finding other ways to have parsing working better.
from argo-cd.
Oh, my search for potential usage of JSONFormatter was too naive. After your pointer, I've traced that to util/log/logrus.go
.
from argo-cd.
I'd just run the controller with the corresponding option, though still plan to submit the PR for some logging improvements.
from argo-cd.
The PR is ready and passes CI. I'm not 100% sure though whether to log an app fully qualified name, or log a regular name and namespace separately. There's no consistency now - audit logger and couple of places choose the later, while multiple other places choose the former. In my PR I gave preference to the qualified name, but didn't go as far as editing audit logger. What do you think?
from argo-cd.
Thinking more about this, I'll probably switch to using a regular app name and have namespace as a separate parameter, as well as separate field for a qualified name. It's going to be reasonable when querying structured data via Datadog and also supporting just using grep on raw logs.
from argo-cd.
This should be in the next release.
from argo-cd.
Related Issues (20)
- Implement graceful shutdown in all Argo CD components HOT 1
- Git Revision not found when trying to create applicationset from git HOT 5
- Helm dependency conditions/tags are not respected with multisource HOT 4
- Adding a namespace to a non-namespaced resource results in duplicate resources HOT 4
- --parameter-file and --from-file documented but don't exist for `argocd app set`
- ArgoCD Finalizers HOT 4
- Argocd (Windows) app create yields .kube config not found when run outside home directory
- [docs] define clusterRole for appset-controller (watching many namespaces)
- Unable to install fresh on OKD 4.15 HOT 3
- tree output with app selector permission denied HOT 6
- empty strings treated as unset env var in sidecar plugin HOT 7
- Update git-lfs version in images HOT 7
- Containers in pods with native sidecars don't show as "ready" HOT 1
- ArgoCD (add repo) incompatible with Azure WAFv2 (OWASP 3.2) HOT 4
- Expose ArgoCD version in metrics HOT 1
- LKLK
- Persistent SSO login with OpenUnison not working HOT 6
- UI - Credentials Template misleading HOT 2
- Dark Mode: Collapsed sections color is white HOT 5
- [2.12-RC1] "revision not found" error when calling Application API RevisionMetadata
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from argo-cd.