kubebpf 是基于 ebpf 技术在 kubernetes 环境中实践可观测性建设的项目,提供对上层业务零侵扰的方式采集业务的调用日志,服务的 R.E.D 指标等可观测性数据,采用 influxdb 对数据进行持久化,采用 grafana 进行可视化,支持一键安装,可以快速将 ebpf 能力在你的 kubernetes 环境中进行落地。用于采集 ebpf 数据的 agent 支持扩展,你可以开发自己的 ebpf 程序来采集需要的数据,并且可以将数据上报到其他系统中。


安装目录
cd install
由于grafana跟influxdb均需要持久化存储,因为需要事先确定存储的位置,通过配置文件来设置。
vim config.ini
# 如下是一个配置示例, 需要事先在节点上创建出对应的目录
[global]
NAMESPACE=kubebpf
[influxdb]
;influxdb requires persistent storage. please create a directory on the node
INFLUXDB_HOST=cn-hangzhou-1
INFLUXDB_PV_PATH=/data/pv-kubebpf-influxdb
[grafana]
;grafana requires persistent storage. please create a directory on the node
GRAFANA_HOST=cn-hangzhou-1
GRAFANA_PV_PATH=/data/pv-kubebpf-grafana
最后执行安装脚本
sh install.sh
#卸载
sh uninstall.sh
编译agent
make
#会生成agent的二进制文件,以及在target目录下生成每一个插件的 ebpf 编译之后 .o文件。 镜像构建
make image
grafana镜像构建
# grafana 采用 provisioning 来配置 datasource 跟 dashboard, 对dashboard的修改需要重新构建grafana镜像。
cd install/grafana/image
docker build .
KubeProber 遵循 Apache 2.0 许可证。有关详细信息请参见 LICENSE 文件。