Permalink
Switch branches/tags
Find file
Fetching contributors…
Cannot retrieve contributors at this time
365 lines (302 sloc) 10.1 KB
# For more information see: https://github.com/Netflix/edda/wiki/Configuration
#
# $collection in later options can be subsituted with one of the following
# collection names:
#
# aws.addresses
# aws.alarms
# aws.autoScalingGroups
# aws.buckets
# aws.cacheClusters
# aws.databases
# aws.hostedRecords
# aws.hostedZones
# aws.iamGroups
# aws.iamRoles
# aws.iamPolicies
# aws.iamUsers
# aws.iamVirtualMFADevices
# aws.images
# aws.instances
# aws.launchConfigurations
# aws.loadBalancers
# aws.reservedInstances
# aws.scalingPolicies
# aws.securityGroups
# aws.snapshots
# aws.stacks
# aws.subnets
# aws.tags
# aws.volumes
# group.autoScalingGroups
# view.instances
# view.loadBalancerInstances
# view.simpleQueues
#######################################################################
#
# General Options
#
#######################################################################
#
# Set if this instance will be polling multiple accounts
# value can be comma separated, each value can be substituted
# for $account in later options
#
# edda.accounts=
#
# Set the region for the AWS endpoints
#
#
edda.region=us-west-1
#
# Set a region for a specific account
#
# edda.$account.region=us-east-1
#######################################################################
#
# AWS Options
#
#######################################################################
#
# Set aws access keys, leave unset to use the default aws credential provider chain
#
# edda.aws.accessKey=
# edda.aws.secretKey=
#
# Set aws keys per account
#
# edda.$account.aws.accessKey=
# edda.$account.aws.secretKey=
#######################################################################
#
# Collection Options
#
#######################################################################
#
# how frequently should the Secondary Edda servers refresh the in-memory cache
# value is in milliseconds
#
edda.collection.cache.refresh=30000
#
# the cache refresh rates per account/collection
#
# edda.collection.$account.$collection.cache.refresh=30000
#
# How frequently should the Primary Edda server crawl the resources
# for updates. The value is in milliseconds
#
# Rate can also be specified by collection, account, or both:
# edda.collection.$account.refresh=120000
# edda.collection.$collection.refresh=120000
# edda.collection.$account.$collection.refresh=120000
#
edda.collection.refresh=120000
#refresh cloudformation data every hour by default
edda.collection.aws.stacks.refresh=3600000
#
# Set crawl rate per collection
#
# edda.collection.$account.$collection.refresh=60000
#
# Stagger the collection load from the datastore so that
# we dont hammer the datastore on startup
#
edda.collection.jitter.enabled=false
#
# enable/disable a collection. Value is boolean
#
# edda.collection.$account.$collection.enabled=false
#
# Edda can automatically truncate old records from your backend data store
#
# Like other collections this setting can be specific to a collection,
# account, or both.
#
# There are three supported purge policies for record retention:
# NONE => Keep Forever (Default)
# LIVE => Only keep current records (mimics the AWS API)
# AGE;expiry=N => Remove records after expiry in milliseconds (N)
#
# edda.collection.purgeFrequency=86400000 # 24 hours in ms
# edda.collection.purgePolicy=AGE;expiry=2678400000 # 31 days in ms
#######################################################################
#
# Crawler Options
#
#######################################################################
#
# Field patterns to serialize to JSON when converting a Java Bean to a JSON document
#
edda.bean.argPattern=[^a-zA-Z0-9_]
#
# List of tags (comma seperated) to suppress the values
# of when crawling AWS resources. This is for tags where
# the value is constantly changing (ie timestamps)
#
# edda.crawler.aws.suppressTags=myTag
#
# sometimes AWS does not return tags. If tags are actively used on your
# collections this will cause false document revisions as the tags come and go
# from the crawled AWS result. Enable this boolean option to
# cause Edda to ignore crawl results that do not contain tags
#
# edda.crawler.$account.$collection.abortWithoutTags=true
#
# edda can automatically throttle AWS API access if it hits the account limit.
# when AWS returns a throttling/limit error an internal counter is activated
# and begans delaying requests by the throttle delay (in milliseconds).
#
# edda.crawler.throttle.enabled=false
# edda.crawler.throttle.delay=200
#
# if AWS continues to throw limit errors after the throttling is activated
# the delay will be increased until a maximum number of attempts is reached,
# after which the run will be aborted and an exception will appear in the logs
#
# if the multiplier is 225 and the delay is 200 each request will wait
# 200*225 milliseconds, or 45 seconds before hitting the API
#
# edda.crawler.throttle.maxDelayMultiplier=225
#
# if you have other applications using the AWS API and want to avoid
# hitting the API request limit edda can pace its requests by delaying
# each call and/or randomizing a delay in ms (jitter) on every call. these
# options can be combined and should be tuned carefully.
#
# the default behavior is to hit the API as quickly as possible on each crawl.
# values are in milliseconds.
#
# throttling will increase this number, so setting a request delay of 5000
# and using the default throttle settings would result in a maximum wait time
# of (5000+(200*225)) milliseconds or 50 seconds per request when the API
# limit is reached
#
# edda.crawler.requestDelay=0
#
# edda.crawler.jitter.enabled=false
# edda.crawler.jitter.max=2000
#
# enable/disable a crawler for a collection. Rarely used, you should
# probably disable the collection instead of the crawler.
#
# edda.crawler.$account.$collection.enabled=false
#######################################################################
#
# Elector Options
#
#######################################################################
#
# how frequently should leadership elections happen.
# value is in milliseconds.
#
edda.elector.refresh=10000
#
# name of the mongoDB collection where leadership elections are run and
# the results stored.
#
edda.elector.mongo.collectionName=sys.monitor
#
# timeout value to impeach current leader if they have been idle.
# the value is in milliseconds.
#
edda.elector.mongo.leaderTimeout=30000
#
# environment variable to use to determine unique id for this host
# to be used for leadership elections
#
edda.elector.mongo.uniqueEnvName=EC2_INSTANCE_ID
#######################################################################
#
# MongoDB Options
#
#######################################################################
edda.datastore.current.class=com.netflix.edda.mongo.MongoDatastore
edda.elector.class=com.netflix.edda.mongo.MongoElector
#
# host:port for where mongoDB is running. If using a replication Set this value
# can be a comma seperated list of all the members of the set.
#
edda.mongo.address=127.0.0.1:27017
#
# name of the mongoDB database where Edda will store the results
#
edda.mongo.database=edda
#
# username and password for how to connect to MongoDB is required.
#
edda.mongo.user=
edda.mongo.password=
#
# set MongoDB data per account or even per collection
#
# edda.$account.mongo.address=
# edda.$account.mongo.user=
# edda.$account.mongo.password=
#
# edda.$account.$collection.mongo.address=
# edda.$account.$collection.mongo.user=
# edda.$account.$collection.mongo.password=
#######################################################################
#
# ElasticSearch Datastore Options
#
#######################################################################
# edda.datastore.current.class=com.netflix.edda.elasticsearch.ElasticSearchDatastore
# edda.elector.class=com.netflix.edda.elasticsearch.ElasticSearchElector
edda.elasticsearch.cluster=elasticsearch
edda.elasticsearch.address=127.0.0.1:9300
# how many shards per index, edda uses 1 index per account
edda.elasticsearch.shards=5
# replicas how many duplicate copies for each shard
edda.elasticsearch.replicas=0
# http://www.elasticsearch.org/guide/reference/api/index_/
# writeConsistency = one|quorum|all
edda.elasticsearch.writeConsistency=quorum
# replicationType = async|sync
edda.elasticsearch.replicationType=async
# how many records to read per shard when scanning
edda.elasticsearch.scanBatchSize=1000
# how long the scan cursors last
edda.elasticsearch.scanCursorDuration=60000
# for bulk updates, how many records per batch, 0 means all records (1 batch)
edda.elasticsearch.bulkBatchSize=0
#######################################################################
#
# S3Current Datastore Options
#
#######################################################################
# S3Current Datastore writes active records to S3 and uses DynamoDB
# for transactional consistency.
# edda.datastore.current.class=com.netflix.edda.aws.S3CurrentDatastore
# the account details to use for aws authenticaion
edda.s3current.account=
edda.s3current.table=edda-s3current-collection-index-dev
# dynamodb read capacity: this should rougly be 10 * (instances in edda cluster)
edda.s3current.readCapacity=10
# dynamodb write capacity
edda.s3current.writeCapacity=1
# S3 bucket to write collection data
edda.s3current.bucket=my-bucket
# Path in S3 bucket to write collection data
edda.s3current.locationPrefix=edda/s3current/dev
#######################################################################
#
# DynamoDB Elector Options
#
#######################################################################
# use DynamoDB write consistency to determine leadership
# edda.elector.class=com.neflix.edda.aws.DynamoDBElector
# the account details to use for aws authenticaion
edda.elector.dynamodb.account=
# how long to give unresponsive leader before assuming it is no longer active
edda.elector.dynamodb.leaderTimeout=60000
edda.elector.dynamodb.tableName=edda-leader
edda.elector.dynamodb.readCapacity=5
edda.elector.dynamodb.writeCapacity=1
#######################################################################
#
# File Elector Options
#
#######################################################################
# simple elector for testing. If /tmp/eddaLeader exists then it is leader
# edda.elector.class=com.netflix.edda.FileElector