kezhenxu94 commented on a change in pull request #4514: Add selector property
in application.yml
URL: https://github.com/apache/skywalking/pull/4514#discussion_r392665385
##########
File path: docker/oap-es7/docker-entrypoint.sh
##########
@@ -18,478 +18,18 @@
set -e
-var_application_file="config/application.yml"
-
-generateClusterStandalone() {
- echo "cluster:" >> ${var_application_file}
- echo " standalone:" >> ${var_application_file}
-}
-
-generateClusterZookeeper() {
- cat <<EOT >> ${var_application_file}
-cluster:
- zookeeper:
- nameSpace: \${SW_NAMESPACE:""}
- hostPort: \${SW_CLUSTER_ZK_HOST_PORT:zookeeper: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
- # Enable ACL
- enableACL: \${SW_ZK_ENABLE_ACL:false} # disable ACL in default
- schema: \${SW_ZK_SCHEMA:digest} # only support digest schema
- expression: \${SW_ZK_EXPRESSION:skywalking:skywalking}
-EOT
-}
-
-generateClusterK8s() {
- cat <<EOT >> ${var_application_file}
-cluster:
- 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}
-EOT
-}
-
-generateClusterConsul() {
- cat <<EOT >> ${var_application_file}
-cluster:
- 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:consul:8500}
-EOT
-}
-
-generateClusterEtcd() {
- cat <<EOT >> ${var_application_file}
-cluster:
- etcd:
- serviceName: \${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"}
- # Etcd cluster nodes, example: 10.0.0.1:2379,10.0.0.2:2379,10.0.0.3:2379
- hostPort: \${SW_CLUSTER_ETCD_HOST_PORT:etcd:2379}
-EOT
-}
-
-generateClusterNacos() {
- cat <<EOT >> ${var_application_file}
-cluster:
- nacos:
- serviceName: \${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"}
- namespace: \${SW_CLUSTER_NACOS_NAMESPACE:""}
- hostPort: \${SW_CLUSTER_NACOS_HOST_PORT:nacos:8848}
-EOT
-}
+echo "[Entrypoint] Apache SkyWalking Docker Image"
-generateStorageElastisearch() {
-if [[ "$SW_RECEIVER_ZIPKIN_ENABLED" = "true" ]]; then
- cat <<EOT >> ${var_application_file}
-storage:
- zipkin-elasticsearch:
-EOT
-elif [[ "$SW_RECEIVER_JAEGER_ENABLED" = "true" ]]; then
- cat <<EOT >> ${var_application_file}
-storage:
- jaeger-elasticsearch:
-EOT
-else
- cat <<EOT >> ${var_application_file}
-storage:
- elasticsearch7:
-EOT
+if [[ "$SW_TELEMETRY" = "so11y" ]]; then
+ export SW_RECEIVER_SO11Y=default
+ echo "Set SW_RECEIVER_SO11Y to ${SW_RECEIVER_SO11Y}"
fi
-cat <<EOT >> ${var_application_file}
- nameSpace: \${SW_NAMESPACE:""}
- clusterNodes: \${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200}
- protocol: \${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}
- user: \${SW_ES_USER:""}
- password: \${SW_ES_PASSWORD:""}
- indexShardsNumber: \${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:2}
- indexReplicasNumber: \${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:0}
- # Those data TTL settings will override the same settings in core module.
- recordDataTTL: \${SW_STORAGE_ES_RECORD_DATA_TTL:7} # Unit is day
- otherMetricsDataTTL: \${SW_STORAGE_ES_OTHER_METRIC_DATA_TTL:45} # Unit is
day
- monthMetricsDataTTL: \${SW_STORAGE_ES_MONTH_METRIC_DATA_TTL:18} # Unit is
month
- # 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
- resultWindowMaxSize: \${SW_STORAGE_ES_QUERY_MAX_WINDOW_SIZE:10000}
- metadataQueryMaxSize: \${SW_STORAGE_ES_QUERY_MAX_SIZE:5000}
- segmentQueryMaxSize: \${SW_STORAGE_ES_QUERY_SEGMENT_SIZE:200}
-EOT
-}
-
-generateStorageH2() {
- cat <<EOT >> ${var_application_file}
-storage:
- 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}
- metadataQueryMaxSize: \${SW_STORAGE_H2_QUERY_MAX_SIZE:5000}
-EOT
-}
-
-generateStorageMySQL() {
- cat <<EOT >> ${var_application_file}
-storage:
- mysql:
- properties:
- jdbcUrl: ${SW_JDBC_URL:"jdbc:mysql://localhost:3306/swtest"}
- dataSource.user: ${SW_DATA_SOURCE_USER:root}
- dataSource.password: ${SW_DATA_SOURCE_PASSWORD:root@1234}
- dataSource.cachePrepStmts: ${SW_DATA_SOURCE_CACHE_PREP_STMTS:true}
- dataSource.prepStmtCacheSize:
${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_SIZE:250}
- dataSource.prepStmtCacheSqlLimit:
${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_LIMIT:2048}
- dataSource.useServerPrepStmts:
${SW_DATA_SOURCE_USE_SERVER_PREP_STMTS:true}
- metadataQueryMaxSize: \${SW_STORAGE_MYSQL_QUERY_MAX_SIZE:5000}
-EOT
-}
-
-generateStorageInfluxDB() {
- cat <<EOT >> ${var_application_file}
-storage:
- influx:
- # Metadata storage provider configuration
- metabaseType: \${SW_STORAGE_METABASE_TYPE:H2} # There are 2 options as
Metabase provider, H2 or MySQL.
- h2Props:
- dataSourceClassName:
\${SW_STORAGE_METABASE_DRIVER:org.h2.jdbcx.JdbcDataSource}
- dataSource.url: \${SW_STORAGE_METABASE_URL:jdbc:h2:mem:skywalking-oap-db}
- dataSource.user: \${SW_STORAGE_METABASE_USER:sa}
- dataSource.password: \${SW_STORAGE_METABASE_PASSWORD:}
- mysqlProps:
- jdbcUrl: \${SW_STORAGE_METABASE_URL:"jdbc:mysql://localhost:3306/swtest"}
- dataSource.user: \${SW_STORAGE_METABASE_USER:root}
- dataSource.password: \${SW_STORAGE_METABASE_PASSWORD:root@1234}
- dataSource.cachePrepStmts: \${SW_STORAGE_METABASE_CACHE_PREP_STMTS:true}
- dataSource.prepStmtCacheSize:
\${SW_STORAGE_METABASE_PREP_STMT_CACHE_SQL_SIZE:250}
- dataSource.prepStmtCacheSqlLimit:
\${SW_STORAGE_METABASE_PREP_STMT_CACHE_SQL_LIMIT:2048}
- dataSource.useServerPrepStmts:
\${SW_STORAGE_METABASE_USE_SERVER_PREP_STMTS:true}
- metadataQueryMaxSize: \${SW_STORAGE_METABASE_QUERY_MAX_SIZE:5000}
- # InfluxDB configuration
- url: \${SW_STORAGE_INFLUXDB_URL:http://localhost:8086}
- user: \${SW_STORAGE_INFLUXDB_USER:root}
- password: \${SW_STORAGE_INFLUXDB_PASSWORD:}
- database: \${SW_STORAGE_INFLUXDB_DATABASE:skywalking}
- actions: \${SW_STORAGE_INFLUXDB_ACTIONS:1000} # the number of actions to
collect
- duration: \${SW_STORAGE_INFLUXDB_DURATION:1000} # the time to wait at most
(milliseconds)
- fetchTaskLogMaxSize: \${SW_STORAGE_INFLUXDB_FETCH_TASK_LOG_MAX_SIZE:5000}
# the max number of fetch task log in a request
-EOT
-}
-
-generateConfigurationNone() {
- cat <<EOT >> ${var_application_file}
-configuration:
- none:
-EOT
-}
-
-generateConfigurationApollo() {
- cat <<EOT >> ${var_application_file}
-configuration:
- apollo:
- apolloMeta: \${SW_CONFIGURATION_APOLLO_META:http://apollo:8080}
- apolloCluster: \${SW_CONFIGURATION_APOLLO_CLUSTER:default}
- apolloEnv: \${SW_CONFIGURATION_APOLLO_ENV:""}
- appId: \${SW_CONFIGURATION_APOLLO_APP_ID:skywalking}
- period: \${SW_CONFIGURATION_APOLLO_PERIOD:5}
-EOT
-}
-
-generateConfigurationNacos() {
- cat <<EOT >> ${var_application_file}
-configuration:
- nacos:
- # Nacos Server Host
- serverAddr: \${SW_CONFIGURATION_NACOS_SERVER_ADDR:nacos}
- # Nacos Server Port
- port: \${SW_CONFIGURATION_NACOS_PORT:8848}
- # Nacos Configuration Group
- group: \${SW_CONFIGURATION_NACOS_GROUP:skywalking}
- # Nacos Configuration namespace
- namespace: \${SW_CONFIGURATION_NACOS_NAMESPACE:""}
- # Unit seconds, sync period. Default fetch every 60 seconds.
- period : \${SW_CONFIGURATION_NACOS_PERIOD:5}
- # the name of current cluster, set the name if you want to upstream system
known.
- clusterName: \${SW_CONFIGURATION_NACOS_CLUSTER_NAME:default}
-EOT
-}
-
-generateConfigurationZookeeper() {
- cat <<EOT >> ${var_application_file}
-configuration:
- zookeeper:
- period: \${SW_CONFIGURATION_ZOOKEEPER_PERIOD:60} # Unit seconds, sync
period. Default fetch every 60 seconds.
- nameSpace: \${SW_CONFIGURATION_ZOOKEEPER_NAMESPACE:/default}
- hostPort: \${SW_CONFIGURATION_ZOOKEEPER_HOST_PATH:localhost:2181}
- #Retry Policy
- baseSleepTimeMs: \${SW_CONFIGURATION_ZOOKEEPER_BASE_SLEEP_TIME_MS:1000} #
initial amount of time to wait between retries
- maxRetries: \${SW_CONFIGURATION_ZOOKEEPER_MAX_RETRIES:3}3 # max number of
times to retry
-EOT
-}
-
-generateConfigurationGRPC() {
- cat <<EOT >> ${var_application_file}
-configuration:
- grpc:
- host: \${SW_CONFIGURATION_GRPC_HOST:127.0.0.1}
- port: \${SW_CONFIGURATION_GRPC_PORT:9555}
- period: \${SW_CONFIGURATION_GRPC_PERIOD:60}
- clusterName: \${SW_CONFIGURATION_GRPC_CLUSTER_NAME:"default"}
-EOT
-}
-
-generateConfigurationConsul() {
- cat <<EOT >> ${var_application_file}
-configuration:
- consul:
- # Consul host and ports, separated by comma, e.g. 1.2.3.4:8500,2.3.4.5:8500
- hostAndPorts: \${SW_CONFIGURATION_CONSUL_ADDRESS:127.0.0.1:8500}
- # Sync period in seconds. Defaults to 60 seconds.
- period: \${SW_CONFIGURATION_CONSUL_PERIOD:60}
-EOT
-}
-
-generateTelemetryNone() {
- cat <<EOT >> ${var_application_file}
-telemetry:
- none:
-EOT
-}
-
-generateTelemetryPrometheus() {
- cat <<EOT >> ${var_application_file}
-telemetry:
- prometheus:
- host: \${SW_TELEMETRY_PROMETHEUS_HOST:0.0.0.0}
- port: \${SW_TELEMETRY_PROMETHEUS_PORT:1234}
-EOT
-}
-
-generateTelemetrySo11y() {
- cat <<EOT >> ${var_application_file}
-telemetry:
- so11y:
- prometheusExporterEnabled: \${SW_TELEMETRY_SO11Y_PROMETHEUS_ENABLED:true}
- prometheusExporterHost: \${SW_TELEMETRY_PROMETHEUS_HOST:0.0.0.0}
- prometheusExporterPort: \${SW_TELEMETRY_PROMETHEUS_PORT:1234}
-EOT
-}
-
-validateVariables() {
- name=$1; value=$2; list=$3
- valid=false
- for c in ${list} ; do
- if [[ "$c" = "$value" ]]; then
- valid=true
- fi
- done
- if ! ${valid}; then
- echo "Error: $name=$value please specify $name = $list"
- exit 1
- fi
-}
-
-generateApplicationYaml() {
- # validate
- [[ -z "$SW_CLUSTER" ]] && [[ -z "$SW_STORAGE" ]] && [[ -z
"$SW_CONFIGURATION" ]] \
- && [[ -z "$SW_TELEMETRY" ]] \
- && { echo "Error: please specify \"SW_CLUSTER\" \"SW_STORAGE\"
\"SW_CONFIGURATION\" \"SW_TELEMETRY\""; exit 1; }
-
- validateVariables "SW_CLUSTER" "$SW_CLUSTER" "standalone zookeeper
kubernetes consul etcd nacos"
-
- validateVariables "SW_STORAGE" "$SW_STORAGE" "elasticsearch h2 mysql
influxdb"
Review comment:
FYI @wu-sheng and @hanahmily , here is another bug in the Docker image, with
this, the docker image for es7 never works
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services