You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2020/07/12 02:56:44 UTC

[skywalking-docker] 05/45: Add docker compose files

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 <ha...@gmail.com>
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