This repository has been archived by the owner on Sep 2, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 79
/
cyanite.yaml
148 lines (148 loc) · 3.6 KB
/
cyanite.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
##
## Cyanite configuration
## =====================
##
## Cyanite's configuration is broken up in
## different sections:
##
## - engine
## - api
## - input
## - index
## - store
## - logging
##
## Most sections are optional but provide defaults
## for a single host testing system
##
## Engine
## ======
##
## The engine specifies the behavior of Cyanite's core
## which accepts metrics from inputs, aggregates in-memory
## and defers to an index and a store when a time-window
## elapses
##
## The engine accepts the following options:
##
## *rules*:
## Rules specifies which resolutions to apply to an incoming metric.
## Rules consist of a pattern or the string "default" and an associated
## list of resolutions.
## Rules are evaluated in a first-match order. Resolutions are stored as a
## string of the form: <precision>:<period>, you may use unit specifiers
## for seconds, minutes, hours, days, weeks and months and years.
engine:
rules:
"web.*\\.cpu": [ "5s:1h", "30s:1d" ]
default: [ "5s:1h" ]
##
## API
## ===
##
## The API specifies the behavior of the HTTP interface which is exposed.
## The API accepts the following options:
##
## *host*:
## Address to listen on, defaults to 127.0.0.1
## *port*:
## Port to bind to, defaults to 8080
## *disabled:
## Disable HTTP service altogether, defaults to false.
api:
port: 8080
##
## Input
## ====
##
## Inputs are methods for Cyanite to ingest metrics. A Cyanite installation
## may have several inputs running, and thus accepts a list of input
## configurations.
##
## Each input configuration takes the following options:
##
## *type*:
## Type of input, for now only "carbon"
## *host*:
## Address to bind to.
## *port*:
## Port to bind to.
input:
- type: carbon
port: 2003
##
## Index
## =====
##
## The index determines where metric names will be stored.
## Two types of indices are available now: "atom" and
## "cassandra". If no index section is present,
## An in-memory (atom) index will be assumed. Atom index
## is not suitable for production usage.
##
## The atom index takes no options.
## The cassandra index takes the following options:
##
## *cluster*:
## A string or list of strings to provide cluster contact points.
## *keyspace*:
## The keyspace to use.
## *with_tokenizer*:
## Whether or not Cyanite custom tokeniser is enabled on Cassandra nodes.
##
## Indexes support artifical paths. For each metric, Cyanite
## calculates `min`, `max`, `mean` and `sum` metrics. By default,
## `mean` is returned. If you need access to the other aggregates,
## enable them in `aggregates`.
index:
type: atom
aggregates:
- min
- max
- mean
- sum
##
## Drift
## =====
##
## Detects the drift on the agent clock and ensures
## that the snapshot epoch is calculated correctly
## despite the time difference between the agent
## and the calculating machine.
##
## Default implementation is `agent`.
## If you trust your clocks and/or would like to
## avoid drift handling on Cyanite side, you
## can opt-out for `no-op` one.
drift:
type: agent
##
## Store
## =====
##
## The store is where metrics get persisted.
## The only store available for now is the "cassandra"
## one.
##
## The following options are accepted:
##
## *cluster*:
## A string or list of strings to provide cluster contact points.
## *keyspace*:
## The keyspace to use.
store:
cluster: 'localhost'
keyspace: 'metric'
##
## Logging
## =======
##
## Specify where to log. Adheres to the configuration format
## defined at https://github.com/pyr/unilog
logging:
level: info
console: true
files:
- "/var/log/cyanite/cyanite.log"
overrides:
io.cyanite: "debug"