操作系统支持CentOS7+/Ubuntu20.04+,最低配置2核4G,需提前开放端口80(流量接入)、3000(Grafana可视化)、8125(Statsd数据上报)。
直接执行对应系统命令安装Docker和Docker Compose,无需手动下载安装包:
```bash Ubuntu系统执行 apt update && apt install -y docker.io docker-compose CentOS系统执行 yum install -y docker docker-compose 启动Docker并设置开机自启 systemctl enable --now docker 验证安装成功,返回版本号即正常 docker version ```本次采用OpenResty(Nginx)+Statsd+InfluxDB1.8+Grafana的轻量组合,无额外服务依赖,支持单机每秒万级流量统计。
新建工作目录mkdir -p traffic-stat && cd traffic-stat,在目录下新建docker-compose.yml,完整可复制内容如下:
执行以下命令一键启动所有组件:
```bash docker-compose up -d ```执行docker ps,确认4个容器状态均为Up即为部署成功,若有容器启动失败可看第六部分排查。
执行命令新建配置目录mkdir -p nginx/conf.d nginx/html,在nginx/conf.d下新建default.conf,完整可复制内容如下:

执行以下命令重载Nginx配置,无需重启容器:
```bash docker exec -it openresty nginx -s reload ```访问http://你的服务器IP:3000,默认账号密码为admin/admin,首次登录可自定义修改密码。
左侧菜单选择Connections→Data sources→Add data source,选择InfluxDB,填写以下配置:
点击Save & test,提示连接成功即为配置完成。
左侧菜单选择Dashboards→New→Import,输入官方预设流量统计看板ID3067,点击Load,数据源选择刚才创建的InfluxDB,点击Import即可生成完整流量统计看板,自动展示QPS、状态码占比、响应时间分布、TOP接口流量排行等核心指标。
执行以下命令模拟1000次请求,验证数据是否正常上报:
```bash 先安装ab压测工具,Ubuntu执行apt install -y apache2-utils,CentOS执行yum install -y httpd-tools ab -n 1000 -c 10 http://你的服务器IP/ ```等待1分钟后刷新Grafana看板,即可看到对应流量数据。
以QPS超过阈值告警为例,操作步骤如下:
docker exec -it openresty cat /var/log/nginx/error.log查看Nginx是否有上报错误,再执行docker exec -it influxdb influx -database statsd -execute "select from nginx_requests limit 10"查看InfluxDB是否有数据,无数据则检查Statsd端口8125是否连通ufw allow 端口号/tcp,CentOS执行firewall-cmd --add-port=端口号/tcp --permanent && firewall-cmd --reload,同时检查云服务商安全组是否开放对应端口docker logs 容器ID查看错误日志,常见原因为端口被占用,修改docker-compose.yml中的端口映射即可解决易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图