Commit ad8d6a0b by Toby Lawrence

Add a playbook to install Grafana.

parent b797db62
......@@ -15,6 +15,8 @@
gather_facts: True
roles:
- graphite
- grafana
- role: nginx
nginx_sites:
- graphite
- grafana
---
grafana_apt_pkg: grafana
GRAFANA_NGINX_PORT: 80
# Application mode.
grafana_app_mode: "production"
# Data paths.
grafana_paths_data: "/var/lib/grafana"
grafana_paths_logs: "/var/log/grafana"
grafana_paths_plugins: "{{ grafana_paths_data }}/plugins"
grafana_paths:
data: "{{ grafana_paths_data }}"
logs: "{{ grafana_paths_logs }}"
plugins: "{{ grafana_paths_plugins }}"
# Server basics.
grafana_server_protocol: "http"
grafana_server_http_addr: "127.0.0.1"
grafana_server_http_port: 3000
grafana_server_domain: "localhost"
grafana_server_enforce_domain: false
grafana_server_root_url: "%(protocol)s://%(domain)s:%(http_port)s/"
grafana_server_router_logging: false
grafana_server_static_root_path: "public"
grafana_server_enable_gzip: false
grafana_server_cert_file: ""
grafana_server_cert_key: ""
grafana_server:
protocol: "{{ grafana_server_protocol }}"
http_addr: "{{ grafana_server_http_addr }}"
http_port: "{{ grafana_server_http_port }}"
domain: "{{ grafana_server_domain }}"
enforce_domain: "{{ grafana_server_enforce_domain }}"
root_url: "{{ grafana_server_root_url }}"
router_logging: "{{ grafana_server_router_logging }}"
static_root_path: "{{ grafana_server_static_root_path }}"
enable_gzip: "{{ grafana_server_enable_gzip }}"
cert_file: "{{ grafana_server_cert_file }}"
cert_key: "{{ grafana_server_cert_key }}"
# Database.
grafana_database_type: "sqlite3"
grafana_database_host: 127.0.0.1:3306
grafana_database_name: "grafana"
grafana_database_user: "root"
grafana_database_password: ""
grafana_database_ssl_mode: "disable"
grafana_database_ca_cert_path: ""
grafana_database_client_key_path: ""
grafana_database_client_cert_path: ""
grafana_database_server_cert_name: ""
grafana_database_path: "grafana.db"
grafana_database:
type: "{{ grafana_database_type }}"
host: "{{ grafana_database_host }}"
name: "{{ grafana_database_name }}"
user: "{{ grafana_database_user }}"
password: "{{ grafana_database_password }}"
ssl_mode: "{{ grafana_database_ssl_mode }}"
ca_cert_path: "{{ grafana_database_ca_cert_path }}"
client_key_path: "{{ grafana_database_client_key_path }}"
client_cert_path: "{{ grafana_database_client_cert_path }}"
server_cert_name: "{{ grafana_database_server_cert_name }}"
path: "{{ grafana_database_path }}"
# Sessions.
grafana_session_provider: "file"
grafana_session_provider_config: "sessions"
grafana_session_cookie_name: "grafana_sess"
grafana_session_cookie_secure: false
grafana_session_session_life_time: 86400
grafana_session_gc_interval_time: 86400
grafana_session:
provider: "{{ grafana_session_provider }}"
provider_config: "{{ grafana_session_provider_config }}"
cookie_name: "{{ grafana_session_cookie_name }}"
cookie_secure: "{{ grafana_session_cookie_secure }}"
session_life_time: "{{ grafana_session_session_life_time }}"
gc_interval_time: "{{ grafana_session_gc_interval_time }}"
# Analytics.
grafana_analytics_reporting_enabled: false
grafana_analytics_check_for_update: true
grafana_analytics_google_analytics_ua_id: ""
grafana_analytics_google_tag_manager_id: ""
grafana_analytics:
reporting_enabled: "{{ grafana_analytics_reporting_enabled }}"
check_for_update: "{{ grafana_analytics_check_for_update }}"
google_analytics_ua_id: "{{ grafana_analytics_google_analytics_ua_id }}"
google_tag_manager_id: "{{ grafana_analytics_google_tag_manager_id }}"
# Security.
grafana_security_admin_user: "admin"
grafana_security_admin_password: "CHANGEME"
grafana_security_secret_key: "CHANGEME"
grafana_security_login_remember_days: 7
grafana_security_cookie_username: "grafana_user"
grafana_security_cookie_remember_name: "grafana_remember"
grafana_security_disable_gravatar: false
grafana_security_data_source_proxy_whitelist: ""
grafana_security:
admin_user: "{{ grafana_security_admin_user }}"
admin_password: "{{ grafana_security_admin_password }}"
secret_key: "{{ grafana_security_secret_key }}"
login_remember_days: "{{ grafana_security_login_remember_days }}"
cookie_username: "{{ grafana_security_cookie_username }}"
cookie_remember_name: "{{ grafana_security_cookie_remember_name }}"
disable_gravatar: "{{ grafana_security_disable_gravatar }}"
data_source_proxy_whitelist: "{{ grafana_security_data_source_proxy_whitelist }}"
# Snapshots.
grafana_snapshots_external_enabled: false
grafana_snapshots_external_snapshot_url: "https://snapshots-origin.raintank.io"
grafana_snapshots_external_snapshot_name: "Publish to snapshot.raintank.io"
grafana_snapshots_snapshot_remove_expired: true
grafana_snapshots_snapshot_TTL_days: "7"
grafana_snapshots:
external_enabled: "{{ grafana_snapshots_external_enabled }}"
external_snapshot_url: "{{ grafana_snapshots_external_snapshot_url }}"
external_snapshot_name: "{{ grafana_snapshots_external_snapshot_name }}"
snapshot_remove_expired: "{{ grafana_snapshots_snapshot_remove_expired }}"
snapshot_TTL_days: "{{ grafana_snapshots_snapshot_TTL_days }}"
# Users.
grafana_users_allow_sign_up: true
grafana_users_allow_org_create: true
grafana_users_auto_assign_org: true
grafana_users_auto_assign_org_role: "Viewer"
grafana_users_verify_email_enabled: false
grafana_users_login_hint: "email or username"
grafana_users_default_theme: "dark"
grafana_users:
allow_sign_up: "{{ grafana_users_allow_sign_up }}"
allow_org_create: "{{ grafana_users_allow_org_create }}"
auto_assign_org: "{{ grafana_users_auto_assign_org }}"
auto_assign_org_role: "{{ grafana_users_auto_assign_org_role }}"
verify_email_enabled: "{{ grafana_users_verify_email_enabled }}"
login_hint: "{{ grafana_users_login_hint }}"
default_theme: "{{ grafana_users_default_theme }}"
# Authorization.
grafana_auth_disable_login_form: false
grafana_auth:
disable_login_form: "{{ grafana_auth_disable_login_form }}"
# Authorization (anonymous).
grafana_auth__anonymous_enabled: false
grafana_auth__anonymous_org_name: "Main Org."
grafana_auth__anonymous_org_role: "Viewer"
grafana_auth__anonymous:
enabled: "{{ grafana_auth__anonymous_enabled }}"
org_name: "{{ grafana_auth__anonymous_org_name }}"
org_role: "{{ grafana_auth__anonymous_org_role }}"
# Authorization (GitHub).
grafana_auth__github_enabled: false
grafana_auth__github_allow_sign_up: true
grafana_auth__github_client_id: "some_id"
grafana_auth__github_client_secret: "some_secret"
grafana_auth__github_scopes: "user:email"
grafana_auth__github_auth_url: "https://github.com/login/oauth/authorize"
grafana_auth__github_token_url: "https://github.com/login/oauth/access_token"
grafana_auth__github_api_url: "https://api.github.com/user"
grafana_auth__github_team_ids: ""
grafana_auth__github_allowed_organizations: ""
grafana_auth__github:
enabled: "{{ grafana_auth__github_enabled }}"
allow_sign_up: "{{ grafana_auth__github_allow_sign_up }}"
client_id: "{{ grafana_auth__github_client_id }}"
client_secret: "{{ grafana_auth__github_client_secret }}"
scopes: "{{ grafana_auth__github_scopes }}"
auth_url: "{{ grafana_auth__github_auth_url }}"
token_url: "{{ grafana_auth__github_token_url }}"
api_url: "{{ grafana_auth__github_api_url }}"
team_ids: "{{ grafana_auth__github_team_ids }}"
allowed_organizations: "{{ grafana_auth__github_allowed_organizations }}"
# Authorization (Google).
grafana_auth__google_enabled: false
grafana_auth__google_allow_sign_up: true
grafana_auth__google_client_id: "some_client_id"
grafana_auth__google_client_secret: "some_client_secret"
grafana_auth__google_scopes: "https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email"
grafana_auth__google_auth_url: "https://accounts.google.com/o/oauth2/auth"
grafana_auth__google_token_url: "https://accounts.google.com/o/oauth2/token"
grafana_auth__google_api_url: "https://www.googleapis.com/oauth2/v1/userinfo"
grafana_auth__google_allowed_domains: ""
grafana_auth__google_hosted_domain: false
grafana_auth__google:
enabled: "{{ grafana_auth__google_enabled }}"
allow_sign_up: "{{ grafana_auth__google_allow_sign_up }}"
client_id: "{{ grafana_auth__google_client_id }}"
client_secret: "{{ grafana_auth__google_client_secret }}"
scopes: "{{ grafana_auth__google_scopes }}"
auth_url: "{{ grafana_auth__google_auth_url }}"
token_url: "{{ grafana_auth__google_token_url }}"
api_url: "{{ grafana_auth__google_api_url }}"
allowed_domains: "{{ grafana_auth__google_allowed_domains }}"
hosted_domain: "{{ grafana_auth__google_hosted_domain }}"
# Authorization (Grafananet).
grafana_auth__grafananet_enabled: false
grafana_auth__grafananet_allow_sign_up: true
grafana_auth__grafananet_client_id: "some_client_id"
grafana_auth__grafananet_client_secret: "some_client_secret"
grafana_auth__grafananet_scopes: "user:email"
grafana_auth__grafananet_allowed_organizations: ""
grafana_auth__grafananet_hosted_domain: false
grafana_auth__grafananet:
enabled: "{{ grafana_auth__grafananet_enabled }}"
allow_sign_up: "{{ grafana_auth__grafananet_allow_sign_up }}"
client_id: "{{ grafana_auth__grafananet_client_id }}"
client_secret: "{{ grafana_auth__grafananet_client_secret }}"
scopes: "{{ grafana_auth__grafananet_scopes }}"
allowed_organizations: "{{ grafana_auth__grafananet_allowed_organizations }}"
# Authorization (generic OAuth).
grafana_auth__generic_oauth_enabled: false
grafana_auth__generic_oauth_allow_sign_up: true
grafana_auth__generic_oauth_client_id: "some_id"
grafana_auth__generic_oauth_client_secret: "some_secret"
grafana_auth__generic_oauth_scopes: "user:email"
grafana_auth__generic_oauth_auth_url: ""
grafana_auth__generic_oauth_token_url: ""
grafana_auth__generic_oauth_api_url: ""
grafana_auth__generic_oauth_team_ids: ""
grafana_auth__generic_oauth_allowed_organizations: ""
grafana_auth__generic_oauth:
enabled: "{{ grafana_auth__generic_oauth_enabled }}"
allow_sign_up: "{{ grafana_auth__generic_oauth_allow_sign_up }}"
client_id: "{{ grafana_auth__generic_oauth_client_id }}"
client_secret: "{{ grafana_auth__generic_oauth_client_secret }}"
scopes: "{{ grafana_auth__generic_oauth_scopes }}"
auth_url: "{{ grafana_auth__generic_oauth_auth_url }}"
token_url: "{{ grafana_auth__generic_oauth_token_url }}"
api_url: "{{ grafana_auth__generic_oauth_api_url }}"
team_ids: "{{ grafana_auth__generic_oauth_team_ids }}"
allowed_organizations: "{{ grafana_auth__generic_oauth_allowed_organizations }}"
# Authorization (basic).
grafana_auth__basic_enabled: false
grafana_auth__basic:
enabled: "{{ grafana_auth__basic_enabled }}"
# Authorization (proxy).
grafana_auth__proxy_enabled: false
grafana_auth__proxy_header_name: "X-Forwarded-User"
grafana_auth__proxy_header_property: "username"
grafana_auth__proxy_auto_sign_up: true
grafana_auth__proxy_ldap_sync_ttl: "60"
grafana_auth__proxy_whitelist: ""
grafana_auth__proxy:
enabled: "{{ grafana_auth__proxy_enabled }}"
header_name: "{{ grafana_auth__proxy_header_name }}"
header_property: "{{ grafana_auth__proxy_header_property }}"
auto_sign_up: "{{ grafana_auth__proxy_auto_sign_up }}"
ldap_sync_ttl: "{{ grafana_auth__proxy_ldap_sync_ttl }}"
whitelist: "{{ grafana_auth__proxy_whitelist }}"
# Authorization (LDAP).
grafana_auth__ldap_enabled: false
grafana_auth__ldap_config_file: "/etc/grafana/ldap.toml"
grafana_auth__ldap_auto_sign_up: true
grafana_auth__ldap:
enabled: "{{ grafana_auth__ldap_enabled }}"
config_file: "{{ grafana_auth__ldap_config_file }}"
auto_sign_up: "{{ grafana_auth__ldap_auto_sign_up }}"
# SMTP.
grafana_smtp_enabled: false
grafana_smtp_host: "X-Forwarded-User"
grafana_smtp_user: "username"
grafana_smtp_password: true
grafana_smtp_cert_file: "60"
grafana_smtp_key_file: ""
grafana_smtp_skip_verify: false
grafana_smtp_from_address: "admin@grafana.localhost"
grafana_smtp:
enabled: "{{ grafana_smtp_enabled }}"
host: "{{ grafana_smtp_host }}"
user: "{{ grafana_smtp_user }}"
password: "{{ grafana_smtp_password }}"
cert_file: "{{ grafana_smtp_cert_file }}"
key_file: "{{ grafana_smtp_key_file }}"
skip_verify: "{{ grafana_smtp_skip_verify }}"
from_address: "{{ grafana_smtp_from_address }}"
# E-mails.
grafana_emails_welcome_email_on_sign_up: false
grafana_emails_templates_pattern: "emails/*.html"
grafana_emails:
welcome_email_on_sign_up: "{{ grafana_emails_welcome_email_on_sign_up }}"
templates_pattern: "{{ grafana_emails_templates_pattern }}"
# Logging.
grafana_log_mode: "console file"
grafana_log_level: "info"
grafana_log_filters: ""
grafana_log:
mode: "{{ grafana_log_mode }}"
level: "{{ grafana_log_level }}"
filters: "{{ grafana_log_filters }}"
# Logging (console).
grafana_log__console_level: ""
grafana_log__console_format: "console"
grafana_log__console:
level: "{{ grafana_log__console_level }}"
format: "{{ grafana_log__console_format }}"
# Logging (file).
grafana_log__file_level: ""
grafana_log__file_format: "text"
grafana_log__file_log_rotate: true
grafana_log__file_max_lines: 1000000
grafana_log__file_max_size_shift: 28
grafana_log__file_daily_rotate: true
grafana_log__file_max_days: 7
grafana_log__file:
level: "{{ grafana_log__file_level }}"
format: "{{ grafana_log__file_format }}"
log_rotate: "{{ grafana_log__file_log_rotate }}"
max_lines: "{{ grafana_log__file_max_lines }}"
max_size_shift: "{{ grafana_log__file_max_size_shift }}"
daily_rotate: "{{ grafana_log__file_daily_rotate }}"
max_days: "{{ grafana_log__file_max_days }}"
# Logging (syslog).
grafana_log__syslog_level: ""
grafana_log__syslog_format: "text"
grafana_log__syslog_network: ""
grafana_log__syslog_address: ""
grafana_log__syslog_facility: ""
grafana_log__syslog_tag: ""
grafana_log__syslog:
level: "{{ grafana_log__syslog_level }}"
format: "{{ grafana_log__syslog_format }}"
network: "{{ grafana_log__syslog_network }}"
address: "{{ grafana_log__syslog_address }}"
facility: "{{ grafana_log__syslog_facility }}"
tag: "{{ grafana_log__syslog_tag }}"
# Event publishing.
grafana_event_publisher_enabled: false
grafana_event_publisher_rabbitmq_url: "amqp://localhost/"
grafana_event_publisher_exchange: "grafana_events"
grafana_event_publisher:
enabled: "{{ grafana_event_publisher_enabled }}"
rabbitmq_url: "{{ grafana_event_publisher_rabbitmq_url }}"
exchange: "{{ grafana_event_publisher_exchange }}"
# dashboards.json
grafana_dashboards_json_enabled: false
grafana_dashboards_json_path: "/var/lib/grafana/dashboards"
grafana_dashboards_json:
enabled: "{{ grafana_dashboards_json_enabled }}"
path: "{{ grafana_dashboards_json_path }}"
# Quotas.
grafana_quota_enabled: false
grafana_quota_org_user: 10
grafana_quota_org_dashboard: 100
grafana_quota_org_data_source: 10
grafana_quota_org_api_key: 10
grafana_quota_user_org: 10
grafana_quota_global_user: -1
grafana_quota_global_org: -1
grafana_quota_global_dashboard: -1
grafana_quota_global_api_key: -1
grafana_quota_global_session: -1
grafana_quota:
enabled: "{{ grafana_quota_enabled }}"
org_user: "{{ grafana_quota_org_user }}"
org_dashboard: "{{ grafana_quota_org_dashboard }}"
org_data_source: "{{ grafana_quota_org_data_source }}"
org_api_key: "{{ grafana_quota_org_api_key }}"
user_org: "{{ grafana_quota_user_org }}"
global_user: "{{ grafana_quota_global_user }}"
global_org: "{{ grafana_quota_global_org }}"
global_dashboard: "{{grafana_quota_global_dashboard }}"
global_api_key: "{{ grafana_quota_global_api_key }}"
global_session: "{{ grafana_quota_global_session }}"
# Alerting.
grafana_alerting_execute_alerts: true
grafana_alerting:
execute_alerts: "{{ grafana_alerting_execute_alerts }}"
# Metrics.
grafana_metrics_enabled: true
grafana_metrics_interval_seconds: 10
grafana_metrics:
enabled: "{{ grafana_metrics_enabled }}"
interval_seconds: "{{ grafana_metrics_interval_seconds }}"
# Metrics (Graphite).
grafana_metrics__graphite_address: ""
grafana_metrics__graphite_prefix: "prod.grafana.%(instance_name)s."
grafana_metrics__graphite:
address: "{{ grafana_metrics__graphite_address }}"
prefix: "{{ grafana_metrics__graphite_prefix }}"
# Grafananet.
grafana_grafana_net_url: "https://grafana.net"
grafana_grafana_net:
url: "{{ grafana_grafana_net_url }}"
# External image storage.
grafana_external_image_storage_provider: ""
grafana_external_image_storage:
provider: "{{ grafana_external_image_storage_provider }}"
# External image storage (S3).
grafana_external_image_storage__s3_bucket_url: ""
grafana_external_image_storage__s3_access_key: ""
grafana_external_image_storage__s3_secret_key: ""
grafana_external_image_storage__s3:
bucket_url: "{{ grafana_external_image_storage__s3_bucket_url }}"
access_key: "{{ grafana_external_image_storage__s3_access_key }}"
secret_key: "{{ grafana_external_image_storage__s3_secret_key }}"
# External image storage (WebDAV).
grafana_external_image_storage__webdav_url: ""
grafana_external_image_storage__webdav_username: ""
grafana_external_image_storage__webdav_password: ""
grafana_external_image_storage__webdav:
url: "{{ grafana_external_image_storage__webdav_url }}"
username: "{{ grafana_external_image_storage__webdav_username }}"
password: "{{ grafana_external_image_storage__webdav_password }}"
# Overall configuration.
grafana_config:
app_mode: "{{ grafana_app_mode }}"
paths: "{{ grafana_paths }}"
server: "{{ grafana_server }}"
database: "{{ grafana_database }}"
session: "{{ grafana_session }}"
analytics: "{{ grafana_analytics }}"
security: "{{ grafana_security }}"
snapshots: "{{ grafana_snapshots }}"
users: "{{ grafana_users }}"
auth.anonymous: "{{ grafana_auth__anonymous }}"
auth.github: "{{ grafana_auth__github }}"
auth.google: "{{ grafana_auth__google }}"
auth.grafananet: "{{ grafana_auth__grafananet }}"
auth.generic_oauth: "{{ grafana_auth__generic_oauth }}"
auth.basic: "{{ grafana_auth__basic }}"
auth.proxy: "{{ grafana_auth__proxy }}"
auth.ldap: "{{ grafana_auth__ldap }}"
smtp: "{{ grafana_smtp }}"
emails: "{{ grafana_emails }}"
log: "{{ grafana_log }}"
log.console: "{{ grafana_log__console }}"
log.file: "{{ grafana_log__file }}"
log.syslog: "{{ grafana_log__syslog }}"
event_publisher: "{{ grafana_event_publisher }}"
dashboards.json: "{{ grafana_dashboards_json }}"
quota: "{{ grafana_quota }}"
alerting: "{{ grafana_alerting }}"
metrics: "{{ grafana_metrics }}"
metrics.graphite: "{{ grafana_metrics__graphite }}"
grafana_net: "{{ grafana_grafana_net }}"
external_image_storage: "{{ grafana_external_image_storage }}"
external_image_storage.s3: "{{ grafana_external_image_storage__s3 }}"
external_image_storage.webdav: "{{ grafana_external_image_storage__webdav }}"
---
dependencies:
- role: common
tags:
- always
- config-encoders
---
#
# edX Configuration
#
# github: https://github.com/edx/configuration
# wiki: https://openedx.atlassian.net/wiki/display/OpenOPS
# code style: https://openedx.atlassian.net/wiki/display/OpenOPS/Ansible+Code+Conventions
# license: https://github.com/edx/configuration/blob/master/LICENSE.TXT
#
#
# Tasks for role graphite
#
# Overview:
#
# This task is to install Grafana, which is a UI for creating visualizations on top of
# common metrics data sources such as Graphite, InfluxDB, CloudWatch, and more.
#
# Dependencies:
# - common
# - config-encoders
#
- name: ensure correct OS
fail:
msg: "this playbook can only be run on an Ubuntu host"
when: ansible_distribution != "Ubuntu"
- name: install PackageCloud GPG key
apt_key:
id: "418A7F2FB0E1E6E7EABF6FE8C2E73424D59097AB"
url: "https://packagecloud.io/gpg.key"
state: present
tags:
- install
- install:system-requirements
- name: install PackageCloud PPA
apt_repository:
# This is Debian Jessie repository, when we use Ubuntu Xenial, yes. It's the latest Debian repository they
# populate for their official packages. It does work, so, *shrug*.
repo: "deb https://packagecloud.io/grafana/stable/debian/ jessie main"
update_cache: yes
state: present
tags:
- install
- install:system-requirements
- name: install grafana
apt:
name: "{{ grafana_apt_pkg }}"
state: present
tags:
- install
- install:system-requirements
- name: configure grafana
template:
src: "conf/grafana.ini.j2"
dest: "/etc/grafana/grafana.ini"
tags:
- install
- install:app-configuration
- name: enable grafana
service:
name: grafana-server
enabled: yes
state: started
tags:
- install
- install:configuration
- name: stop grafana
service:
name: grafana-server
state: stopped
tags:
- manage:stop
- name: restart grafana
service:
name: grafana-server
state: restarted
tags:
- manage:start
- manage:restart
{%- if "grafana" in nginx_default_sites -%}
{%- set default_site = "default_server" -%}
{%- else -%}
{%- set default_site = "" -%}
{%- endif -%}
#
# {{ ansible_managed }}
#
upstream grafana_app_server {
server 127.0.0.1:3000 fail_timeout=0;
}
server {
server_name grafana.*;
listen {{ GRAFANA_NGINX_PORT }} {{ default_site }};
client_max_body_size 1M;
keepalive_timeout 5;
location / {
try_files $uri @proxy_to_app;
}
location @proxy_to_app {
{% if NGINX_SET_X_FORWARDED_HEADERS %}
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-For $remote_addr;
{% else %}
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
proxy_set_header X-Forwarded-Port $http_x_forwarded_port;
proxy_set_header X-Forwarded-For $http_x_forwarded_for;
{% endif %}
# newrelic-specific header records the time when nginx handles a request.
proxy_set_header X-Queue-Start "t=${msec}";
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://grafana_app_server;
}
}
......@@ -20,7 +20,6 @@ upstream graphite_app_server {
}
server {
server_name graphite.*;
listen {{ GRAPHITE_NGINX_PORT }} {{ default_site }};
client_max_body_size 1M;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment