You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ds...@apache.org on 2016/02/08 11:00:45 UTC

ambari git commit: AMBARI-14952 Support https for Grafana (dsen)

Repository: ambari
Updated Branches:
  refs/heads/trunk d10b8767a -> 817ca0630


AMBARI-14952 Support https for Grafana (dsen)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/817ca063
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/817ca063
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/817ca063

Branch: refs/heads/trunk
Commit: 817ca06309472927447f803bcd90e7d786c7445d
Parents: d10b876
Author: Dmytro Sen <ds...@apache.org>
Authored: Mon Feb 8 12:00:33 2016 +0200
Committer: Dmytro Sen <ds...@apache.org>
Committed: Mon Feb 8 12:00:33 2016 +0200

----------------------------------------------------------------------
 .../0.1.0/configuration/ams-grafana-ini.xml     | 542 ++++++++++---------
 .../0.1.0/package/scripts/params.py             |   5 +
 2 files changed, 288 insertions(+), 259 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/817ca063/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/configuration/ams-grafana-ini.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/configuration/ams-grafana-ini.xml b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/configuration/ams-grafana-ini.xml
index ac1f7fc..0a1ff32 100644
--- a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/configuration/ams-grafana-ini.xml
+++ b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/configuration/ams-grafana-ini.xml
@@ -19,264 +19,288 @@
   -->
 
 <configuration>
-    <property>
-        <name>content</name>
-        <value>
-            ##################### Grafana Configuration Example #####################
-            #
-            # Everything has defaults so you only need to uncomment things you want to
-            # change
-
-            # possible values : production, development
-            ; app_mode = production
-
-            #################################### Paths ####################################
-            [paths]
-            # Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
-            #
-            ;data = /var/lib/grafana
-            data = /var/lib/ambari-metrics-grafana
-            #
-            # Directory where grafana can store logs
-            #
-            ;logs = /var/log/grafana
-            logs = /var/log/ambari-metrics-grafana
-
-
-            #################################### Server ####################################
-            [server]
-            # Protocol (http or https)
-            ;protocol = http
-
-            # The ip address to bind to, empty will bind to all interfaces
-            ;http_addr =
-
-            # The http port  to use
-            ;http_port = 3000
-
-            # The public facing domain name used to access grafana from a browser
-            ;domain = localhost
-
-            # Redirect to correct domain if host header does not match domain
-            # Prevents DNS rebinding attacks
-            ;enforce_domain = false
-
-            # The full public facing url
-            ;root_url = %(protocol)s://%(domain)s:%(http_port)s/
-
-            # Log web requests
-            ;router_logging = false
-
-            # the path relative working path
-            ;static_root_path = public
-            static_root_path = /usr/lib/ambari-metrics-grafana/public
-
-            # enable gzip
-            ;enable_gzip = false
-
-            # https certs &amp; key file
-            ;cert_file =
-            ;cert_key =
-
-            #################################### Database ####################################
-            [database]
-            # Either "mysql", "postgres" or "sqlite3", it's your choice
-            ;type = sqlite3
-            ;host = 127.0.0.1:3306
-            ;name = grafana
-            ;user = root
-            ;password =
-
-            # For "postgres" only, either "disable", "require" or "verify-full"
-            ;ssl_mode = disable
-
-            # For "sqlite3" only, path relative to data_path setting
-            ;path = grafana.db
-
-            #################################### Session ####################################
-            [session]
-            # Either "memory", "file", "redis", "mysql", "postgres", default is "file"
-            ;provider = file
-
-            # Provider config options
-            # memory: not have any config yet
-            # file: session dir path, is relative to grafana data_path
-            # redis: config like redis server e.g. `addr=127.0.0.1:6379,pool_size=100,db=grafana`
-            # mysql: go-sql-driver/mysql dsn config string, e.g. `user:password@tcp(127.0.0.1:3306)/database_name`
-            # postgres: user=a password=b host=localhost port=5432 dbname=c sslmode=disable
-            ;provider_config = sessions
-
-            # Session cookie name
-            ;cookie_name = grafana_sess
-
-            # If you use session in https only, default is false
-            ;cookie_secure = false
-
-            # Session life time, default is 86400
-            ;session_life_time = 86400
-
-            #################################### Analytics ####################################
-            [analytics]
-            # Server reporting, sends usage counters to stats.grafana.org every 24 hours.
-            # No ip addresses are being tracked, only simple counters to track
-            # running instances, dashboard and error counts. It is very helpful to us.
-            # Change this option to false to disable reporting.
-            ;reporting_enabled = true
-
-            # Google Analytics universal tracking code, only enabled if you specify an id here
-            ;google_analytics_ua_id =
-
-            #################################### Security ####################################
-            [security]
-            # default admin user, created on startup
-            ;admin_user = admin
-
-            # default admin password, can be changed before first start of grafana,  or in profile settings
-            ;admin_password = admin
-
-            # used for signing
-            ;secret_key = SW2YcwTIb9zpOOhoPsMm
-
-            # Auto-login remember days
-            ;login_remember_days = 7
-            ;cookie_username = grafana_user
-            ;cookie_remember_name = grafana_remember
-
-            # disable gravatar profile images
-            ;disable_gravatar = false
-
-            # data source proxy whitelist (ip_or_domain:port seperated by spaces)
-            ;data_source_proxy_whitelist =
-
-            #################################### Users ####################################
-            [users]
-            # disable user signup / registration
-            ;allow_sign_up = true
-
-            # Allow non admin users to create organizations
-            ;allow_org_create = true
-
-            # Set to true to automatically assign new users to the default organization (id 1)
-            ;auto_assign_org = true
-
-            # Default role new users will be automatically assigned (if disabled above is set to true)
-            ;auto_assign_org_role = Viewer
-
-            # Background text for the user field on the login page
-            ;login_hint = email or username
-
-            #################################### Anonymous Auth ##########################
-            [auth.anonymous]
-            # enable anonymous access
-            enabled = true
-
-            # specify organization name that should be used for unauthenticated users
-            org_name = Main Org.
-
-            # specify role for unauthenticated users
-            org_role = Admin
-
-            #################################### Github Auth ##########################
-            [auth.github]
-            ;enabled = false
-            ;allow_sign_up = false
-            ;client_id = some_id
-            ;client_secret = some_secret
-            ;scopes = user:email,read:org
-            ;auth_url = https://github.com/login/oauth/authorize
-            ;token_url = https://github.com/login/oauth/access_token
-            ;api_url = https://api.github.com/user
-            ;team_ids =
-            ;allowed_organizations =
-
-            #################################### Google Auth ##########################
-            [auth.google]
-            ;enabled = false
-            ;allow_sign_up = false
-            ;client_id = some_client_id
-            ;client_secret = some_client_secret
-            ;scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
-            ;auth_url = https://accounts.google.com/o/oauth2/auth
-            ;token_url = https://accounts.google.com/o/oauth2/token
-            ;api_url = https://www.googleapis.com/oauth2/v1/userinfo
-            ;allowed_domains =
-
-            #################################### Auth Proxy ##########################
-            [auth.proxy]
-            ;enabled = false
-            ;header_name = X-WEBAUTH-USER
-            ;header_property = username
-            ;auto_sign_up = true
-
-            #################################### Basic Auth ##########################
-            [auth.basic]
-            ;enabled = true
-
-            #################################### Auth LDAP ##########################
-            [auth.ldap]
-            ;enabled = false
-            ;config_file = /etc/grafana/ldap.toml
-
-            #################################### SMTP / Emailing ##########################
-            [smtp]
-            ;enabled = false
-            ;host = localhost:25
-            ;user =
-            ;password =
-            ;cert_file =
-            ;key_file =
-            ;skip_verify = false
-            ;from_address = admin@grafana.localhost
-
-            [emails]
-            ;welcome_email_on_sign_up = false
-
-            #################################### Logging ##########################
-            [log]
-            # Either "console", "file", default is "console"
-            # Use comma to separate multiple modes, e.g. "console, file"
-            ;mode = console, file
-
-            # Buffer length of channel, keep it as it is if you don't know what it is.
-            ;buffer_len = 10000
-
-            # Either "Trace", "Debug", "Info", "Warn", "Error", "Critical", default is "Trace"
-            ;level = Info
-
-            # For "console" mode only
-            [log.console]
-            ;level =
-
-            # For "file" mode only
-            [log.file]
-            ;level =
-            # This enables automated log rotate(switch of following options), default is true
-            ;log_rotate = true
-
-            # Max line number of single file, default is 1000000
-            ;max_lines = 1000000
-
-            # Max size shift of single file, default is 28 means 1 &lt;&lt; 28, 256MB
-            ;max_lines_shift = 28
-
-            # Segment log daily, default is true
-            ;daily_rotate = true
-
-            # Expired days of log file(delete after max days), default is 7
-            ;max_days = 7
-
-            #################################### AMPQ Event Publisher ##########################
-            [event_publisher]
-            ;enabled = false
-            ;rabbitmq_url = amqp://localhost/
-            ;exchange = grafana_events
-
-            ;#################################### Dashboard JSON files ##########################
-            [dashboards.json]
-            ;enabled = false
-            ;path = /var/lib/grafana/dashboards
-            path = /usr/lib/ambari-metrics-grafana/public/dashboards
-        </value>
-    </property>
+  <property>
+    <name>port</name>
+    <value>3000</value>
+    <description>The http port to use</description>
+  </property>
+  <property>
+    <name>protocol</name>
+    <value>http</value>
+    <description>Protocol (http or https)</description>
+  </property>
+  <property>
+    <name>cert_file</name>
+    <value>/etc/ambari-metrics-grafana/conf/ams-grafana.crt</value>
+    <description>Path to grafana certificate (.crt) file.</description>
+  </property>
+  <property>
+    <name>cert_key</name>
+    <value>/etc/ambari-metrics-grafana/conf/ams-grafana.key</value>
+    <description>Path to grafana certificate key (.key) file.</description>
+  </property>
+
+  <property>
+    <name>content</name>
+    <value>
+##################### Grafana Configuration Example #####################
+#
+# Everything has defaults so you only need to uncomment things you want to
+# change
+
+# possible values : production, development
+; app_mode = production
+
+#################################### Paths ####################################
+[paths]
+# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
+#
+;data = /var/lib/grafana
+data = /var/lib/ambari-metrics-grafana
+#
+# Directory where grafana can store logs
+#
+;logs = /var/log/grafana
+logs = {{ams_grafana_log_dir}}
+
+
+#################################### Server ####################################
+[server]
+# Protocol (http or https)
+;protocol = http
+protocol = {{ams_grafana_protocol}}
+# The ip address to bind to, empty will bind to all interfaces
+;http_addr =
+
+# The http port  to use
+;http_port = 3000
+http_port = {{ams_grafana_port}}
+
+# The public facing domain name used to access grafana from a browser
+;domain = localhost
+
+# Redirect to correct domain if host header does not match domain
+# Prevents DNS rebinding attacks
+;enforce_domain = false
+
+# The full public facing url
+;root_url = %(protocol)s://%(domain)s:%(http_port)s/
+
+# Log web requests
+;router_logging = false
+
+# the path relative working path
+;static_root_path = public
+static_root_path = /usr/lib/ambari-metrics-grafana/public
+
+# enable gzip
+;enable_gzip = false
+
+# https certs &amp; key file
+;cert_file =
+;cert_key =
+cert_file = {{ams_grafana_cert_file}}
+cert_key = {{ams_grafana_cert_key}}
+
+#################################### Database ####################################
+[database]
+# Either "mysql", "postgres" or "sqlite3", it's your choice
+;type = sqlite3
+;host = 127.0.0.1:3306
+;name = grafana
+;user = root
+;password =
+
+# For "postgres" only, either "disable", "require" or "verify-full"
+;ssl_mode = disable
+
+# For "sqlite3" only, path relative to data_path setting
+;path = grafana.db
+
+#################################### Session ####################################
+[session]
+# Either "memory", "file", "redis", "mysql", "postgres", default is "file"
+;provider = file
+
+# Provider config options
+# memory: not have any config yet
+# file: session dir path, is relative to grafana data_path
+# redis: config like redis server e.g. `addr=127.0.0.1:6379,pool_size=100,db=grafana`
+# mysql: go-sql-driver/mysql dsn config string, e.g. `user:password@tcp(127.0.0.1:3306)/database_name`
+# postgres: user=a password=b host=localhost port=5432 dbname=c sslmode=disable
+;provider_config = sessions
+
+# Session cookie name
+;cookie_name = grafana_sess
+
+# If you use session in https only, default is false
+;cookie_secure = false
+
+# Session life time, default is 86400
+;session_life_time = 86400
+
+#################################### Analytics ####################################
+[analytics]
+# Server reporting, sends usage counters to stats.grafana.org every 24 hours.
+# No ip addresses are being tracked, only simple counters to track
+# running instances, dashboard and error counts. It is very helpful to us.
+# Change this option to false to disable reporting.
+;reporting_enabled = true
+
+# Google Analytics universal tracking code, only enabled if you specify an id here
+;google_analytics_ua_id =
+
+#################################### Security ####################################
+[security]
+# default admin user, created on startup
+;admin_user = admin
+
+# default admin password, can be changed before first start of grafana,  or in profile settings
+;admin_password = admin
+
+# used for signing
+;secret_key = SW2YcwTIb9zpOOhoPsMm
+
+# Auto-login remember days
+;login_remember_days = 7
+;cookie_username = grafana_user
+;cookie_remember_name = grafana_remember
+
+# disable gravatar profile images
+;disable_gravatar = false
+
+# data source proxy whitelist (ip_or_domain:port seperated by spaces)
+;data_source_proxy_whitelist =
+
+#################################### Users ####################################
+[users]
+# disable user signup / registration
+;allow_sign_up = true
+
+# Allow non admin users to create organizations
+;allow_org_create = true
+
+# Set to true to automatically assign new users to the default organization (id 1)
+;auto_assign_org = true
+
+# Default role new users will be automatically assigned (if disabled above is set to true)
+;auto_assign_org_role = Viewer
+
+# Background text for the user field on the login page
+;login_hint = email or username
+
+#################################### Anonymous Auth ##########################
+[auth.anonymous]
+# enable anonymous access
+enabled = true
+
+# specify organization name that should be used for unauthenticated users
+org_name = Main Org.
+
+# specify role for unauthenticated users
+org_role = Admin
+
+#################################### Github Auth ##########################
+[auth.github]
+;enabled = false
+;allow_sign_up = false
+;client_id = some_id
+;client_secret = some_secret
+;scopes = user:email,read:org
+;auth_url = https://github.com/login/oauth/authorize
+;token_url = https://github.com/login/oauth/access_token
+;api_url = https://api.github.com/user
+;team_ids =
+;allowed_organizations =
+
+#################################### Google Auth ##########################
+[auth.google]
+;enabled = false
+;allow_sign_up = false
+;client_id = some_client_id
+;client_secret = some_client_secret
+;scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
+;auth_url = https://accounts.google.com/o/oauth2/auth
+;token_url = https://accounts.google.com/o/oauth2/token
+;api_url = https://www.googleapis.com/oauth2/v1/userinfo
+;allowed_domains =
+
+#################################### Auth Proxy ##########################
+[auth.proxy]
+;enabled = false
+;header_name = X-WEBAUTH-USER
+;header_property = username
+;auto_sign_up = true
+
+#################################### Basic Auth ##########################
+[auth.basic]
+;enabled = true
+
+#################################### Auth LDAP ##########################
+[auth.ldap]
+;enabled = false
+;config_file = /etc/grafana/ldap.toml
+
+#################################### SMTP / Emailing ##########################
+[smtp]
+;enabled = false
+;host = localhost:25
+;user =
+;password =
+;cert_file =
+;key_file =
+;skip_verify = false
+;from_address = admin@grafana.localhost
+
+[emails]
+;welcome_email_on_sign_up = false
+
+#################################### Logging ##########################
+[log]
+# Either "console", "file", default is "console"
+# Use comma to separate multiple modes, e.g. "console, file"
+;mode = console, file
+
+# Buffer length of channel, keep it as it is if you don't know what it is.
+;buffer_len = 10000
+
+# Either "Trace", "Debug", "Info", "Warn", "Error", "Critical", default is "Trace"
+;level = Info
+
+# For "console" mode only
+[log.console]
+;level =
+
+# For "file" mode only
+[log.file]
+;level =
+# This enables automated log rotate(switch of following options), default is true
+;log_rotate = true
+
+# Max line number of single file, default is 1000000
+;max_lines = 1000000
+
+# Max size shift of single file, default is 28 means 1 &lt;&lt; 28, 256MB
+;max_lines_shift = 28
+
+# Segment log daily, default is true
+;daily_rotate = true
+
+# Expired days of log file(delete after max days), default is 7
+;max_days = 7
+
+#################################### AMPQ Event Publisher ##########################
+[event_publisher]
+;enabled = false
+;rabbitmq_url = amqp://localhost/
+;exchange = grafana_events
+
+;#################################### Dashboard JSON files ##########################
+[dashboards.json]
+;enabled = false
+;path = /var/lib/grafana/dashboards
+path = /usr/lib/ambari-metrics-grafana/public/dashboards
+    </value>
+  </property>
 
 </configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/817ca063/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/params.py b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/params.py
index d8a19ce..8193737 100644
--- a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/params.py
+++ b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/params.py
@@ -79,6 +79,11 @@ ams_grafana_pid_dir = status_params.ams_grafana_pid_dir
 ams_grafana_conf_dir = '/etc/ambari-metrics-grafana/conf'
 ams_grafana_data_dir = default("/configurations/ams-grafana-env/metrics_grafana_data_dir", '/var/lib/ambari-metrics-grafana')
 
+ams_grafana_port = default("/configurations/ams-grafana-ini/port", 3000)
+ams_grafana_protocol = default("/configurations/ams-grafana-ini/protocol", 'http')
+ams_grafana_cert_file = default("/configurations/ams-grafana-ini/cert_file", '/etc/ambari-metrics/conf/ams-grafana.crt')
+ams_grafana_cert_key = default("/configurations/ams-grafana-ini/cert_key", '/etc/ambari-metrics/conf/ams-grafana.key')
+
 ams_hbase_home_dir = "/usr/lib/ams-hbase/"
 
 ams_hbase_normalizer_enabled = default("/configurations/ams-hbase-site/hbase.normalizer.enabled", None)