Support
Quality
Security
License
Reuse
kandi has reviewed apollo and discovered the below as its top functions. This is intended to give you an instant insight into apollo implemented functionality, and help decide if they suit your requirements.
Unified management of the configurations of different environments and different clusters Apollo provides a unified interface to centrally manage the configurations of different environments, different clusters, and different namespaces The same codebase could have different configurations when deployed in different clusters With the namespace concept, it is easy to support multiple applications to share the same configurations, while also allowing them to customize the configurations Multiple languages is provided in user interface(currently Chinese and English)
Configuration changes takes effect in real time (hot release) After the user modified the configuration and released it in Apollo, the sdk will receive the latest configurations in real time (1 second) and notify the application
Release version management Every configuration releases are versioned, which is friendly to support configuration rollback
Grayscale release Support grayscale configuration release, for example, after clicking release, it will only take effect for some application instances. After a period of observation, we could push the configurations to all application instances if there is no problem
Authorization management, release approval and operation audit Great authorization mechanism is designed for applications and configurations management, and the management of configurations is divided into two operations: editing and publishing, therefore greatly reducing human errors All operations have audit logs for easy tracking of problems
Client side configuration information monitoring It's very easy to see which instances are using the configurations and what versions they are using
Rich SDKs available Provides native sdks of Java and .Net to facilitate application integration Support Spring Placeholder, Annotation and Spring Boot ConfigurationProperties for easy application use (requires Spring 3.1.1+) Http APIs are provided, so non-Java and .Net applications can integrate conveniently Rich third party sdks are also available, e.g. Golang, Python, NodeJS, PHP, C, etc
Open platform API Apollo itself provides a unified configuration management interface, which supports features such as multi-environment, multi-data center configuration management, permissions, and process governance However, for the sake of versatility, Apollo will not put too many restrictions on the modification of the configuration, as long as it conforms to the basic format, it can be saved. In our research, we found that for some users, their configurations may have more complicated formats, such as xml, json, and the format needs to be verified There are also some users such as DAL, which not only have a specific format, but also need to verify the entered value before saving, such as checking whether the database, username and password match For this type of application, Apollo allows the application to modify and release configurations through open APIs, which has great authorization and permission control mechanism built in
Simple deployment As an infrastructure service, the configuration center has very high availability requirements, which forces Apollo to rely on external dependencies as little as possible Currently, the only external dependency is MySQL, so the deployment is very simple. Apollo can run as long as Java and MySQL are installed Apollo also provides a packaging script, which can generate all required installation packages with just one click, and supports customization of runtime parameters
No Code Snippets are available at this moment for apollo.
QUESTION
Exclude Logs from Datadog Ingestion
Asked 2022-Mar-19 at 22:38I have a kubernetes cluster that's running datadog and some microservices. Each microservice makes healthchecks every 5 seconds to make sure the service is up and running. I want to exclude these healthcheck logs from being ingested into Datadog.
I think I need to use log_processing_rules
and I've tried that but the healthcheck logs are still making it into the logs section of Datadog. My current Deployment looks like this:
apiVersion: apps/v1
kind: Deployment
[ ... SNIP ... ]
spec:
replicas: 2
selector:
matchLabels:
app: my-service
template:
metadata:
labels:
app: my-service
version: "fac8fb13"
annotations:
rollme: "IO2ad"
tags.datadoghq.com/env: development
tags.datadoghq.com/version: "fac8fb13"
tags.datadoghq.com/service: my-service
tags.datadoghq.com/my-service.logs: |
[{
"source": my-service,
"service": my-service,
"log_processing_rules": [
{
"type": "exclude_at_match",
"name": "exclude_healthcheck_logs",
"pattern": "\"RequestPath\": \"\/health\""
}
]
}]
and the logs coming out of the kubernetes pod:
$ kubectl logs my-service-pod
{
"@t": "2022-01-07T19:13:05.3134483Z",
"@m": "Request finished HTTP/1.1 GET http://10.64.0.80:5000/health - - - 200 - text/plain 7.5992ms",
"@i": "REDACTED",
"ElapsedMilliseconds": 7.5992,
"StatusCode": 200,
"ContentType": "text/plain",
"ContentLength": null,
"Protocol": "HTTP/1.1",
"Method": "GET",
"Scheme": "http",
"Host": "10.64.0.80:5000",
"PathBase": "",
"Path": "/health",
"QueryString": "",
"HostingRequestFinishedLog": "Request finished HTTP/1.1 GET http://10.64.0.80:5000/health - - - 200 - text/plain 7.5992ms",
"EventId": {
"Id": 2,
"Name": "RequestFinished"
},
"SourceContext": "Microsoft.AspNetCore.Hosting.Diagnostics",
"RequestId": "REDACTED",
"RequestPath": "/health",
"ConnectionId": "REDACTED",
"dd_service": "my-service",
"dd_version": "54aae2b5",
"dd_env": "development",
"dd_trace_id": "REDACTED",
"dd_span_id": "REDACTED"
}
EDIT: Removed 2nd element of the log_processing_rules
array above as I've tried with 1 and 2 elements in the rules array.
EDIT2: I've also tried changing log_processing_rules
type to INCLUDE at match in an attempt to figure this out:
"log_processing_rules": [
{
"type": "include_at_match",
"name": "testing_include_at_match",
"pattern": "somepath"
}
]
and I'm still getting the health logs in Datadog (in theory I should not as /health
is not part of the matching pattern)
ANSWER
Answered 2022-Jan-12 at 20:28I think the problem is that you're defining multiple patterns; the docs state, If you want to match one or more patterns you must define them in a single expression.
Try somtething like this and see what happens:
"log_processing_rules": [
{
"type": "exclude_at_match",
"name": "exclude_healthcheck_logs",
"pattern": "\/health|\"RequestPath\": \"\/health\""
}
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
No vulnerabilities reported
Save this library and start creating your kit
Explore Related Topics
Save this library and start creating your kit