84 lines
4.2 KiB
Markdown
84 lines
4.2 KiB
Markdown
# DataDog Monitors #
|
|
|
|
This repository is used to store all our monitors templates.
|
|
|
|
Here is the repository organization :
|
|
|
|
- cloud
|
|
- aws
|
|
- [alb](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/aws/alb/)
|
|
- [apigateway](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/aws/apigateway/)
|
|
- [elasticsearch](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/aws/elasticsearch/)
|
|
- [elb](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/aws/elb/)
|
|
- [kinesis-firehose](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/aws/kinesis-firehose/)
|
|
- [rds](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/aws/rds/)
|
|
- [vpn](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/aws/vpn/)
|
|
- azure
|
|
- [apimanagement](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/azure/apimanagement)
|
|
- [app-services](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/azure/app-services/r)
|
|
- [eventhub](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/azure/eventhub/)
|
|
- [iothubs](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/azure/iothubs/)
|
|
- [redis](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/azure/redis/)
|
|
- [sql-database](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/azure/sql-database/)
|
|
- [storage](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/azure/storage/)
|
|
- [stream-analytics](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/azure/stream-analytics/)
|
|
- common
|
|
- alerting-message
|
|
- databases
|
|
- [mongodb](https://bitbucket.org/morea/terraform.feature.datadog/src/master/databases/mongodb/)
|
|
- datadog-samples
|
|
- incubator
|
|
- middleware
|
|
- [apache](https://bitbucket.org/morea/terraform.feature.datadog/src/master/middleware/apache/)
|
|
- [nginx](https://bitbucket.org/morea/terraform.feature.datadog/src/master/middleware/nginx/)
|
|
- [php-fpm](https://bitbucket.org/morea/terraform.feature.datadog/src/master/middleware/php-fpm/)
|
|
- system
|
|
- [generic](https://bitbucket.org/morea/terraform.feature.datadog/src/master/system/generic/)
|
|
|
|
|
|
### How to contribute ? ###
|
|
|
|
First, you may refresh your knowledge and look at the [terminalogy](https://confluence.fr.clara.net/display/DAT/Getting+started)
|
|
|
|
If you want to report an issue please be sure to follow this page : [How to report an issue](https://confluence.fr.clara.net/display/DAT/Project+and+Workflow)
|
|
|
|
It explains the different stages of a request, from the `Backlog` to the `Merged`.
|
|
|
|
If you want to contribute to any request, you must follow our [best practices](https://confluence.fr.clara.net/display/DAT/Templates+monitors).
|
|
|
|
### Important notes ###
|
|
|
|
* Each folder can be import as a feature on terraform, you must choose the one that you need.
|
|
* Each of these features contains the most commons monitors, but they probably not fulfill all your customer needs
|
|
* You still can create some DataDog monitors after importing a feature, it's even advisable to complete your needs
|
|
* You will find a complete `README.md` on each feature, explaining the feature's workaround
|
|
* The `alerting-message` module defines the alert channel and must be included in each configuration, you have to define it (Pager, Slack...)
|
|
|
|
### The DataDog provider ###
|
|
|
|
Before importing some features, you must define the DataDog provider in your `main.tf`
|
|
|
|
```
|
|
provider "datadog" {
|
|
api_key = "${var.datadog_api_key}"
|
|
app_key = "${var.datadog_app_key}"
|
|
}
|
|
```
|
|
|
|
Both of the `datadog_api_key` and `datadog_app_key` are unique to the client.
|
|
|
|
### Module Declaration example ###
|
|
|
|
A quick example to how import the monitors that you need :
|
|
|
|
```
|
|
module "datadog-monitors-feature" {
|
|
source = "git::ssh://git@bitbucket.org/morea/terraform.feature.datadog.git/{monitors_feature_path}?ref={revision}"
|
|
|
|
environment = "${var.environment}"
|
|
message = "${module.datadog-message-alerting.alerting-message}"
|
|
}
|
|
```
|
|
|
|
`{monitors_feature_path}` could be defined as `/cloud/aws/elb` for example.
|