Configuration

By default, microservices will look for /etc/moira/<servicename>.yml, but you can change this location by passing your path as a command-line parameter --config.

On this page you can find examples of configuration files for Moira microservices.

Filter

redis:
  host: "moira-redis"
  port: "6379"
  dbid: 0
graphite:
  enabled: true
  uri: "graphite-relay:2003"
  prefix: DevOps.moira
  interval: 60s
filter:
  listen: ":2003"
  retention-config: /etc/moira/storage-schemas.conf
log:
  log_file: stdout
  log_level: info

storage-schemas.conf is graphite carbon configuration file that should match similarly-named file in your Graphite installation.

Checker

redis:
  host: "moira-redis"
  port: "6379"
  dbid: 0
graphite:
  enabled: true
  uri: "graphite-relay:2003"
  prefix: DevOps.moira
  interval: 60s
checker:
  nodata_check_interval: 60s
  check_interval: 10s
  metrics_ttl: 3h
  stop_checking_interval: 30s
log:
  log_file: stdout
  log_level: info

Notifier

redis:
  host: "moira-redis"
  port: "6379"
  dbid: 0
graphite:
  enabled: true
  uri: "graphite-relay:2003"
  prefix: DevOps.moira
  interval: 60s
log:
  log_file: stdout
  log_level: info
notifier:
  sender_timeout: 10s
  resending_timeout: "1:00"
  front_uri: "https://moira.example.com"
  timezone: Europe/Moscow
  senders:
    - type: slack
      api_token: ...
    - type: pushover
      api_token: ...
    - type: telegram
      api_token: ...
  moira_selfstate:
    enabled: true
    redis_disconect_delay: 60s
    last_metric_received_delay: 120s
    last_check_delay: 120s
    notice_interval: 600s
    contacts:
      - type: email
        value: devopsteam@example.com

API

redis:
  host: "moira-redis"
  port: "6379"
  dbid: 0
api:
  listen: ":8081"
  enable_cors: false
  web_config_path: "/etc/moira/web.json"
log:
  log_file: stdout
  log_level: info

UI

{
	"contacts": [
		{"type": "pushover", "validation": "", "img": "pushover.ico"},
		{"type": "slack", "validation": "^[@#].+$", "img": "slack.ico"},
		{"type": "telegram", "validation": "", "img": "telegram.ico", "title": "#channel, @username, group", "help": "required to grant @ExampleMoiraBot admin privileges for channels, or /start command in groups and personal chats"},
	],
  "supportEmail": "devops@example.com"
}