Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Image store configuration example #103

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
64 changes: 50 additions & 14 deletions api.example.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,27 @@ redis:
dbid: 0
# Redis client connection pool size
connection_limit: 512
graphite:
# If true, graphite sender will be enabled.
enabled: true
# If true, runtime stats will be captured and sent to graphite. Note: It takes to call stoptheworld() with configured "graphite.interval" to capture runtime stats (https://golang.org/src/runtime/mstats.go)
runtime_stats: false
# Graphite relay URI, format: ip:port
uri: "graphite-relay:2003"
# Moira metrics prefix. Use 'prefix: {hostname}' to use hostname autoresolver.
prefix: DevOps.moira
# Metrics sending interval
interval: 60s
# Allow reading data from slave replicas
allow_slave_reads: true
# Delete metrics older than this value from Redis
metrics_ttl: 3h
telemetry:
# Common port for all telemetry data: Prometheus scraping, pprof, etc.
listen: ":8091"
pprof:
# If true, pprof will be enabled on common telemetry port.
enabled: false
graphite:
# If true, graphite sender will be enabled.
enabled: true
# If true, runtime stats will be captured and sent to graphite. Note: It takes to call stoptheworld() with configured "graphite.interval" to capture runtime stats (https://golang.org/src/runtime/mstats.go)
runtime_stats: false
# Graphite relay URI, format: ip:port
uri: "graphite-relay:2003"
# Moira metrics prefix. Use 'prefix: {hostname}' to use hostname autoresolver.
prefix: DevOps.moira
# Metrics sending interval
interval: 60s
api:
# Api local network address. Default is ':8081' so api will be available at http://moira.company.com:8081/api
listen: ":8081"
Expand All @@ -39,6 +49,8 @@ web:
- type: mail
label: E-mail
validation: "^.+@.+\\..+$"
- type: msteams
label: Microsoft Teams
- type: pushover
label: Pushover
placeholder: "Pushover user key"
Expand All @@ -48,8 +60,30 @@ web:
placeholder: "Slack #channel or @user"
- type: telegram
label: Telegram
placeholder: "#channel, @username or group"
help: "### To make things work you should:\n### In personal chat:\n - start conversation with bot [@YourMoiraBot](https://t.me/YourMoiraBot);\n - execute command `/start`;\n - type your login in above field as `@login`.\n\n### In group chat:\n - invite bot [@YourMoiraBot](https://t.me/YourMoiraBot) into chat;\n - execute command `/start@YourMoiraBot`;\n - bot will send you chat name, you should type it without extra characters in above field.\n\n### In channel:\n - add bot [@YourMoiraBot](https://t.me/YourMoiraBot) into channel;\n - promote bot as channel administrator;\n - type channel name in above field as `#channel`.\n"
placeholder: "#public_channel, %private_channel, @username or group"
help: |
### To make things work you should:
### In personal chat:
- start conversation with bot [@YourMoiraBot](https://t.me/YourMoiraBot);
- execute command `/start`;
- type your login in above field as `@login`.

### In group chat:
- invite bot [@YourMoiraBot](https://t.me/YourMoiraBot) into chat;
- execute command `/start@YourMoiraBot`;
- bot will send you chat name, you should type it without extra characters in above field.

### In public channel:
- add bot [@YourMoiraBot](https://t.me/YourMoiraBot) into channel;
- promote bot as channel administrator;
- type channel name in above field as `#channel`.

### In private channel:
- add bot [@YourMoiraBot](https://t.me/YourMoiraBot) into the channel;
- promote bot as channel administrator;
- open your private channel on the [web](https://web.telegram.org/#/im);
- get channel id from URL (e.g., `https://web.telegram.org/#/im?p=c1494975744_17340166617136722341`) between `c` and `_`;
- type channel id in the above field as `%1494975744`.
- type: twilio sms
label: Twilio SMS
validation: "^\\+79\\d{9}$"
Expand Down Expand Up @@ -92,5 +126,7 @@ remote:
# Min period to perform triggers re-check.
# Note: Reducing of this value leads to increasing of CPU and memory usage values and extra load on Graphite HTTP API
check_interval: 60s
# Don't fetch metrics older than this value from remote storage
metrics_ttl: 168h
# Maximum timeout for HTTP-request made to Graphite HTTP API
timeout: 60s
timeout: 60s
36 changes: 23 additions & 13 deletions checker.example.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,27 @@ redis:
dbid: 0
# Redis client connection pool size
connection_limit: 512
graphite:
# If true, graphite sender will be enabled.
enabled: true
# If true, runtime stats will be captured and sent to graphite. Note: It takes to call stoptheworld() with configured "graphite.interval" to capture runtime stats (https://golang.org/src/runtime/mstats.go)
runtime_stats: false
# Graphite relay URI, format: ip:port
uri: "graphite-relay:2003"
# Moira metrics prefix. Use 'prefix: {hostname}' to use hostname autoresolver.
prefix: DevOps.moira
# Metrics sending interval
interval: 60s
# Allow reading data from slave replicas
allow_slave_reads: true
# Delete metrics older than this value from Redis
metrics_ttl: 3h
telemetry:
# Common port for all telemetry data: Prometheus scraping, pprof, etc.
listen: ":8091"
pprof:
# If true, pprof will be enabled on common telemetry port.
enabled: false
graphite:
# If true, graphite sender will be enabled.
enabled: true
# If true, runtime stats will be captured and sent to graphite. Note: It takes to call stoptheworld() with configured "graphite.interval" to capture runtime stats (https://golang.org/src/runtime/mstats.go)
runtime_stats: false
# Graphite relay URI, format: ip:port
uri: "graphite-relay:2003"
# Moira metrics prefix. Use 'prefix: {hostname}' to use hostname autoresolver.
prefix: DevOps.moira
# Metrics sending interval
interval: 60s
checker:
# Period for every trigger to perform forced check on
nodata_check_interval: 60s
Expand All @@ -34,8 +44,6 @@ checker:
# You can change this behaviour using option below. This can reduce CPU usage on your server.
# Lazy triggers checker works if lazy_triggers_check_interval > check_interval. We recommend setting it to 10m.
lazy_triggers_check_interval: 10m
# Time interval to store metrics. Note: Increasing of this value leads to increasing of Redis memory consumption value
metrics_ttl: 3h
# Period for every trigger to cancel forced check (greater than 'NoDataCheckInterval') if no metrics were received
stop_checking_interval: 30s
# Equals to the number of processor cores found on Moira host by default or when variable is defined as 0.
Expand All @@ -57,6 +65,8 @@ remote:
# Min period to perform triggers re-check.
# Note: Reducing of this value leads to increasing of CPU and memory usage values and extra load on Graphite HTTP API
check_interval: 60s
# Don't fetch metrics older than this value from remote storage
metrics_ttl: 168h
# Maximum timeout for HTTP-request made to Graphite HTTP API
timeout: 60s
log:
Expand Down
34 changes: 23 additions & 11 deletions filter.example.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,27 @@ redis:
dbid: 0
# Redis client connection pool size
connection_limit: 512
graphite:
# If true, graphite sender will be enabled.
enabled: true
# If true, runtime stats will be captured and sent to graphite. Note: It takes to call stoptheworld() with configured "graphite.interval" to capture runtime stats (https://golang.org/src/runtime/mstats.go)
runtime_stats: false
# Graphite relay URI, format: ip:port
uri: "graphite-relay:2003"
# Moira metrics prefix. Use 'prefix: {hostname}' to use hostname autoresolver.
prefix: DevOps.moira
# Metrics sending interval
interval: 60s
# Allow reading data from slave replicas
allow_slave_reads: true
# Delete metrics older than this value from Redis
metrics_ttl: 3h
telemetry:
# Common port for all telemetry data: Prometheus scraping, pprof, etc.
listen: ":8091"
pprof:
# If true, pprof will be enabled on common telemetry port.
enabled: false
graphite:
# If true, graphite sender will be enabled.
enabled: true
# If true, runtime stats will be captured and sent to graphite. Note: It takes to call stoptheworld() with configured "graphite.interval" to capture runtime stats (https://golang.org/src/runtime/mstats.go)
runtime_stats: false
# Graphite relay URI, format: ip:port
uri: "graphite-relay:2003"
# Moira metrics prefix. Use 'prefix: {hostname}' to use hostname autoresolver.
prefix: DevOps.moira
# Metrics sending interval
interval: 60s
filter:
# Metrics listener uri
listen: ":2003"
Expand All @@ -37,6 +47,8 @@ filter:
# Defines number of threads to match incoming graphite-metrics.
# Equals to the number of processor cores found on Moira host by default or when variable is defined as 0.
max_parallel_matches: 0
# Period in which patterns will be reloaded from Redis
patterns_update_period: 1s
log:
log_file: stdout
log_level: info
48 changes: 36 additions & 12 deletions notifier.example.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,34 @@ redis:
dbid: 0
# Redis client connection pool size
connection_limit: 512
graphite:
# If true, graphite sender will be enabled.
enabled: true
# If true, runtime stats will be captured and sent to graphite. Note: It takes to call stoptheworld() with configured "graphite.interval" to capture runtime stats (https://golang.org/src/runtime/mstats.go)
runtime_stats: false
# Graphite relay URI, format: ip:port
uri: "graphite-relay:2003"
# Moira metrics prefix. Use 'prefix: {hostname}' to use hostname autoresolver.
prefix: DevOps.moira
# Metrics sending interval
interval: 60s
# Allow reading data from slave replicas
allow_slave_reads: true
# Delete metrics older than this value from Redis
metrics_ttl: 3h
telemetry:
# Common port for all telemetry data: Prometheus scraping, pprof, etc.
listen: ":8091"
pprof:
# If true, pprof will be enabled on common telemetry port.
enabled: false
graphite:
# If true, graphite sender will be enabled.
enabled: true
# If true, runtime stats will be captured and sent to graphite. Note: It takes to call stoptheworld() with configured "graphite.interval" to capture runtime stats (https://golang.org/src/runtime/mstats.go)
runtime_stats: false
# Graphite relay URI, format: ip:port
uri: "graphite-relay:2003"
# Moira metrics prefix. Use 'prefix: {hostname}' to use hostname autoresolver.
prefix: DevOps.moira
# Metrics sending interval
interval: 60s
image_store:
# AWS S3 bucket to store images
s3:
access_key_id: "myaccesskeyid"
access_key: "myaccesskey"
region: "eu-central-1"
bucket: "moira"
notifier:
# Soft timeout to start retrying to send notification after single failed attempt
sender_timeout: 10s
Expand All @@ -38,6 +55,9 @@ notifier:
# List of senders, every element has "type" field (one of ["pushover", "slack", "mail", "telegram", "twilio sms", "twilio voice", "script"])
# Every type of sender has additional config fields
senders:
- type: msteams
#the max amount of events you want to be sent to your channel, -1 for unlimited, any other positive value to limit events
max_events: -1
- type: pushover
# Api token for your pushover channel, for more info see https://pushover.net/api#registration
api_token: ...
Expand Down Expand Up @@ -90,6 +110,8 @@ notifier:
user: ...
password: ...
- type: pagerduty
# Configured image storage to store plots images
image_store: "s3"
- type: opsgenie
api_key: ...
- type: victorops
Expand Down Expand Up @@ -134,5 +156,7 @@ remote:
# Min period to perform triggers re-check.
# Note: Reducing of this value leads to increasing of CPU and memory usage values and extra load on Graphite HTTP API
check_interval: 60s
# Don't fetch metrics older than this value from remote storage
metrics_ttl: 168h
# Maximum timeout for HTTP-request made to Graphite HTTP API
timeout: 60s
timeout: 60s
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Pillow
Sphinx<=1.6.7
Sphinx==1.8.5
sphinx-rtd-theme
sphinxcontrib-httpdomain
sphinxcontrib-images
Expand Down
Binary file modified source/_static/web-ui-example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,9 @@
# built documents.
#
# The short X.Y version.
version = '2.5'
version = '2.6'
# The full version, including alpha/beta/rc tags.
release = '2.5.1'
release = '2.6.0'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
2 changes: 1 addition & 1 deletion source/installation/configuration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ Web contact fields:

.. image:: ../_static/web-ui-example.png
:alt: WEB UI example
:width: 596
:width: 575

Remote API
----------
Expand Down