Skip to content
This repository was archived by the owner on Feb 12, 2026. It is now read-only.

terakoya76/modd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

275 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

modd

test Coverage Status

monitor of datadog monitors

modd uniformly targets the resources belonging to the metrics monitored by Datadog monitors, and detects their leakage.

How to use

# Filters out monitors with arbitrary metrics name prefixes.
$ ./modd | jq '.Monitors[] | select(.Name | contains("aws.rds"))'
{
  "Name": "aws.rds.burst_balance",
  "NotMonitored": [
    "test-db-1",
    "test-db-2"
  ]
}
{
  "Name": "aws.rds.disk_queue_depth",
  "NotMonitored": [
    "test-db-1",
    "test-db-2"
  ]
}
{
  "Name": "aws.rds.total_storage_space",
  "NotMonitored": [
    "test-db-1",
    "test-db-2"
  ]
}
{
  "Name": "aws.rds.database_connections",
  "NotMonitored": [
    "test-db-1",
    "test-db-2"
  ]
}
{
  "Name": "aws.rds.free_storage_space",
  "NotMonitored": [
    "test-db-1",
    "test-db-2"
  ]
}
{
  "Name": "aws.rds.cpuutilization",
  "NotMonitored": [
    "test-db-1",
    "test-db-2"
  ]
}
{
  "Name": "aws.rds.replica_lag",
  "NotMonitored": [
    "test-db-1",
    "test-db-2"
  ]
}

Requirements

To run modd, datadog API/App keys environment variables are required.

export DD_CLIENT_API_KEY=xxxx
export DD_CLIENT_APP_KEY=yyyy

Also, permissions to get resources that should be monitored are required.

# for AWS
aws sts get-caller-identity
{
    "UserId": "xxxxxx:yyyyyy@example.com",
    "Account": "zzzzzz",
    "Arn": "arn:aws:sts::zzzzzz:assumed-role/my-role/xxxxxx:yyyyyy@example.com"
}

Tag Matcher Configuration

In some cases, it is necessary to control in detail whether a resource that belongs to a metric is a resource that should be monitored or not. For example, the metrics of aws rds are different by db engine.

In this case, it can be controlled by setting up rules for matching monitor tags with resource tags from environment variables.

export AWS_RDS_AWS_TAG_KEY=dbengine
export AWS_RDS_DATADOG_TAG_KEY=dbengine

Supported Integration

AWS

  • API Gateway
  • AutoScalingGroup
  • DynamoDB
  • Elasticache
  • ELB (CLB, ALB, NLB)
  • Firehose
  • Kinesis
  • OpenSearch Service
  • RDS
  • SNS
  • StepFunction
  • SQS

About

monitor of datadog monitors

Topics

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Packages

 
 
 

Contributors