This is an automated email from the ASF dual-hosted git repository. wusheng pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/skywalking-docker.git
commit 4142180875ab16f7a52484683e888b02c260a6f4 Author: Gao Hongtao <[email protected]> AuthorDate: Wed Jan 9 22:06:05 2019 +0800 Add docker compose files --- 6/6.0-beta/compose/README.md | 0 6/6.0-beta/compose/config/alarm-settings.yml | 72 +++++ 6/6.0-beta/compose/config/application.yml | 97 +++++++ 6/6.0-beta/compose/config/component-libraries.yml | 290 +++++++++++++++++++++ .../compose/config/datasource-settings.properties | 31 +++ 6/6.0-beta/compose/config/log4j2.xml | 36 +++ 6/6.0-beta/compose/docker-compose.yml | 53 ++++ 7 files changed, 579 insertions(+) diff --git a/6/6.0-beta/compose/README.md b/6/6.0-beta/compose/README.md new file mode 100644 index 0000000..e69de29 diff --git a/6/6.0-beta/compose/config/alarm-settings.yml b/6/6.0-beta/compose/config/alarm-settings.yml new file mode 100644 index 0000000..eab4407 --- /dev/null +++ b/6/6.0-beta/compose/config/alarm-settings.yml @@ -0,0 +1,72 @@ +# 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. + +# Sample alarm rules. +rules: + # Rule unique name, must be ended with `_rule`. + service_resp_time_rule: + indicator-name: service_resp_time + op: ">" + threshold: 1000 + period: 10 + count: 3 + silence-period: 5 + message: Response time of service {name} is more than 1000ms in last 3 minutes. + service_sla_rule: + # Indicator value need to be long, double or int + indicator-name: service_sla + op: "<" + threshold: 8000 + # The length of time to evaluate the metric + period: 10 + # How many times after the metric match the condition, will trigger alarm + count: 2 + # How many times of checks, the alarm keeps silence after alarm triggered, default as same as period. + silence-period: 3 + message: Successful rate of service {name} is lower than 80% in last 2 minutes. + service_p90_sla_rule: + # Indicator value need to be long, double or int + indicator-name: service_p90 + op: ">" + threshold: 1000 + period: 10 + count: 3 + silence-period: 5 + message: 90% response time of service {name} is lower than 1000ms in last 3 minutes + service_instance_resp_time_rule: + indicator-name: service_instance_resp_time + op: ">" + threshold: 1000 + period: 10 + count: 2 + silence-period: 5 + message: Response time of service instance {name} is more than 1000ms in last 2 minutes. +# Active endpoint related metric alarm will cost more memory than service and service instance metric alarm. +# Because the number of endpoint is much more than service and instance. +# +# endpoint_avg_rule: +# indicator-name: endpoint_avg +# op: ">" +# threshold: 1000 +# period: 10 +# count: 2 +# silence-period: 5 +# message: Response time of endpoint {name} is more than 1000ms in last 2 minutes. + +webhooks: +# - http://127.0.0.1/notify/ +# - http://127.0.0.1/go-wechat/ + diff --git a/6/6.0-beta/compose/config/application.yml b/6/6.0-beta/compose/config/application.yml new file mode 100644 index 0000000..842b142 --- /dev/null +++ b/6/6.0-beta/compose/config/application.yml @@ -0,0 +1,97 @@ +# 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. + +cluster: + standalone: + # Please check your ZooKeeper is 3.5+, However, it is also compatible with ZooKeeper 3.4.x. Replace the ZooKeeper 3.5+ + # library the oap-libs folder with your ZooKeeper 3.4.x library. +# zookeeper: +# nameSpace: ${SW_NAMESPACE:""} +# hostPort: ${SW_CLUSTER_ZK_HOST_PORT:localhost:2181} +# #Retry Policy +# baseSleepTimeMs: ${SW_CLUSTER_ZK_SLEEP_TIME:1000} # initial amount of time to wait between retries +# maxRetries: ${SW_CLUSTER_ZK_MAX_RETRIES:3} # max number of times to retry +# kubernetes: +# watchTimeoutSeconds: ${SW_CLUSTER_K8S_WATCH_TIMEOUT:60} +# namespace: ${SW_CLUSTER_K8S_NAMESPACE:default} +# labelSelector: ${SW_CLUSTER_K8S_LABEL:app=collector,release=skywalking} +# uidEnvName: ${SW_CLUSTER_K8S_UID:SKYWALKING_COLLECTOR_UID} +# consul: +# serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"} +# Consul cluster nodes, example: 10.0.0.1:8500,10.0.0.2:8500,10.0.0.3:8500 +# hostPort: ${SW_CLUSTER_CONSUL_HOST_PORT:localhost:8500} +core: + default: + restHost: ${SW_CORE_REST_HOST:0.0.0.0} + restPort: ${SW_CORE_REST_PORT:12800} + restContextPath: ${SW_CORE_REST_CONTEXT_PATH:/} + gRPCHost: ${SW_CORE_GRPC_HOST:0.0.0.0} + gRPCPort: ${SW_CORE_GRPC_PORT:11800} + downsampling: + - Hour + - Day + - Month + # Set a timeout on metric data. After the timeout has expired, the metric data will automatically be deleted. + recordDataTTL: ${SW_CORE_RECORD_DATA_TTL:90} # Unit is minute + minuteMetricsDataTTL: ${SW_CORE_MINUTE_METRIC_DATA_TTL:90} # Unit is minute + hourMetricsDataTTL: ${SW_CORE_HOUR_METRIC_DATA_TTL:36} # Unit is hour + dayMetricsDataTTL: ${SW_CORE_DAY_METRIC_DATA_TTL:45} # Unit is day + monthMetricsDataTTL: ${SW_CORE_MONTH_METRIC_DATA_TTL:18} # Unit is month +storage: + elasticsearch: + # set the namespace in elasticsearch + clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:elasticsearch:9200} + indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:2} + indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:0} + # Batch process setting, refer to https://www.elastic.co/guide/en/elasticsearch/client/java-api/5.5/java-docs-bulk-processor.html + bulkActions: ${SW_STORAGE_ES_BULK_ACTIONS:2000} # Execute the bulk every 2000 requests + bulkSize: ${SW_STORAGE_ES_BULK_SIZE:20} # flush the bulk every 20mb + flushInterval: ${SW_STORAGE_ES_FLUSH_INTERVAL:10} # flush the bulk every 10 seconds whatever the number of requests + concurrentRequests: ${SW_STORAGE_ES_CONCURRENT_REQUESTS:2} # the number of concurrent requests +# h2: +# driver: ${SW_STORAGE_H2_DRIVER:org.h2.jdbcx.JdbcDataSource} +# url: ${SW_STORAGE_H2_URL:jdbc:h2:mem:skywalking-oap-db} +# user: ${SW_STORAGE_H2_USER:sa} +# mysql: +receiver-register: + default: +receiver-trace: + default: + bufferPath: ${SW_RECEIVER_BUFFER_PATH:../trace-buffer/} # Path to trace buffer files, suggest to use absolute path + bufferOffsetMaxFileSize: ${SW_RECEIVER_BUFFER_OFFSET_MAX_FILE_SIZE:100} # Unit is MB + bufferDataMaxFileSize: ${SW_RECEIVER_BUFFER_DATA_MAX_FILE_SIZE:500} # Unit is MB + bufferFileCleanWhenRestart: ${SW_RECEIVER_BUFFER_FILE_CLEAN_WHEN_RESTART:false} + sampleRate: ${SW_TRACE_SAMPLE_RATE:10000} # The sample rate precision is 1/10000. 10000 means 100% sample in default. +receiver-jvm: + default: +service-mesh: + default: + bufferPath: ${SW_SERVICE_MESH_BUFFER_PATH:../mesh-buffer/} # Path to trace buffer files, suggest to use absolute path + bufferOffsetMaxFileSize: ${SW_SERVICE_MESH_OFFSET_MAX_FILE_SIZE:100} # Unit is MB + bufferDataMaxFileSize: ${SW_SERVICE_MESH_BUFFER_DATA_MAX_FILE_SIZE:500} # Unit is MB + bufferFileCleanWhenRestart: ${SW_SERVICE_MESH_BUFFER_FILE_CLEAN_WHEN_RESTART:false} +istio-telemetry: + default: +# receiver_zipkin: +# default: +# host: ${SW_RECEIVER_ZIPKIN_HOST:0.0.0.0} +# port: ${SW_RECEIVER_ZIPKIN_PORT:9411} +# contextPath: ${SW_RECEIVER_ZIPKIN_CONTEXT_PATH:/} +query: + graphql: + path: ${SW_QUERY_GRAPHQL_PATH:/graphql} +alarm: + default: diff --git a/6/6.0-beta/compose/config/component-libraries.yml b/6/6.0-beta/compose/config/component-libraries.yml new file mode 100644 index 0000000..dc5dd6c --- /dev/null +++ b/6/6.0-beta/compose/config/component-libraries.yml @@ -0,0 +1,290 @@ +# 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. + +# Define all component libraries' names and IDs, used in monitored application. +# This is a bothway mapping, agent or SDK could use the value(ID) to represent the component name in uplink data. +# +# ###### +# id +# ###### +# We highly recommend DO NOT change the IDs in these file, just append new one, and make sure the ID unique. +# Any replacement will cause visualization and aggregation error. +# +# All IDs in this files are reserved, even some IDs removed by some reasons, those IDs will be abandoned. +# +# ###### +# languages +# ###### +# Languages declare which languages are using this component. Multi languages should be separated by `,` + +Tomcat: + id: 1 + languages: Java +HttpClient: + id: 2 + languages: Java,C#,Node.js +Dubbo: + id: 3 + languages: Java +H2: + id: 4 + languages: Java +Mysql: + id: 5 + languages: Java,C#,Node.js +ORACLE: + id: 6 + languages: Java +Redis: + id: 7 + languages: Java,C#,Node.js +Motan: + id: 8 + languages: Java +MongoDB: + id: 9 + languages: Java,C#,Node.js +Resin: + id: 10 + languages: Java +Feign: + id: 11 + languages: Java +OKHttp: + id: 12 + languages: Java +SpringRestTemplate: + id: 13 + languages: Java +SpringMVC: + id: 14 + languages: Java +Struts2: + id: 15 + languages: Java +NutzMVC: + id: 16 + languages: Java +NutzHttp: + id: 17 + languages: Java +JettyClient: + id: 18 + languages: Java +JettyServer: + id: 19 + languages: Java +Memcached: + id: 20 + languages: Java +ShardingJDBC: + id: 21 + languages: Java +PostgreSQL: + id: 22 + languages: Java,C#,Node.js +GRPC: + id: 23 + languages: Java +ElasticJob: + id: 24 + languages: Java +RocketMQ: + id: 25 + languages: Java +httpasyncclient: + id: 26 + languages: Java +Kafka: + id: 27 + languages: Java +ServiceComb: + id: 28 + languages: Java +Hystrix: + id: 29 + languages: Java +Jedis: + id: 30 + languages: Java +SQLite: + id: 31 + languages: Java,C# +h2-jdbc-driver: + id: 32 + languages: Java +mysql-connector-java: + id: 33 + languages: Java +ojdbc: + id: 34 + languages: Java +Spymemcached: + id: 35 + languages: Java +Xmemcached: + id: 36 + languages: Java +postgresql-jdbc-driver: + id: 37 + languages: Java +rocketMQ-producer: + id: 38 + languages: Java +rocketMQ-consumer: + id: 39 + languages: Java +kafka-producer: + id: 40 + languages: Java +kafka-consumer: + id: 41 + languages: Java +mongodb-driver: + id: 42 + languages: Java +SOFARPC: + id: 43 + languages: Java +ActiveMQ: + id: 44 + languages: Java +activemq-producer: + id: 45 + languages: Java +activemq-consumer: + id: 46 + languages: Java +Elasticsearch: + id: 47 + languages: Java +transport-client: + id: 48 + languages: Java +http: + id: 49 + languages: Java,C#,Node.js +rpc: + id: 50 + languages: Java,C#,Node.js +RabbitMQ: + id: 51 + languages: Java +rabbitmq-producer: + id: 52 + languages: Java +rabbitmq-consumer: + id: 53 + languages: Java +Canal: + id: 54 + languages: Java +Gson: + id: 55 + languages: Java + +# .NET/.NET Core components +# [3000, 4000) for C#/.NET only +AspNetCore: + id: 3001 + languages: C# +EntityFrameworkCore: + id: 3002 + languages: C# +SqlClient: + id: 3003 + languages: C# +CAP: + id: 3004 + languages: C# +StackExchange.Redis: + id: 3005 + languages: C# +SqlServer: + id: 3006 + languages: C# +Npgsql: + id: 3007 + languages: C# +MySqlConnector: + id: 3008 + languages: C# +EntityFrameworkCore.InMemory: + id: 3009 + languages: C# +EntityFrameworkCore.SqlServer: + id: 3010 + languages: C# +EntityFrameworkCore.Sqlite: + id: 3011 + languages: C# +Pomelo.EntityFrameworkCore.MySql: + id: 3012 + languages: C# +Npgsql.EntityFrameworkCore.PostgreSQL: + id: 3013 + languages: C# +InMemoryDatabase: + id: 3014 + languages: C# +AspNet: + id: 3015 + languages: C# + +# NoeJS components +# [4000, 5000) for Node.js agent +HttpServer: + id: 4001 + languages: Node.js +express: + id: 4002 + languages: Node.js +Egg: + id: 4003 + languages: Node.js +Koa: + id: 4004 + languages: Node.js + +# Component Server mapping defines the server display names of some components +# e.g. +# Jedis is a client library in Java for Redis server +Component-Server-Mappings: + mongodb-driver: MongoDB + rocketMQ-producer: RocketMQ + rocketMQ-consumer: RocketMQ + kafka-producer: Kafka + kafka-consumer: Kafka + activemq-producer: ActiveMQ + activemq-consumer: ActiveMQ + rabbitmq-producer: RabbitMQ + rabbitmq-consumer: RabbitMQ + postgresql-jdbc-driver: PostgreSQL + Xmemcached: Memcached + Spymemcached: Memcached + h2-jdbc-driver: H2 + mysql-connector-java: Mysql + Jedis: Redis + StackExchange.Redis: Redis + SqlClient: SqlServer + Npgsql: PostgreSQL + MySqlConnector: Mysql + EntityFrameworkCore.InMemory: InMemoryDatabase + EntityFrameworkCore.SqlServer: SqlServer + EntityFrameworkCore.Sqlite: SQLite + Pomelo.EntityFrameworkCore.MySql: Mysql + Npgsql.EntityFrameworkCore.PostgreSQL: PostgreSQL + transport-client: Elasticsearch diff --git a/6/6.0-beta/compose/config/datasource-settings.properties b/6/6.0-beta/compose/config/datasource-settings.properties new file mode 100644 index 0000000..70b0099 --- /dev/null +++ b/6/6.0-beta/compose/config/datasource-settings.properties @@ -0,0 +1,31 @@ +# +# 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. +# +# + +jdbcUrl=jdbc:mysql://localhost:3306/swtest +dataSource.user=root +dataSource.password=root@1234 +dataSource.cachePrepStmts=true +dataSource.prepStmtCacheSize=250 +dataSource.prepStmtCacheSqlLimit=2048 +dataSource.useServerPrepStmts=true +dataSource.useLocalSessionState=true +dataSource.rewriteBatchedStatements=true +dataSource.cacheResultSetMetadata=true +dataSource.cacheServerConfiguration=true +dataSource.elideSetAutoCommits=true +dataSource.maintainTimeStats=false \ No newline at end of file diff --git a/6/6.0-beta/compose/config/log4j2.xml b/6/6.0-beta/compose/config/log4j2.xml new file mode 100644 index 0000000..c2439b6 --- /dev/null +++ b/6/6.0-beta/compose/config/log4j2.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ 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 status="INFO"> + <Appenders> + <Console name="Console" target="SYSTEM_OUT"> + <PatternLayout charset="UTF-8" pattern="%d - %c -%-4r [%t] %-5p %x - %m%n"/> + </Console> + </Appenders> + <Loggers> + <logger name="org.eclipse.jetty" level="INFO"/> + <logger name="org.apache.zookeeper" level="INFO"/> + <logger name="org.elasticsearch.common.network.IfConfig" level="INFO"/> + <logger name="io.grpc.netty" level="INFO"/> + <logger name="org.apache.skywalking.aop.server.receiver.mesh" level="DEBUG"/> + <Root level="INFO"> + <AppenderRef ref="Console"/> + </Root> + </Loggers> +</Configuration> diff --git a/6/6.0-beta/compose/docker-compose.yml b/6/6.0-beta/compose/docker-compose.yml new file mode 100644 index 0000000..85425a2 --- /dev/null +++ b/6/6.0-beta/compose/docker-compose.yml @@ -0,0 +1,53 @@ +# 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. + +version: '3.3' +services: + elasticsearch: + image: docker.elastic.co/elasticsearch/elasticsearch:6.3.2 + container_name: elasticsearch + restart: always + ports: + - 9200:9200 + - 9300:9300 + environment: + discovery.type: single-node + oap: + image: skywalking/oap:6.0.0-beta + container_name: oap + depends_on: + - elasticsearch + links: + - elasticsearch + restart: always + ports: + - 11800:11800 + - 12800:12800 + volumes: + - ./config:/skywalking/config:ro + ui: + image: skywalking/ui:6.0.0-beta + container_name: ui + depends_on: + - oap + links: + - oap + restart: always + ports: + - 8080:8080 + environment: + collector.ribbon.listOfServers: oap:12800 + collector.ribbon.ReadTimeout: 20000
