stuart_go_carbon
Ansible Роль для go-carbon
Эта роль установит и настроит go-carbon, реализацию сервера Graphite/Carbon на языке Golang.
Требования
Эта роль будет заниматься только установкой компонента carbon. Вам нужно будет отключить оригинальную программу Carbon в стандартной установке Graphite.
Переменные роли
Вся конфигурация go-carbon автоматически генерируется на основе значений трех словарей:
go_carbon_conf:
common:
user: "carbon"
max-cpu: 4
whisper:
data-dir: "/var/lib/graphite/whisper"
go_carbon_storage_schemas:
default:
pattern: ".*"
retentions: "60s:30d,1h:5y"
go_carbon_storage_aggregation_rules:
default:
pattern: ".*"
xFilesFactor: 0.5
aggregationMethod: "average"
Первый уровень создаст [section]
в соответствующем файле, а все остальные ключи/значения создадут записи ключ/значение в этом разделе.
Есть лишь одно заметное исключение в go_carbon_conf
, а именно logging
. Поскольку go-carbon поддерживает несколько журналов, вы можете определить несколько записей следующим образом:
go_carbon_conf:
logging:
- logger: ""
file: "/var/log/go-carbon/go-carbon.log"
level: "info"
encoding: "mixed"
encoding-time: "iso8601"
encoding-duration: "seconds"
## вы можете добавить больше журналов здесь, они будут появляться как [[logging]] секции
# - logger: ""
# file: "stderr"
# level: "error"
Обратите внимание: значения по умолчанию находятся в vars/main.yml
под go_carbon_conf_defaults
, но вы должны переопределить их с помощью словаря go_carbon_conf
.
Зависимости
Дополнительные зависимости отсутствуют.
Пример плейбука
Это установит go-carbon и настроит его конфигурацию, создавая необходимые директории:
- hosts: servers
roles:
- { role: stuart.go-carbon,
vars: {
go_carbon_conf:
common:
user: "graphite"
max-cpu: 2
whisper:
data-dir: "/var/local/whisper"
cache:
max-size: 2500000
go_carbon_storage_schemas:
default:
pattern: ".*"
retentions: "60s:30d,1h:5y"
go_carbon_storage_aggregation_rules:
default:
pattern: ".*"
xFilesFactor: 0.5
aggregationMethod: "average"
}
}
Лицензия
GPLv3
Информация об авторе
Эта роль была первоначально создана Давидом Феррари во время работы в Stuart. Если вам нравится то, что мы делаем, дайте знать! Мы нанимаем!
ansible-galaxy install StuartApp/stuart.go-carbon