# Licensed to 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. Apache Software Foundation (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. # static configuration of OAPServer apiVersion: operator.skywalking.apache.org/v1alpha1 kind: OAPServerConfig metadata: name: oapserverconfig-sample namespace: skywalking-system spec: # The version of OAPServer version: 9.5.0 # The env configuration of OAPServer env: - name: ONLY_TEST value: testonly - name: JAVA_OPTS value: -Xmx2048M - name: SW_CLUSTER value: kubernetes - name: SW_CLUSTER_K8S_NAMESPACE value: skywalking-system # enable the dynamic configuration - name: SW_CONFIGURATION value: k8s-configmap # set the labelselector of the dynamic configuration - name: SW_CLUSTER_K8S_LABEL value: app=collector,release=skywalking - name: SW_TELEMETRY value: prometheus - name: SW_HEALTH_CHECKER value: default - name: SKYWALKING_COLLECTOR_UID valueFrom: fieldRef: fieldPath: metadata.uid - name: SW_LOG_LAL_FILES value: test1 - name: SW_LOG_MAL_FILES value: test2 # The file configuration of OAPServer # we should avoid setting the same name in the file file: - name: test1.yaml path: /skywalking/config/lal data: | rules: - name: example layer: GENERAL dsl: | filter { text { abortOnFailure false // for test purpose, we want to persist all logs regexp $/(?s)(?\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}.\d{3}) \[TID:(?.+?)] \[(?.+?)] (?\w{4,}) (?.{1,36}) (?.+)/$ } extractor { metrics { timestamp log.timestamp as Long labels level: parsed.level, service: log.service, instance: log.serviceInstance name "log_count" value 1 } } sink { } } - name: test2.yaml path: /skywalking/config/log-mal-rules data: | expSuffix: instance(['service'], ['instance'], Layer.GENERAL) metricPrefix: log metricsRules: - name: count_info exp: log_count.tagEqual('level', 'INFO').sum(['service', 'instance']).downsampling(SUM)