{"id":20347772,"url":"https://github.com/subzerobo/elastic-apm-go-sidecar","last_synced_at":"2025-08-08T17:34:18.496Z","repository":{"id":144320679,"uuid":"192362059","full_name":"subzerobo/elastic-apm-go-sidecar","owner":"subzerobo","description":"Sidecar for subzerobo/elastic-apm-php-agent for UDP request","archived":false,"fork":false,"pushed_at":"2019-06-17T14:25:49.000Z","size":31,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-14T22:51:28.531Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/subzerobo.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-17T14:24:48.000Z","updated_at":"2021-02-09T15:57:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"f75ff531-6f67-4ef9-93a9-5b1b9c0e0f3d","html_url":"https://github.com/subzerobo/elastic-apm-go-sidecar","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subzerobo%2Felastic-apm-go-sidecar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subzerobo%2Felastic-apm-go-sidecar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subzerobo%2Felastic-apm-go-sidecar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subzerobo%2Felastic-apm-go-sidecar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/subzerobo","download_url":"https://codeload.github.com/subzerobo/elastic-apm-go-sidecar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241877505,"owners_count":20035417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T22:18:01.496Z","updated_at":"2025-03-04T16:14:00.358Z","avatar_url":"https://github.com/subzerobo.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Welcome to Groot Application\n# About\nHi, as you may know Elastic APM  does not provide any UDP interface for scripting languages like PHP to send data in non-blocking way.\nthis project act as a middleware (**sidecar**) which gets the data from `subzerobo/elastic-apm-php-agent` library which implemented elastic-apm intake api V2 with both ***TCP*** ( **NDJSON + gzip**) and ***UDP*** (**protobuf + gzip**) connectors. \n\n**How to Launch :** \n\nJust fork the repository, i've included the protobuf generated .pb.go files already but you can create them yourself using\n\n    protoc --go_out=. ./protos/*.proto \nif you need the ***protoc*** cli code-generator you may consult this page to get your version  [https://github.com/protocolbuffers/protobuf/releases](https://github.com/protocolbuffers/protobuf/releases) \n\n\n\n# Config \n\nThis application uses environment variables for configuration as it use the elastic-apm go agent as dependency to post data to your apm server so you may consult it`s documentation for environment variables settings [https://www.elastic.co/guide/en/apm/agent/go/current/configuration.html](https://www.elastic.co/guide/en/apm/agent/go/current/configuration.html)\n\n### `ELASTIC_APM_SERVER_URL`\nThe URL for your Elastic APM server. The server supports both HTTP and HTTPS. If you use HTTPS, then you may need to configure your client machines so that the server certificate can be verified. You can also disable certificate verification with [`ELASTIC_APM_VERIFY_SERVER_CERT`](https://github.com/elastic/apm-agent-go/blob/1.x/docs/configuration.asciidoc#config-verify-server-cert).\n\n### `ELASTIC_APM_SERVER_TIME`\n| Environment | Default | Example |\n|--|--|--|\n| `ELASTIC_APM_SERVER_TIMEOUT` | `30s` | `30s` |\nThe timeout for requests made to your Elastic APM server. When set to zero or a negative value, timeouts will be disabled\n\n### `ELASTIC_APM_SECRET_TOKEN`\n| Environment | Default | Example |\n|--|--|--|\n| `ELASTIC_APM_SECRET_TOKEN` |  | `A Random String` |\n\nThis string is used to ensure that only your agents can send data to your APM server. Both the agents and the APM server have to be configured with the same secret token.\n\n\u003e the secret token is sent as plain-text in every request to the server, so you should also secure your communications using HTTPS. Unless you do so, your secret token could be observed by an attacker.\n\n### `ELASTIC_APM_SERVER_CERT`\n| Environment | Default |\n|--|--|\n| `ELASTIC_APM_SERVER_CERT` |  |\nIf you have configured your APM Server with a self signed TLS certificate, or you just wish to pin the server certificate, you can specify the path to the PEM-encoded certificate via the `ELASTIC_APM_SERVER_CERT` configuration.\n\n### `ELASTIC_APM_VERIFY_SERVER_CERT`\n| Environment | Default |\n|--|--|\n| `ELASTIC_APM_VERIFY_SERVER_CERT` | `true` |\nBy default, the agent verifies the server’s certificate if you use an HTTPS connection to the APM server. Verification can be disabled by changing this setting to `false`. This setting is ignored when `ELASTIC_APM_SERVER_CERT` is set.\n\n## Command line options\n\n#### Help \nDispalys the complete help for the application\n`$ go run main.go help `\n\n#### Listen Port\nSet the listen port of application : `-l | --listen`\n`$ go run main.go -l :port `  \n`$ go run main.go -l \":1113\"`\n\n#### Version\nShows the version of build \n`$ groot -v | --version`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsubzerobo%2Felastic-apm-go-sidecar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsubzerobo%2Felastic-apm-go-sidecar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsubzerobo%2Felastic-apm-go-sidecar/lists"}