A native executable is a precompiled binary that runs directly on a target operating system and hardware platform. Removing an interpreter or virtual machine reduces startup and memory overhead, which suits compact agents that must start quickly and use limited CPU and memory. section 1.3.1 section 3.2.1
Direct execution also makes platform compatibility a deployment concern. A binary depends on libraries that can communicate with its OS and hardware; unsupported combinations can disable features or prevent a usable build. Apple silicon and macOS are highlighted as common cases. When no suitable binary exists, options include developing a solution, using a VM or chipset emulator such as QEMU, or running elsewhere through a cloud provider. section 3.2.1
Native binaries support operational goals in several ways:
- Start rapidly and minimize interpreter-related CPU and memory overhead in containerized and Kubernetes workloads. section 1.3.1
- Collect OS resource data at a low refresh rate to verify capacity and avoid inefficient swap use. section 3.2.1
- Package specialized Go-based extensions as native binaries without exposing proprietary implementation details. section 9.5.1
- Retain native-binary performance while using Go runtime memory management and C bindings for integration. section 9.5.1
Run basic OS monitoring
Configure disk, CPU, memory, and network-interface inputs with five-second intervals and send matching records to standard output. Running `fluent-bit -c chapter3/fluentbit/os-monitoring-basic.conf` produces resource events that can be formatted with `jq`; CPU output includes total, user-process, and system-process utilization. section 3.2.1
Listing 3.1 Performing basic OS monitoring
[INPUT] name disk #1 interval_sec 5 tag book_vm_disk [INPUT] name cpu #2 interval_sec 5 tag book_vm_cpu [INPUT] name mem #3 interval_sec 5 tag book_vm_memory [INPUT] name netif #4 interval_sec 5 #interface eth0 #5 tag book_vm_network [OUTPUT] name stdout match * #6
This configuration shows native-agent inputs for disk, CPU, memory, and network monitoring, each tagged for routing to standard output. section 3.2.1



