13 Using more nonfile emitting techniques

 

This chapter covers

  • Sending telemetry using sockets/datagrams
  • Getting telemetry out of containers or FaaS
  • Encrypting telemetry over datagrams

In this chapter, we cover emitting telemetry using additional methods other than files (section 2.1.1) or the standard output (also known as the console or stdout; section 2.1.3). Chapters 2 and 3 covered emitting techniques that also aren’t files or the standard output:

  • The system logger, such as Syslog or Windows Event Log (section 2.1.2).
  • Queues and streams (section 3.1.2), with chapter 8 giving complete sample architectures using queues and streams.
  • SaaS APIs (section 3.1.3), useful for delegating Shipping- and Presentation-stage services to a third party. The same technique is useful for technical organizations that require use of API endpoints for everything rather than other techniques, such as queues.
  • Directly into storage, bypassing the need for any further Shipping-stage systems (section 3.1.1).

This chapter will be adding more emitting techniques to our toolkit to handle additional cases. We will be looking at both container and FaaS (also known as serverless) environments, where writing files is a definite anti-pattern. Some serverless platforms lack a system logger, so that method is not available. Although the Kubernetes standard-output handler is highly featured, politics and telemetry formatting standards can make that telemetry delivery service less attractive than bypassing it.

13.1 Designing for socket- and datagram-based emitters

13.2 Emitting and shipping for container- and serverless-based code

13.2.1 Emitting and shipping from containerd-based code

13.2.2 Emitting and shipping from serverless-based code

13.3 Encrypting UDP-based telemetry

Summary