Unverified Commit 924f25fe authored by Gao Hongtao's avatar Gao Hongtao Committed by GitHub
Browse files

Self observability of OAP backend (#3140)

* First commit

* Fix e2e test and some nits

* Documenting so11y and setting default values of it in dev env
parent 8d234a91
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -256,6 +256,8 @@ receiver-jvm:
  default:
receiver-clr:
  default:
receiver-so11y:
  default:
service-mesh:
  default:
    bufferPath: \${SW_SERVICE_MESH_BUFFER_PATH:../mesh-buffer/}  # Path to trace buffer files, suggest to use absolute path
@@ -270,9 +272,10 @@ query:
alarm:
  default:
telemetry:
  prometheus:
    host: \${SW_TELEMETRY_PROMETHEUS_HOST:0.0.0.0}
    port: \${SW_TELEMETRY_PROMETHEUS_PORT:1234}
  so11y:
    prometheusExporterEnabled: \${SW_TELEMETRY_SO11Y_PROMETHEUS_ENABLED:true}
    prometheusExporterHost: \${SW_TELEMETRY_PROMETHEUS_HOST:0.0.0.0}
    prometheusExporterPort: \${SW_TELEMETRY_PROMETHEUS_PORT:1234}
EOT
    # generate configuration
    case ${SW_CONFIGURATION} in
+27 −1
Original line number Diff line number Diff line
@@ -28,3 +28,29 @@ Provide two grafana dashboard settings.
1. Use [SkyWalking trace-mode dashboard](telemetry/trace-mode-grafana.json) when SkyWalking is used with tracing agent.
1. Use [SkyWalking mesh-mode dashboard](telemetry/mesh-mode-grafana.json) when SkyWalking is used with service mesh
telemetry, including istio, envoy. 

## Self Observability

SkyWalking supports to collect telemetry data into OAP backend directly. Users could check them out through UI or
GraphQL API then.

Adding following configuration to enable `so11y`(self-observability) related modules.

```yaml
receiver-so11y:
  default:
telemetry:
  so11y:
```

Another example represents how to combine `promethues` and `so11y`. Adding some items in `so11y` to make it happen.

```yaml
telemetry:
  so11y:
    prometheusExporterEnabled: true
    prometheusExporterHost: 0.0.0.0
    prometheusExporterPort: 1234
```

Then prometheus exporter is listening on `0.0.0.0:1234`.
+1 −0
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@
        <module>skywalking-clr-receiver-plugin</module>
        <module>jaeger-receiver-plugin</module>
        <module>receiver-proto</module>
        <module>skywalking-so11y-receiver-plugin</module>
    </modules>

    <dependencies>
+41 −0
Original line number Diff line number Diff line
<?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.
  ~
  -->

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>server-receiver-plugin</artifactId>
        <groupId>org.apache.skywalking</groupId>
        <version>6.3.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>skywalking-so11y-receiver-plugin</artifactId>

    <dependencies>
        <dependency>
            <groupId>org.apache.skywalking</groupId>
            <artifactId>telemetry-api</artifactId>
            <version>${project.version}</version>
        </dependency>
    </dependencies>


</project>
 No newline at end of file
+27 −0
Original line number Diff line number Diff line
/*
 * 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.
 *
 */

package org.apache.skywalking.oap.server.receiver.so11y;

import org.apache.skywalking.oap.server.library.module.ModuleConfig;

/**
 * Self observability receiver config.
 */
public class So11yReceiverConfig extends ModuleConfig {
}
Loading