{"id":21847544,"url":"https://github.com/scribd/elasticache-slowlog-to-datadog","last_synced_at":"2025-04-14T13:33:46.023Z","repository":{"id":66239611,"uuid":"259476856","full_name":"scribd/elasticache-slowlog-to-datadog","owner":"scribd","description":"Use AWS Lambda to collect Elasticache Redis slowlog entries and submit to Datadog","archived":false,"fork":false,"pushed_at":"2024-08-21T15:14:34.000Z","size":333,"stargazers_count":3,"open_issues_count":3,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-28T02:45:38.572Z","etag":null,"topics":["aws-elasticache","aws-lambda","core-infrastructure","datadog","redis"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scribd.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2020-04-27T23:04:00.000Z","updated_at":"2024-08-21T15:14:36.000Z","dependencies_parsed_at":"2023-02-20T16:46:09.926Z","dependency_job_id":null,"html_url":"https://github.com/scribd/elasticache-slowlog-to-datadog","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scribd%2Felasticache-slowlog-to-datadog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scribd%2Felasticache-slowlog-to-datadog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scribd%2Felasticache-slowlog-to-datadog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scribd%2Felasticache-slowlog-to-datadog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scribd","download_url":"https://codeload.github.com/scribd/elasticache-slowlog-to-datadog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248888951,"owners_count":21178136,"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":["aws-elasticache","aws-lambda","core-infrastructure","datadog","redis"],"created_at":"2024-11-27T23:18:31.895Z","updated_at":"2025-04-14T13:33:45.978Z","avatar_url":"https://github.com/scribd.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# elasticache-slowlog-to-datadog\n\nThis AWS Lambda function connects to an AWS Elasticache instance running in redis mode,\nand submits slowlog entry metrics to a Datadog account. \n\n![Rspec and Release](https://github.com/scribd/elasticache-slowlog-to-datadog/workflows/Rspec%20and%20Release/badge.svg)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n\n\n![Example Datadog timeboard](images/elasticache-slowlog-to-datadog.png)\n\n# lambda_function.rb\n\n## Usage\n\nThis lambda function was built and tested with the `ruby-3.3` runtime.\n\nDeploy the \"Full zip distribution\" from the [releases pages](https://github.com/scribd/elasticache-slowlog-to-datadog/releases) to AWS lambda\n\n### Parameters\n\nThe following parameters need to be supplied to the lambda function. \n\nEnvironment Variable | Type   | Description                                                   | Required | Default\n---------------------|--------|---------------------------------------------------------------|----------|---------\nREDIS_HOST           | string | FQDN or URI of the elasticache redis endpoint                 | yes      | -\nDATADOG_API_KEY      | string | Datadog API Key                                               | no       | -\nDATADOG_APP_KEY      | string | Datadog API Key                                               | no       | -\nNAMESPACE            | string | \"namespace\" tag to apply to Datadog metric                    | yes      | -\nENV                  | string | \"env\" tag to apply to the Datadog metric                      | yes      | -\nMETRICNAME           | string | Metric name to use                                            | no       | 'elasticache.slowlog'\nSSM_PATH             | string | SSM Path where Datadog API Key and Datadog App key are stored | no       | -\n\n*note: either DATADOG_API_KEY and DATADOG_APP_KEY must be set environment variables or passed in from SSM.*\n\n### Terraform\n\nSee https://github.com/scribd/terraform-elasticache-slowlog-to-datadog/blob/master/main.tf for a reference\nimplementation in Terraform. \n\n\n# inject_slow_query.rb\n\nThis script is used to inject arbitrary slow queries into a target redis instance. \n\nDO NOT use this script in production environments, as it will CPU thrash the target instance.\n\n### Parameters\n\nEnvironment Variable | Type   | Description                                                   | Required | Default\n---------------------|--------|---------------------------------------------------------------|----------|---------\nREDIS_HOST           | string | FQDN or URI of the elasticache redis endpoint                 | yes      | -\n\n\n# Requirements\n\nTo use *elasticache-slowlog-to-datadog* you need:\n\n- An AWS account with an Elasticache instance running the `redis5.0+` engine.\n- A Datadog account\n\n# Development\n\nReleases are cut using [semantic-release](https://github.com/semantic-release/semantic-release).\n\nPlease write commit messages following [Angular commit guidelines](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#-git-commit-guidelines)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscribd%2Felasticache-slowlog-to-datadog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscribd%2Felasticache-slowlog-to-datadog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscribd%2Felasticache-slowlog-to-datadog/lists"}