
linux-audit-exporter是一个Prometheus导出器,用于将Linux审计系统状态以Prometheus格式导出指标。Linux审计系统可配置记录安全相关事件(如系统调用),在高吞吐量系统中可能出现审计事件生成速度超过消费速度的情况,导致事件丢失、处理延迟或内存不足。该导出器提供指标帮助运维人员监控审计系统状态,避免这些问题。
该项目:
在ALPHA状态期间,小版本之间可能发生破坏性变更,变更将在https://github.com/TeachersPayTeachers/linux-audit-exporter/blob/main/CHANGELOG.md%E5%92%8CGitHub%E5%8F%91%E5%B8%83%E8%AF%B4%E6%98%8E%E4%B8%AD%E5%85%AC%E5%B8%83%E3%80%82
API表面包括:
适用于需要监控Linux审计系统状态的场景,特别是:
构建项目需要Golang 1.14+。
可在任何能运行Go二进制文件的系统上运行,但只有在Linux主机上运行时才会导出Linux审计状态;在非Linux主机上运行时,将导出零值指标。
此外,还需要:
CAP_AUDIT_READ)--host=pid,Kubernetes中需设置hostPID: truebash$ go build .
bash$ docker build .
bash$ linux-audit-exporter -h Export Linux audit status as Prometheus metrics Usage: linux-audit-exporter [flags] Flags: --health-path string health path (default "/healthz") -h, --help help for linux-audit-exporter --listen-address string listen address (default "0.0.0.0:9090") --metrics-path string metrics path (default "/metrics")
直接运行二进制文件:
bash$ linux-audit-exporter
或使用Docker镜像:
bash$ docker run -p 9090:9090 --privileged TeachersPayTeachers/linux-audit-exporter
bash$ curl localhost:9090/metrics | grep linux_audit
Docker镜像发布于https://hub.docker.com/repository/docker/teacherspayteachers/linux-audit-exporter%E3%80%82
bash$ docker run --privileged teacherspayteachers/linux-audit-exporter:latest
提供Helm chart,将linux-audit-exporter部署为DaemonSet。
bash$ helm repo add tpt https://teacherspayteachers.github.io/helm-charts $ helm install linux-audit-exporter tpt/linux-audit-exporter
Helm chart代码位于https://github.com/TeachersPayTeachers/linux-audit-exporter/tree/main/deploy/helm-charts/linux-audit-exporter%E3%80%82
在具有所需权限的Linux主机上运行时,将导出Linux审计状态的Prometheus指标。以下是示例:
# HELP linux_audit_backlog 当前排队等待auditd读取的事件记录数。 # TYPE linux_audit_backlog gauge linux_audit_backlog 0 # HELP linux_audit_backlog_limit 允许的未处理审计缓冲区数量。 # TYPE linux_audit_backlog_limit gauge linux_audit_backlog_limit 5000 # HELP linux_audit_backlog_wait_time 达到积压限制时内核等待的时间。 # TYPE linux_audit_backlog_wait_time gauge linux_audit_backlog_wait_time 15000 # HELP linux_audit_backlog_wait_time_actual 内核在积压时等待排队审计事件所花费的总时间。 # TYPE linux_audit_backlog_wait_time_actual gauge linux_audit_backlog_wait_time_actual 10 # HELP linux_audit_enabled 启用标志。0=禁用,1=启用,2=不可变,-1=未知。 # TYPE linux_audit_enabled gauge linux_audit_enabled 1 # HELP linux_audit_failure 严重错误数量,如传输错误、积压限制超等。 # TYPE linux_audit_failure gauge linux_audit_failure 0 # HELP linux_audit_lost 因内核审计队列溢出而丢弃的事件记录数。 # TYPE linux_audit_lost gauge linux_audit_lost 0 # HELP linux_audit_rate_limit 每秒消息限制。值为0表示无速率限制。 # TYPE linux_audit_rate_limit gauge linux_audit_rate_limit 100000
printk 和 dmesgLinux审计系统可配置使用printk记录失败和丢失事件,通常可通过dmesg读取。
存在一个(在撰写本文时为实验性)用户空间https://github.com/linux-audit/audit-userspace/tree/27bb97d1dd04cc3768ab7756008a7164f308bf85/audisp/plugins/statsd%E3%80%82
非常欢迎贡献!
请参阅https://github.com/TeachersPayTeachers/linux-audit-exporter/blob/main/CONTRIBUTING.md%E4%BA%86%E8%A7%A3%E5%A6%82%E4%BD%95%E4%B8%BA%E6%AD%A4%E9%A1%B9%E7%9B%AE%E8%B4%A1%E7%8C%AE%E6%9B%B4%E6%94%B9%E3%80%82
当新提交合并到main分支时,如果有任何新的fix:或feat:提交,内部流程将自动创建新的GitHub发布、Docker镜像和Helm chart。
Teachers Pay Teachers员工注意:有关此流程的信息,请参阅内部wiki。
此项目的新提交或拉取请求由GitHub Actions自动构建、 lint 和测试。CI操作的配置见./github/workflows/ci.yaml文件。
https://github.com/TeachersPayTeachers/linux-audit-exporter/blob/main/LICENSE.md
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务