2.2.1通过Golang+eBPF实现无侵入应用可观测
通过Golang + eBPF实现无侵入应用可观测 张海彬 阿里云 应用可观测技术专家 目 录 eBPF简介 01 eBPF在云原生场景下的应用 02 微服务可观测的挑战 03 Golang + eBPF实现数据采集 04 构建完整的应用可观测系统 05 eBPF简介 第一部分 eBPF简介 01. eBPF简介 eBPF = extended Berkeley Packet 内存管理,文件管理, 夯机宕机,资源异 常… 应用组件异常:线程池满,数据库连接无法获取, OOM,文件读取错误… 无法自顶向下端到端 串联导致棘手问题频 发。 Kubernetes下的可观测 Golang + eBPF实现数据采 集 第四部分 eBPF在可观测领域的优势 无侵入 多语言/多协议/多框架 全栈覆盖 无侵入性 • 无需修改代码 • 无需重启应用 • Verifier保证运行安全 程序跟其他的用户空间的程序没有太大区别 编译成二进制文件,可以适应不同运行环境 libbpf 扮演bpf程序装载机角色 开发人员只需要关注bpf程序的正确性和性能,不 需要关注其他依赖关系 通过Golang加载eBPF程序 01. 副标题 func loadSync() error { // Allow the current process to lock memory for eBPF0 码力 | 29 页 | 3.83 MB | 1 年前3Cilium v1.5 Documentation
(OS-specific) glibc-devel (32-bit) latest N/A (OS-specific) go [h�ps://golang.org/dl/] 1.12.17 N/A (OS-specific) dep [h�ps://github.com/golang/dep/] >= v0.4.1 curl https://raw.g go-bindata [h�ps://github.com/cilium/go- space viola�ons Run make to build your changes. This will also run go fmt and error out on any golang forma�ng errors. See Unit Tes�ng on how to run unit tests. See End-To-End Tes�ng Framework for how to run the end to end integra�on tests Unit Testing Cilium uses the standard go test [h�ps://golang.org/pkg/tes�ng/] framework in combina�on with gocheck [h�p://labix.org/gocheck] for richer tes�ng0 码力 | 740 页 | 12.52 MB | 1 年前3Cilium v1.7 Documentation
Development Setup Requirements Vagrant Setup Local Development in Vagrant Box Making Changes Add/update a golang dependency Debugging Building Container Images Developer images Official release images Update posts Books Talks Further Documents API Reference Introduction How to access the API CLI Client Golang Package Compatibility Guarantees API Reference Reference Command Cheatsheet Command utilities:/ where is a value that can be parsed with ParseDuration() [https://golang.org/pkg/time/#ParseDuration]. The supported units are: ns, us, ms, s, m, h. Examples: rate-limit:10/2m 0 码力 | 885 页 | 12.41 MB | 1 年前3Cilium v1.8 Documentation
Development Setup Requirements Vagrant Setup Local Development in Vagrant Box Making Changes Add/update a golang dependency Optional: Docker and IPv6 Debugging Building Container Images Developer images Official posts Books Talks Further Documents API Reference Introduction How to access the API CLI Client Golang Package Compatibility Guarantees API Reference Hubble internals Hubble Architecture Hubble server/ where is a value that can be parsed with ParseDuration() [https://golang.org/pkg/time/#ParseDuration]. The supported units are: ns, us, ms, s, m, h. Examples: rate-limit:10/2m 0 码力 | 1124 页 | 21.33 MB | 1 年前3Cilium v1.6 Documentation
(OS-specific) go 1.12.17 N/A (OS-specific) dep >= v0.4.1 curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh go-bindata a0ff2567cfb go get -u github.com/cilium/go-bindata/... ginkgo space violations 6. Run make to build your changes. This will also run go fmt and error out on any golang formatting errors. 7. See Unit Testing on how to run unit tests. 8. See End-To-End Testing Framework to run the end to end integration tests Unit Testing Cilium uses the standard go test [https://golang.org/pkg/testing/] framework in combination with gocheck [http://labix.org/gocheck] for richer testing0 码力 | 734 页 | 11.45 MB | 1 年前3Cilium v1.10 Documentation
Development Setup Requirements Vagrant Setup Local Development in Vagrant Box Making Changes Add/update a golang dependency Add/update a new Kubernetes version Optional: Docker and IPv6 Debugging Building Container posts Books Talks Further Documents API Reference Introduction How to access the API CLI Client Golang Package Compatibility Guarantees API Reference Internals Hubble internals Hubble Architecture/ where is a value that can be parsed with ParseDuration() [https://golang.org/pkg/time/#ParseDuration]. The supported units are: ns, us, ms, s, m, h. Examples: rate-limit:10/2m 0 码力 | 1307 页 | 19.26 MB | 1 年前3Cilium v1.9 Documentation
Development Setup Requirements Vagrant Setup Local Development in Vagrant Box Making Changes Add/update a golang dependency Add/update a new Kubernetes version Optional: Docker and IPv6 Debugging Building Container posts Books Talks Further Documents API Reference Introduction How to access the API CLI Client Golang Package Compatibility Guarantees API Reference Hubble internals Hubble Architecture Hubble server/ where is a value that can be parsed with ParseDuration() [https://golang.org/pkg/time/#ParseDuration]. The supported units are: ns, us, ms, s, m, h. Examples: rate-limit:10/2m 0 码力 | 1263 页 | 18.62 MB | 1 年前3Cilium v1.11 Documentation
Development Setup Requirements Vagrant Setup Local Development in Vagrant Box Making Changes Add/update a golang dependency Add/update a new Kubernetes version Optional: Docker and IPv6 Debugging Building Container posts Books Talks Further Documents API Reference Introduction How to access the API CLI Client Golang Package Compatibility Guarantees API Reference Internals Hubble internals Hubble Architecture/ where is a value that can be parsed with ParseDuration() [https://golang.org/pkg/time/#ParseDuration]. The supported units are: ns, us, ms, s, m, h. Examples: rate-limit:10/2m 0 码力 | 1373 页 | 19.37 MB | 1 年前3Zabbix 6.2 Manual
offline. The source tarball now includes the src/go/vendor directory, which should make sure that golang is not forced to download dependency modules automatically. It is still possible to update to the while in Configuration → Templates, you can import them manually into Zabbix. Golang library for Windows updated Golang library used by Zabbix agent 2 in conjunction with MongoDB or PostgreSQL plug- is github.com/Microsoft/go-winio, version 0.6.0 (previously github.com/natefinch/npipe). See also Golang libraries, MongoDB plugin dependencies, and PostgreSQL plugin dependencies. Open file descriptor0 码力 | 1689 页 | 22.82 MB | 1 年前3The Path to GitOps
as Argo CD, but it is different in a lot of ways. The main difference is that Flux uses the Helm Golang [2.6] package. Flux doesn’t render the YAML, but instead deals with Helm directly. This design gives be. The Pulumi Kubernetes Op- erator lets developers write declarations in their chosen language: Golang, TypeScript, Python, etc. Instead of translating their infrastructure ideas into YAML, developers0 码力 | 45 页 | 1.09 MB | 1 年前3
共 37 条
- 1
- 2
- 3
- 4