http://git-wip-us.apache.org/repos/asf/metron/blob/e8213918/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/4.5.1/package/scripts/kibana_master.py ---------------------------------------------------------------------- diff --git a/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/4.5.1/package/scripts/kibana_master.py b/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/4.5.1/package/scripts/kibana_master.py deleted file mode 100755 index faca7a8..0000000 --- a/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/4.5.1/package/scripts/kibana_master.py +++ /dev/null @@ -1,128 +0,0 @@ -""" -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - -kibana_master - -""" - -import errno -import os - -from ambari_commons.os_check import OSCheck -from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl -from resource_management.core.logger import Logger -from resource_management.core.resources.system import Directory -from resource_management.core.resources.system import Execute -from resource_management.core.resources.system import File -from resource_management.core.source import InlineTemplate -from resource_management.libraries.functions.format import format as ambari_format -from resource_management.libraries.script import Script - - -class Kibana(Script): - def install(self, env): - import params - env.set_params(params) - Logger.info("Install Kibana Master") - self.install_packages(env) - - def configure(self, env, upgrade_type=None, config_dir=None): - import params - env.set_params(params) - - Logger.info("Configure Kibana for Metron") - - directories = [params.log_dir, params.pid_dir, params.conf_dir] - Directory(directories, - # recursive=True, - mode=0755, - owner=params.kibana_user, - group=params.kibana_user - ) - - File("{0}/kibana.yml".format(params.conf_dir), - owner=params.kibana_user, - content=InlineTemplate(params.kibana_yml_template) - ) - - def stop(self, env, upgrade_type=None): - import params - env.set_params(params) - - Logger.info("Stop Kibana Master") - - Execute("service kibana stop") - - def start(self, env, upgrade_type=None): - import params - env.set_params(params) - - self.configure(env) - - Logger.info("Start the Master") - - - Execute("service kibana start") - - def restart(self, env): - import params - env.set_params(params) - - self.configure(env) - - Logger.info("Restarting the Master") - - Execute("service kibana restart") - - def status(self, env): - import params - env.set_params(params) - - Logger.info("Status of the Master") - - Execute("service kibana status") - - @OsFamilyFuncImpl(os_family=OsFamilyImpl.DEFAULT) - def load_template(self, env): - from dashboard.dashboardindex import DashboardIndex - - import params - env.set_params(params) - - hostname = ambari_format("{es_host}") - port = int(ambari_format("{es_port}")) - - Logger.info("Connecting to Elasticsearch on host: %s, port: %s" % (hostname, port)) - di = DashboardIndex(host=hostname, port=port) - - # Loads Kibana Dashboard definition from disk and replaces .kibana on index - templateFile = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'dashboard', 'dashboard.p') - if not os.path.isfile(templateFile): - raise IOError( - errno.ENOENT, os.strerror(errno.ENOENT), templateFile) - - Logger.info("Deleting .kibana index from Elasticsearch") - - di.es.indices.delete(index='.kibana', ignore=[400, 404]) - - Logger.info("Loading .kibana index from %s" % templateFile) - - di.put(data=di.load(filespec=templateFile)) - - -if __name__ == "__main__": - Kibana().execute()
http://git-wip-us.apache.org/repos/asf/metron/blob/e8213918/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/4.5.1/package/scripts/params.py ---------------------------------------------------------------------- diff --git a/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/4.5.1/package/scripts/params.py b/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/4.5.1/package/scripts/params.py deleted file mode 100755 index a5e0ec9..0000000 --- a/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/4.5.1/package/scripts/params.py +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env python -""" -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - -Kibana Params configurations - -""" - -from urlparse import urlparse - -from resource_management.libraries.functions import format -from resource_management.libraries.script import Script - -# server configurations -config = Script.get_config() - -kibana_home = '/usr/share/kibana/' -kibana_bin = '/usr/share/kibana/bin/' - -conf_dir = "/opt/kibana/config/" -kibana_user = config['configurations']['kibana-env']['kibana_user'] -kibana_group = config['configurations']['kibana-env']['kibana_group'] -log_dir = config['configurations']['kibana-env']['kibana_log_dir'] -pid_dir = config['configurations']['kibana-env']['kibana_pid_dir'] -pid_file = format("{pid_dir}/kibanasearch.pid") -es_url = config['configurations']['kibana-env']['kibana_es_url'] -parsed = urlparse(es_url) -es_host = parsed.netloc.split(':')[0] -es_port = parsed.netloc.split(':')[1] -kibana_port = config['configurations']['kibana-env']['kibana_server_port'] -kibana_default_application = config['configurations']['kibana-env']['kibana_default_application'] -hostname = config['hostname'] -java64_home = config['hostLevelParams']['java_home'] -kibana_yml_template = config['configurations']['kibana-site']['content'] - http://git-wip-us.apache.org/repos/asf/metron/blob/e8213918/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/4.5.1/quicklinks/quicklinks.json ---------------------------------------------------------------------- diff --git a/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/4.5.1/quicklinks/quicklinks.json b/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/4.5.1/quicklinks/quicklinks.json deleted file mode 100755 index 448e102..0000000 --- a/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/4.5.1/quicklinks/quicklinks.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "default", - "description": "default quick links configuration", - "configuration": { - "protocol": - { - "type":"HTTP_ONLY" - }, - - "links": [ - { - "name": "metron_ui", - "label": "Metron UI", - "requires_user_name": "false", - "component_name": "KIBANA_MASTER", - "url":"%@://%@:%@/", - "port":{ - "http_property": "kibana_server_port", - "http_default_port": "5601", - "https_property": "kibana_server_port", - "https_default_port": "5601", - "regex": "^(\\d+)$", - "site": "kibana-env" - } - } - ] - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/metron/blob/e8213918/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/5.6.2/configuration/kibana-env.xml ---------------------------------------------------------------------- diff --git a/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/5.6.2/configuration/kibana-env.xml b/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/5.6.2/configuration/kibana-env.xml new file mode 100755 index 0000000..1246405 --- /dev/null +++ b/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/5.6.2/configuration/kibana-env.xml @@ -0,0 +1,72 @@ +<?xml version="1.0"?> +<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +--> +<configuration> + <property> + <name>kibana_user</name> + <value>kibana</value> + <property-type>USER</property-type> + <description>Service User for Kibana</description> + <value-attributes> + <type>user</type> + <overridable>false</overridable> + </value-attributes> + </property> + <property> + <name>kabana_group</name> + <value>kibana</value> + <property-type>GROUP</property-type> + <description>Service Group for Kibana</description> + <value-attributes> + <type>user</type> + <overridable>false</overridable> + </value-attributes> + </property> + <property require-input="true"> + <name>kibana_server_host</name> + <value>0.0.0.0</value> + <description>Host name or IP address that Kibana should bind to.</description> + </property> + <property require-input="true"> + <name>kibana_log_dir</name> + <value>/var/log/kibana</value> + <description>Log directory for Kibana</description> + </property> + <property require-input="true"> + <name>kibana_pid_dir</name> + <value>/var/run/kibana</value> + <description>PID directory for Kibana</description> + </property> + <property require-input="true"> + <name>kibana_es_url</name> + <value></value> + <description>The Elasticsearch instance to use for all your queries. (http://eshost:9200)</description> + </property> + <property require-input="true"> + <name>kibana_server_port</name> + <value>5000</value> + <description>Kibana back end server port to use.</description> + </property> + <property require-input="true"> + <name>kibana_default_application</name> + <value>default</value> + <description>The default application to load.</description> + </property> +</configuration> http://git-wip-us.apache.org/repos/asf/metron/blob/e8213918/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/5.6.2/configuration/kibana-site.xml ---------------------------------------------------------------------- diff --git a/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/5.6.2/configuration/kibana-site.xml b/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/5.6.2/configuration/kibana-site.xml new file mode 100755 index 0000000..d8d0513 --- /dev/null +++ b/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/5.6.2/configuration/kibana-site.xml @@ -0,0 +1,113 @@ +<?xml version="1.0"?> +<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +--> +<configuration> + <!-- kibana.yml --> + <property> + <name>content</name> + <display-name>kibana.yml template</display-name> + <description>This is the jinja template for kibana.yml file</description> + <value> +# Kibana is served by a back end server. This controls which port to use. +server.port: {{ kibana_port }} + +# The host to bind the server to. +# Kibana (like Elasticsearch) now binds to localhost for security purposes instead of 0.0.0.0 (all addresses). Previous binding to 0.0.0.0 also caused issues for Windows users. +server.host: {{ kibana_server_host }} + +# If you are running kibana behind a proxy, and want to mount it at a path, +# specify that path here. The basePath can't end in a slash. +# server.basePath: "" + +# The maximum payload size in bytes on incoming server requests. +# server.maxPayloadBytes: 1048576 + +# The Elasticsearch instance to use for all your queries. +elasticsearch.url: {{ es_url }} + +# preserve_elasticsearch_host true will send the hostname specified in `elasticsearch`. If you set it to false, +# then the host you use to connect to *this* Kibana instance will be sent. +# elasticsearch.preserveHost: true + +# Kibana uses an index in Elasticsearch to store saved searches, visualizations +# and dashboards. It will create a new index if it doesn't already exist. +# kibana.index: ".kibana" + +# The default application to load. +kibana.defaultAppId: "{{ kibana_default_application }}" + +# If your Elasticsearch is protected with basic auth, these are the user credentials +# used by the Kibana server to perform maintenance on the kibana_index at startup. Your Kibana +# users will still need to authenticate with Elasticsearch (which is proxied through +# the Kibana server) +# elasticsearch.username: "user" +# elasticsearch.password: "pass" + +# SSL for outgoing requests from the Kibana Server to the browser (PEM formatted) +# server.ssl.cert: /path/to/your/server.crt +# server.ssl.key: /path/to/your/server.key + +# Optional setting to validate that your Elasticsearch backend uses the same key files (PEM formatted) +# elasticsearch.ssl.cert: /path/to/your/client.crt +# elasticsearch.ssl.key: /path/to/your/client.key + +# If you need to provide a CA certificate for your Elasticsearch instance, put +# the path of the pem file here. +# elasticsearch.ssl.ca: /path/to/your/CA.pem + +# Set to false to have a complete disregard for the validity of the SSL +# certificate. +# elasticsearch.ssl.verify: true + +# Time in milliseconds to wait for elasticsearch to respond to pings, defaults to +# request_timeout setting +# elasticsearch.pingTimeout: 1500 + +# Time in milliseconds to wait for responses from the back end or elasticsearch. +# This must be > 0 +# elasticsearch.requestTimeout: 30000 + +# Time in milliseconds for Elasticsearch to wait for responses from shards. +# Set to 0 to disable. +# elasticsearch.shardTimeout: 0 + +# Time in milliseconds to wait for Elasticsearch at Kibana startup before retrying +# elasticsearch.startupTimeout: 5000 + +# Set the path to where you would like the process id file to be created. +# pid.file: /var/run/kibana.pid + +# If you would like to send the log output to a file you can set the path below. +logging.dest: {{ log_dir }}/kibana.log + +# Set this to true to suppress all logging output. +# logging.silent: false + +# Set this to true to suppress all logging output except for error messages. +# logging.quiet: false + +# Set this to true to log all events, including system usage information and all requests. +# logging.verbose: false + </value> + <value-attributes> + <type>content</type> + </value-attributes> + </property> +</configuration> http://git-wip-us.apache.org/repos/asf/metron/blob/e8213918/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/5.6.2/metainfo.xml ---------------------------------------------------------------------- diff --git a/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/5.6.2/metainfo.xml b/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/5.6.2/metainfo.xml new file mode 100755 index 0000000..034f71c --- /dev/null +++ b/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/5.6.2/metainfo.xml @@ -0,0 +1,75 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<metainfo> + <schemaVersion>2.0</schemaVersion> + <services> + <service> + <name>KIBANA</name> + <displayName>Kibana</displayName> + <comment>Kibana Dashboard</comment> + <version>5.6.2</version> + <components> + <component> + <name>KIBANA_MASTER</name> + <displayName>Kibana Server</displayName> + <category>MASTER</category> + <cardinality>1</cardinality> + <commandScript> + <script>scripts/kibana_master.py</script> + <scriptType>PYTHON</scriptType> + <timeout>600</timeout> + </commandScript> + <customCommands> + <customCommand> + <name>LOAD_TEMPLATE</name> + <background>false</background> + <commandScript> + <script>scripts/kibana_master.py</script> + <scriptType>PYTHON</scriptType> + </commandScript> + </customCommand> + </customCommands> + </component> + </components> + <osSpecifics> + <osSpecific> + <osFamily>any</osFamily> + <packages> + <package> + <name>python-elasticsearch</name> + </package> + <package> + <name>kibana-5.6.2</name> + </package> + </packages> + </osSpecific> + </osSpecifics> + <configuration-dependencies> + <config-type>kibana-env</config-type> + <config-type>kibana-site</config-type> + </configuration-dependencies> + <restartRequiredAfterChange>true</restartRequiredAfterChange> + <quickLinksConfigurations> + <quickLinksConfiguration> + <fileName>quicklinks.json</fileName> + <default>true</default> + </quickLinksConfiguration> + </quickLinksConfigurations> + </service> + </services> +</metainfo> http://git-wip-us.apache.org/repos/asf/metron/blob/e8213918/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/5.6.2/package/scripts/dashboard/__init__.py ---------------------------------------------------------------------- diff --git a/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/5.6.2/package/scripts/dashboard/__init__.py b/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/5.6.2/package/scripts/dashboard/__init__.py new file mode 100755 index 0000000..8d2bad8 --- /dev/null +++ b/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/KIBANA/5.6.2/package/scripts/dashboard/__init__.py @@ -0,0 +1,16 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# \ No newline at end of file
