{"id":26233975,"url":"https://github.com/teragrep/aer_02","last_synced_at":"2026-02-06T10:04:02.828Z","repository":{"id":261633600,"uuid":"851565776","full_name":"teragrep/aer_02","owner":"teragrep","description":"Teragrep syslog bridge function for Microsoft Azure EventHub ","archived":false,"fork":false,"pushed_at":"2025-12-19T23:34:58.000Z","size":268,"stargazers_count":0,"open_issues_count":15,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-12-22T03:56:05.043Z","etag":null,"topics":["azure","azure-logging","centralized-logging","eventhub","log-management","relp","relp-client","syslog","syslog-bridge","teragrep"],"latest_commit_sha":null,"homepage":"https://teragrep.com","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/teragrep.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-09-03T10:27:42.000Z","updated_at":"2025-12-19T12:48:05.000Z","dependencies_parsed_at":"2024-11-07T16:26:08.166Z","dependency_job_id":"49522bf0-1279-479e-9219-fc7b8c0ec23f","html_url":"https://github.com/teragrep/aer_02","commit_stats":null,"previous_names":["teragrep/aer_02"],"tags_count":39,"template":false,"template_full_name":null,"purl":"pkg:github/teragrep/aer_02","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teragrep%2Faer_02","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teragrep%2Faer_02/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teragrep%2Faer_02/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teragrep%2Faer_02/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/teragrep","download_url":"https://codeload.github.com/teragrep/aer_02/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teragrep%2Faer_02/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29157478,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T07:18:23.844Z","status":"ssl_error","status_checked_at":"2026-02-06T07:13:32.659Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["azure","azure-logging","centralized-logging","eventhub","log-management","relp","relp-client","syslog","syslog-bridge","teragrep"],"created_at":"2025-03-13T01:18:21.646Z","updated_at":"2026-02-06T10:04:02.787Z","avatar_url":"https://github.com/teragrep.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"// Before publishing your new repository:\n// 1. Write the readme file\n// 2. Update the issues link in Contributing section in the readme file\n// 3. Update the discussion link in config.yml file in .github/ISSUE_TEMPLATE directory\n\n= aer_02 (Teragrep syslog bridge function for Microsoft Azure EventHub)\n\n// Add a short description of your project. Tell what your project does and what it's used for.\n\nAllows conversion of Azure EventHub events to Syslog messages and sending them to a RELP server.\nAdditional processing of the events can be performed based on the `resourceId` of the event and an assigned `Plugin`.\n\n== Features\n\n// List your project's features\n* Receives events from Azure EventHub using Azure Java Function.\n* Converts said events to Syslog format.\n* Allows sending said Syslog-formatted messages to a RELP server.\n* Allows the usage of a certificate from Azure KeyVault for TLS encryption.\n* Provides HTTPTrigger function for Prometheus metrics.\n* Implements akv_01 library for additional syslog message processing based on `resourceId` from events received from EventHub.\n\n== Documentation\n\nSee the official documentation on https://docs.teragrep.com[docs.teragrep.com].\n\n== Limitations\n\n// If your project has limitations, please list them. Otherwise remove this section.\nCurrently only a default `Plugin` is included in the project. If other type of additional message processing is required,\na class implementing `Plugin` and `PluginFactory` must be created and added to the configuration file.\n\n== How to [compile/use/implement]\n\n// add instructions how people can start to use your project\n\n=== Compile using Maven\n\nThe project can be compiled using Maven. It is recommended to use Java 11.\n[source,bash]\n----\n$ JAVA_HOME=/usr/lib/jvm/java-11-openjdk mvn clean package\n----\nUsing the `package` lifecycle ensures that the necessary JSON manifests to run the Azure Functions are generated.\n\n=== Usage in Azure\n\nThe project must be deployed as a Function in a Function App. The Function App requires or supports the following Environment variables:\n\n\n|===\n|Environment variable |Description |Default value |Possible values\n\n|EventHubName\n|Specifies the EventHub name from which to receive the events. Must be provided.\n|N/A\n|Any valid EventHub name\n\n|EventHubConnectionString\n|Connection string required to communicate with an EventHub in a namespace. Must be provided.\n|N/A\n|Valid EventHub connection string\n\n|RELP_TLS_MODE\n|Specifies which TLS implementation should be used. By default, no encryption is used.\n|`none`\n|`none`, `keyVault`\n\n|PLUGINS_CONFIG_PATH\n|Specifies the plugin configuration file path.\nBy default, no configuration is loaded and the DefaultPlugin is used for all resourceIds.\n|`\"\"`\n|valid path, `\"\"`\n\n|RELP_CONNECTION_TIMEOUT\n|Specifies the time to wait before timing out connection in milliseconds.\n|2500\n|milliseconds (positive integer)\n\n|RELP_TRANSACTION_READ_TIMEOUT\n|Time to wait for destination to acknowledge sent data in milliseconds. Low values may cause duplicates.\n|1500\n|milliseconds (positive integer)\n\n|RELP_TRANSACTION_WRITE_TIMEOUT\n|Time to wait for destination to accept data in milliseconds.\n|1500\n|milliseconds (positive integer)\n\n|RELP_CONNECTION_RETRY_INTERVAL\n|Time to wait between reconnection attempts in milliseconds.\n|500\n|milliseconds (positive integer)\n\n|RELP_CONNECTION_PORT\n|RELP connection destination port\n|601\n|valid destination port\n\n|RELP_CONNECTION_ADDRESS\n|RELP connection destination address\n|localhost\n|valid destination address\n\n|RELP_REBIND_REQUEST_AMOUNT\n|Rebinds the RELP connection after this amount of records is sent,\nprovided that `RELP_REBIND_ENABLED` is set to `true`.\n|100000\n|valid amount of records\n\n|RELP_REBIND_ENABLED\n|Rebinds the RELP connection after `RELP_REBIND_REQUEST_AMOUNT` of records exceeded.\n|`true`\n|`true`, `false`\n\n|RELP_MAX_IDLE_DURATION\n|Reconnects to the RELP server before sending messages if the set duration has passed without sending any messages.\n|`PT2M30S`\n|`java.time.Duration` String representation (`PTnHnMnS`) If `n=0`, it can be omitted.\n\n|RELP_MAX_IDLE_ENABLED\n|Enable reconnections if duration described by `RELP_MAX_IDLE_DURATION` passes without sending any messages.\n|false\n|`true`, `false`\n\n|RELP_CONNECTION_KEEPALIVE\n|Enable sending alive packets to RELP server\n|true\n|`true`, `false`\n\n|SYSLOG_APPNAME\n|Default app name to be used in the resulting syslog messages. May be overridden by a Plugin implementation.\n|aer-02\n|any string\n\n|SYSLOG_HOSTNAME\n|Default hostname to be used in the resulting syslog messages. May be overridden by a Plugin implementation.\n|localhost.localdomain\n|any string\n|===\n\n\n== Contributing\n\n// Change the repository name in the issues link to match with your project's name\n\nYou can involve yourself with our project by https://github.com/teragrep/aer_02/issues/new/choose[opening an issue] or submitting a pull request.\n\nContribution requirements:\n\n. *All changes must be accompanied by a new or changed test.* If you think testing is not required in your pull request, include a sufficient explanation as why you think so.\n. Security checks must pass\n. Pull requests must align with the principles and http://www.extremeprogramming.org/values.html[values] of extreme programming.\n. Pull requests must follow the principles of Object Thinking and Elegant Objects (EO).\n\nRead more in our https://github.com/teragrep/teragrep/blob/main/contributing.adoc[Contributing Guideline].\n\n=== Contributor License Agreement\n\nContributors must sign https://github.com/teragrep/teragrep/blob/main/cla.adoc[Teragrep Contributor License Agreement] before a pull request is accepted to organization's repositories.\n\nYou need to submit the CLA only once. After submitting the CLA you can contribute to all Teragrep's repositories.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteragrep%2Faer_02","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fteragrep%2Faer_02","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteragrep%2Faer_02/lists"}