kandi background
Explore Kits

apollo | Apollo is a reliable configuration management system suitable for microservice configuration managem | Microservice library

 by   apolloconfig Java Version: v2.0.0-RC1 License: Apache-2.0

 by   apolloconfig Java Version: v2.0.0-RC1 License: Apache-2.0

Download this library from

kandi X-RAY | apollo Summary

apollo is a Java library typically used in Architecture, Microservice, Spring Boot, Spring, Docker applications. apollo has no bugs, it has no vulnerabilities, it has build file available, it has a Permissive License and it has medium support. You can download it from GitHub.
Apollo is a reliable configuration management system. It can centrally manage the configurations of different applications and different clusters. It is suitable for microservice configuration management scenarios. The server side is developed based on Spring Boot and Spring Cloud, which can simply run without the need to install additional application containers such as Tomcat. The Java SDK does not rely on any framework and can run in all Java runtime environments. It also has good support for Spring/Spring Boot environments. The .Net SDK does not rely on any framework and can run in all .Net runtime environments. For more details of the product introduction, please refer Introduction to Apollo Configuration Center. For local demo purpose, please refer Quick Start.
Support
Support
Quality
Quality
Security
Security
License
License
Reuse
Reuse

kandi-support Support

  • apollo has a medium active ecosystem.
  • It has 26563 star(s) with 9739 fork(s). There are 1290 watchers for this library.
  • There were 1 major release(s) in the last 6 months.
  • There are 116 open issues and 2632 have been closed. On average issues are closed in 67 days. There are 6 open pull requests and 0 closed requests.
  • It has a neutral sentiment in the developer community.
  • The latest version of apollo is v2.0.0-RC1
apollo Support
Best in #Microservice
Average in #Microservice
apollo Support
Best in #Microservice
Average in #Microservice

quality kandi Quality

  • apollo has no bugs reported.
apollo Quality
Best in #Microservice
Average in #Microservice
apollo Quality
Best in #Microservice
Average in #Microservice

securitySecurity

  • apollo has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
apollo Security
Best in #Microservice
Average in #Microservice
apollo Security
Best in #Microservice
Average in #Microservice

license License

  • apollo is licensed under the Apache-2.0 License. This license is Permissive.
  • Permissive licenses have the least restrictions, and you can use them in most projects.
apollo License
Best in #Microservice
Average in #Microservice
apollo License
Best in #Microservice
Average in #Microservice

buildReuse

  • apollo releases are available to install and integrate.
  • Build file is available. You can build the component from source.
apollo Reuse
Best in #Microservice
Average in #Microservice
apollo Reuse
Best in #Microservice
Average in #Microservice
Top functions reviewed by kandi - BETA

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.

  • Attempts to load the apollo config .
  • Do an http get with the request
  • Wait for long polling
  • Performs the import .
  • Retrieves the configuration for the given application .
  • Audits an instance .
  • Extracts all placeholder keys from a property string .
  • Polls a notification
  • Calculates and calculates the config changes .
  • Transforms a namespace into a NamespaceBO .

apollo Key Features

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

Community Discussions

Trending Discussions on Microservice
  • Exclude Logs from Datadog Ingestion
  • Custom Serilog sink with injection?
  • How to manage Google Cloud credentials for local development
  • using webclient to call the grapql mutation API in spring boot
  • Jdeps Module java.annotation not found
  • How to make a Spring Boot application quit on tomcat failure
  • Deadlock on insert/select
  • Rewrite host and port for outgoing request of a pod in an Istio Mesh
  • Checking list of conditions on API data
  • Traefik v2 reverse proxy without Docker
Trending Discussions on Microservice

QUESTION

Exclude Logs from Datadog Ingestion

Asked 2022-Mar-19 at 22:38

I 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:28

I 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\""
  }

Source https://stackoverflow.com/questions/70687054

Community Discussions, Code Snippets contain sources that include Stack Exchange Network

Vulnerabilities

No vulnerabilities reported

Install apollo

You can download it from GitHub.
You can use apollo like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the apollo component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer maven.apache.org. For Gradle installation, please refer gradle.org .

Support

Apollo TeamCommunity GovernanceContributing Guide

DOWNLOAD this Library from

Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
over 430 million Knowledge Items
Find more libraries
Reuse Solution Kits and Libraries Curated by Popular Use Cases

Save this library and start creating your kit

Share this Page

share link
Reuse Pre-built Kits with apollo
Consider Popular Microservice Libraries
Compare Microservice Libraries with Highest Support
Compare Microservice Libraries with Highest Security
Compare Microservice Libraries with Permissive License
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
over 430 million Knowledge Items
Find more libraries
Reuse Solution Kits and Libraries Curated by Popular Use Cases

Save this library and start creating your kit

  • © 2022 Open Weaver Inc.