Blog cleanup (#1715)

* Blog cleanup

Signed-off-by: svrnm <neumanns@cisco.com>

* fix zipkin UI url in apisix blog

Signed-off-by: svrnm <neumanns@cisco.com>
This commit is contained in:
Severin Neumann 2022-09-07 09:06:43 +02:00 committed by GitHub
parent 558ea3516c
commit a550dc7c82
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
40 changed files with 44 additions and 41 deletions

View File

Before

Width:  |  Height:  |  Size: 401 KiB

After

Width:  |  Height:  |  Size: 401 KiB

View File

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 86 KiB

View File

Before

Width:  |  Height:  |  Size: 179 KiB

After

Width:  |  Height:  |  Size: 179 KiB

View File

@ -2,7 +2,9 @@
title: Apache APISIX Integrates with OpenTelemetry to Collect Tracing Data
linkTitle: Apache APISIX-Opentelemetry Integration
date: 2022-03-26
author: Haochao Zhuang, Fei Han
author: >-
[Haochao Zhuang](https://github.com/dmsolr),
[Fei Han](https://github.com/hf400159)
canonical_url: https://apisix.apache.org/blog/2022/02/28/apisix-integration-opentelemetry-plugin/
---
@ -19,7 +21,7 @@ backends, such as Jaeger, Zipkin, and OpenCensus. You can view the list of
plugins that have adapted the OpenTelemetry Collector in the
[registry](/registry/?s=collector).
![Architecture-Present](/img/apisix/architecture-present.png)
![Architecture-Present](architecture-present.png)
## Plugin Introduction
@ -170,7 +172,7 @@ After the access is successful, you can see the details of the span similar to
`/put` in the Jaeger UI, and you can see that the custom tags in the route are
displayed in the Tags list: `http_x-custom-ot-key` and `route_id`.
![Jaeger UI](/img/apisix/jaeger-ui-1.png)
![Jaeger UI](jaeger-ui-1.png)
You need to note that the `additional_attributes` configuration is set to take
values from Apache APISIX and Nginx variables as `attribute` values, so
@ -206,23 +208,23 @@ successful.
The following screenshots show an example of successful access.
![Jaeger UI](/img/apisix/jaeger-ui-2.png)
![Jaeger UI](jaeger-ui-2.png)
![Zipkin UI](/img/apisix/zipkin-ui-1.png)
![Zipkin UI](zipkin-ui-1.png)
### Step 2: Configure the Test Environment
The Apache APISIX service is introduced, and the topology of the final
application is shown in the following figure.
![topology of the demo](/img/apisix/demo-topology.png)
![topology of the demo](demo-topology.png)
The Trace data reporting process is as follows. Among them, since Apache APISIX
is deployed separately and not in the network of docker-compose, Apache APISIX
accesses the OTLP HTTP Receiver of OpenTelemetry Collector through the locally
mapped port (`127.0.0.1:4138`).
![Trace data reporting process](/img/apisix/trace-data-flow.png)
![Trace data reporting process](trace-data-flow.png)
You need to make sure you have enabled the `opentelemetry` plugin and reload
Apache APISIX.
@ -350,21 +352,21 @@ details, see [Installation via Docker](https://apisix.apache.org/docs/apisix/how
After the redeployment is completed, you can access the Jaeger UI or Zipkin UI
to see that the Span of APISIX is included in the Trace, as shown below:
![Jaeger UI](/img/apisix/jaeger-ui-3.png)
![Jaeger UI](jaeger-ui-3.png)
![Zipkin UI](/img/apisix/zipkin-ui-2.png)
![Zipkin UI](zipkin-ui-2.png)
When demo-server is not instrumented, you can still getting visibility of the
demo-server behavior by enabling this plugin. Although this is not a typical
case, it is a poor-man substitute of a real instrumentation of demo-server and
provides a lot of value.
![upstream-not-instrumented](/img/apisix/upstream-not-instrumented.png)
![upstream-not-instrumented](upstream-not-instrumented.png)
When the request does not reach the demo-server, the output would not include
the span of demo-server.
![demo-server disconnected](/img/apisix/demo-server-disconnected.png)
![demo-server disconnected](demo-server-disconnected.png)
## Disable the Plugin

View File

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 115 KiB

View File

Before

Width:  |  Height:  |  Size: 217 KiB

After

Width:  |  Height:  |  Size: 217 KiB

View File

Before

Width:  |  Height:  |  Size: 165 KiB

After

Width:  |  Height:  |  Size: 165 KiB

View File

Before

Width:  |  Height:  |  Size: 403 KiB

After

Width:  |  Height:  |  Size: 403 KiB

View File

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 84 KiB

View File

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 79 KiB

View File

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 98 KiB

View File

Before

Width:  |  Height:  |  Size: 117 KiB

After

Width:  |  Height:  |  Size: 117 KiB

View File

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 78 KiB

View File

@ -2,10 +2,10 @@
title: Announcing a Community Demo for OpenTelemetry
linkTitle: OpenTelemetry Community Demo
date: 2022-06-20
author: Carter Socha
author: "[Carter Socha](https://github.com/cartersocha)"
---
### TL;DR
## TL;DR
The OpenTelemetry community has taken a good pre-existing demo (thanks,
[Google](https://github.com/GoogleCloudPlatform/microservices-demo)!) and is in
@ -24,7 +24,7 @@ some stretching and take a water break in the meantime.
Your command line output should look like this:
![Screenshot of the console output.](/img/blog/otel-webstore-app-output.png
![Screenshot of the console output.](otel-webstore-app-output.png
"Screenshot of the console output")
- Once the images are built you can access the Webstore at:
@ -83,7 +83,7 @@ gRPC, Redis, and HTTP libraries
### Current Architecture
![Screenshot of the current
architecture.](/img/blog/current-demo-architecture.png "Screenshot of the
architecture.](current-demo-architecture.png "Screenshot of the
current architecture")
### BYOB (Bring Your Own Backend)
@ -143,7 +143,7 @@ ourselves to just the items listed here.
### Future Architecture
![Screenshot of the future architecture.](/img/blog/future-demo-architecture.png
![Screenshot of the future architecture.](future-demo-architecture.png
"Screenshot of the future architecture")
## Going Forward

View File

Before

Width:  |  Height:  |  Size: 584 KiB

After

Width:  |  Height:  |  Size: 584 KiB

View File

Before

Width:  |  Height:  |  Size: 168 KiB

After

Width:  |  Height:  |  Size: 168 KiB

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

View File

@ -4,7 +4,7 @@ linkTitle: Instrument Apache Http Server
date: 2022-05-27
spelling:
cSpell:ignore Centos centos7 Debajit debuggability libmod OLTP uncompress
author: Debajit Das
author: "[Debajit Das](https://github.com/DebajitDas) (Cisco)"
---
If you are using Apache Web Server and in dire need of some observability tool
@ -59,13 +59,13 @@ To send a request to Apache webServer you can either use curl from terminal
landing page saying "Testing 123..." for Apache Http Server on Centos will be
displayed as below:
![Testing](/img/instrument-apache-http-server/testing.png)
![Testing](testing.png)
Now, traces and spans can be seen on the Zipkin backend. To view them, visit
[localhost:9411][] in your browser and click on **Run Query** button. Following
is the screenshot from Zipkin UI showing spans emitted by the Apache webServer.
![Span-List](/img/instrument-apache-http-server/span-list.png)
![Span-List](span-list.png)
This shows a list of queries or endpoints that have been triggered to Apache
WebServer, such as `/noindex/css`.
@ -73,7 +73,7 @@ WebServer, such as `/noindex/css`.
To see the details click on any of the **SHOW** buttons. Below is the screenshot
from the Zipkin UI showing the span hierarchy.
![A screenshot from the Zipkin UI showing the span hierarchy](/img/instrument-apache-http-server/span-hierarchy.png)
![A screenshot from the Zipkin UI showing the span hierarchy](span-hierarchy.png)
The above shows that as a part of this request, `mod_proxy`,
`mod_proxy_balancer` and `mod_dav` got involved in the request processing and
@ -95,7 +95,7 @@ Zipkin backend. The following steps are required to be done.
- Add `AddType application/x-httpd-php .html` in `/etc/httpd/conf/httpd.conf` as
mentioned below:
![Php-Config](/img/instrument-apache-http-server/php-config.png)
![Php-Config](php-config.png)
- Create a file named as `index.html` in the **/var/www/html** directory and add
the following text
@ -123,13 +123,13 @@ Zipkin backend. The following steps are required to be done.
- Now, visit [localhost:9004/index.html][]. You should see something like this:
![Php-Response](/img/instrument-apache-http-server/php-response.png)
![Php-Response](php-response.png)
- Now, traces and spans can be seen on the Zipkin backend. To view them, type
[localhost:9411][] on the browser and click on the **Run Query** Button. To
see the details, click on the **SHOW** button corresponding to `/index.html`.
![Span-Delay](/img/instrument-apache-http-server/span-delay.png)
![Span-Delay](span-delay.png)
- We can see that, `mod_php5.c_handler` consumes around **1 second** which
contributes to the overall time-consumption of the request.
@ -208,17 +208,17 @@ writing this blog, support for other architectures is not provided.
`Include conf/opentelemetry_module.conf` at the end of the file as mentioned
below:
![Conf](/img/instrument-apache-http-server/conf.png)
![Conf](conf.png)
- Now lets look at opentelemetry_module.conf and its contents:
- The below LoadFile are the dependent libraries that come with the package.
![LoadFile](/img/instrument-apache-http-server/loadfile.png)
![LoadFile](loadfile.png)
- The below configuration are for the OpenTelemetry Module
![LoadModule](/img/instrument-apache-http-server/loadmodule.png)
![LoadModule](loadmodule.png)
In the case of Apache 2.2, `libmod_apache_otel22.so` needs to be used
instead of `libmod_apache_otel.so`
@ -226,12 +226,12 @@ writing this blog, support for other architectures is not provided.
- The following directive should be ON for the openTelemetry module to be
enabled, else it would be disabled.
![enabled](/img/instrument-apache-http-server/enabled.png)
![enabled](enabled.png)
- Since the module works with the Collector and sends data in OLTP format, the
following directives are necessary.
![exporter](/img/instrument-apache-http-server/exporter.png)
![exporter](exporter.png)
_ApacheModuleOtelExporterEndpoint_ should point to the endpoint of the
collector
@ -239,7 +239,7 @@ writing this blog, support for other architectures is not provided.
- ServiceNamespace, ServiceName and ServiceInstanceId should be provided by
the following directives.
![service](/img/instrument-apache-http-server/service.png)
![service](service.png)
- All other directives are either optional and can be kept as it is for this
guide
@ -247,7 +247,7 @@ writing this blog, support for other architectures is not provided.
- To verify whether Apache OpenTelemetry Module is properly enabled into Apache
Web Server, type `httpd -M` and look for `otel_apache_module (shared)`
![verify-module](/img/instrument-apache-http-server/verify-module.png)
![verify-module](verify-module.png)
- Now, restart the apache module and open telemetry module should be
instrumented.

View File

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 100 KiB

View File

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 67 KiB

View File

Before

Width:  |  Height:  |  Size: 315 KiB

After

Width:  |  Height:  |  Size: 315 KiB

View File

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View File

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

Before

Width:  |  Height:  |  Size: 407 KiB

After

Width:  |  Height:  |  Size: 407 KiB

View File

Before

Width:  |  Height:  |  Size: 459 KiB

After

Width:  |  Height:  |  Size: 459 KiB

View File

Before

Width:  |  Height:  |  Size: 565 KiB

After

Width:  |  Height:  |  Size: 565 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

View File

Before

Width:  |  Height:  |  Size: 133 KiB

After

Width:  |  Height:  |  Size: 133 KiB

View File

@ -3,9 +3,9 @@ title: Learn how to instrument nginx with OpenTelemetry
linkTitle: Instrument Nginx
date: 2022-08-22
author: >-
[Debajit Das](https://github.com/debajitdas), [Kumar
Pratyus](https://github.com/kpratyus), and [Severin
Neumann](https://github.com/svrnm)
[Debajit Das](https://github.com/debajitdas),
[Kumar Pratyus](https://github.com/kpratyus),
[Severin Neumann](https://github.com/svrnm) (Cisco)
spelling: >
cSpell:ignore Debajit Kumar Pratyus Severin Neumann webserver xvfz tracestate
cSpell:ignore catalina javaagent jaegertracing protobuf WORKDIR

View File

@ -52,7 +52,7 @@ The processor internally maintains a list of pods and an associated attribute,
usually the IP address of the pod, and uses this attribute to know which pod
generates a certain span.
![k8sattributes processor data flow](/img/blog-k8s-metadata/k8sprocessor.png)
![k8sattributes processor data flow](k8sprocessor.png)
In the figure above you can see how the data flows: The table of pods is fetched
using Kubernetes API, while the pod IP is extracted from the connection context
@ -148,7 +148,7 @@ contains the permissions to fetch the pod list.
Next, deploy the manifest and the [vert.x example app][] to generate some
traces.
![Jaeger UI showing the span attributes](/img/blog-k8s-metadata/jaeger-k8sattributes.png)
![Jaeger UI showing the span attributes](jaeger-k8sattributes.png)
As you can see, each span of the trace now has the corresponding pod attributes
attached to it.

View File

Before

Width:  |  Height:  |  Size: 154 KiB

After

Width:  |  Height:  |  Size: 154 KiB

View File

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 49 KiB

View File

@ -3,7 +3,7 @@ title: Distributed tracing in Knative
linkTitle: Tracing in Knative
date: 2022-04-12
spelling: cSpell:ignore Cloudevents istio Loffay Pavol pavolloffay
author: Pavol Loffay
author: "[Pavol Loffay](https://github.com/pavolloffay)"
---
In this article, you will learn how distributed tracing works in Knative and we
@ -35,7 +35,7 @@ request or transaction. On the diagram below there are two user workloads (first
and second) and an incoming request marked as (1. HTTP) that goes to use
workload first and then to the workload second as a cloud event message.
![Knative data flow: incoming HTTP request goes through Knative service and queue-proxy sidecar container before it reaches a workload](/img/blog-knative/knative-data-flow.jpg)
![Knative data flow: incoming HTTP request goes through Knative service and queue-proxy sidecar container before it reaches a workload](knative-data-flow.jpg)
There are two important facts about this diagram:
@ -70,7 +70,7 @@ service receives an HTTP call and sends a cloud event to the second service. The
full demo source code can be found in
[pavolloffay/knative-tracing](https://github.com/pavolloffay/knative-tracing).
![Jaeger screenshot showing a Knative trace](/img/blog-knative/jaeger-knative-trace.jpg)
![Jaeger screenshot showing a Knative trace](jaeger-knative-trace.jpg)
The trace shows the following services interacting: activator, first workload,
broker-ingress, imc-dispatcher, broker-filter, activator, and second workload.
@ -166,7 +166,7 @@ The document standardizes attributes related to CloudEvents. The screenshot
below is from the demo application that is still not using the standardized
attribute names:
![A screenshot from Jaeger that shows Knative attributes](/img/blog-knative/jaeger-knative-attributes.jpg)
![A screenshot from Jaeger that shows Knative attributes](jaeger-knative-attributes.jpg)
### Configuration

View File

Before

Width:  |  Height:  |  Size: 190 KiB

After

Width:  |  Height:  |  Size: 190 KiB

View File

Before

Width:  |  Height:  |  Size: 202 KiB

After

Width:  |  Height:  |  Size: 202 KiB

View File

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View File

@ -3,7 +3,7 @@ title: >-
Introducing new resources for OpenTelemetry end users to connect and discover
best practices
linkTitle: End User Resources
author: OpenTelemetry End User Working Group
author: "[OpenTelemetry End User Working Group](https://github.com/open-telemetry/community/tree/main/working-groups/end-user)"
date: 2022-06-30
---

View File

@ -1,7 +1,7 @@
---
title: OpenTelemetry Tuesdays, Signing Off!
date: 2022-03-21
author: Austin Parker
author: "[Austin Parker](https://github.com/austinlparker)"
---
When we started running OpenTelemetry Tuesday live streams back in 2019, the

View File

@ -3,6 +3,7 @@ title: Checklist for TroublesShooting OpenTelemetry Node.js Tracing Issues
linkTitle: TroublesShooting Node.js Tracing Issues
date: 2022-02-22
canonical_url: https://www.aspecto.io/blog/checklist-for-troubleshooting-opentelemetry-nodejs-tracing-issues
author: "[Amir Blum](https://github.com/blumamir) (Aspecto)"
---
Ill try to make this one short and to the point. You are probably here because