4. Piwik 模拟数据和压测
最后更新于:2022-04-02 07:42:19
#### Piwik模拟数据
1. 制作外网IP列表
2. 抓取提交代码-->简单修改变量-->shell For循环读入-->模拟提交
##### 提取纯真IP数据库(制作外网IP)
- 安装纯真ip软件,导出txt
- 处理数据
- 保留第一列(起始IP)
- 把0换成9(1-9都行)
- 上传到模拟请求服务器/tmp/目录下
##### Chrome抓取提交连接
```shell
Chrome-->F12-->刷新监控页-->找到"piwik.php?action_name..."-->右键-->copy-->Copy as cURL(base)
把http...--compressed所有部分粘贴到curl -H "X-Forwarded-For: ${line}" 之后
```
要替换的地方有
```shell
因为其中有变量http部分有变量,需要将http段单引号修改为双引号
_id=${line} #用户ID,设置和IP一样
_idts=`date +%s` #第一次访问时间戳
_viewts=`date +%s` #之前访问时间戳
```
##### 模拟数据Shell脚本
```shell
for line in `cat /tmp/111.txt`
do
curl -H "X-Forwarded-For: ${line}" "http://192.168.0.233/piwik.php?action_name=abcd&idsite=1&rec=1&r=535822&h=13&m=13&s=16&url=http%3A%2F%2Fwww.ding.com%2F&_id=${line}&_idts=`date +%s`&_idvc=11&_idn=0&_refts=0&_viewts=`date +%s`&cs=GBK&send_image=1&pdf=1&qt=0&realp=0&wma=0&dir=0&fla=0&java=0&gears=0&ag=0&cookie=1&res=1920x1080>_ms=8&pv_id=3bMOR2" -H 'Accept-Encoding: gzip, deflate, sdch' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36' -H 'Accept: image/webp,image/*,*/*;q=0.8' -H 'Referer: http://www.ding.com/' -H 'Cookie: PIWIK_SESSID=586nh8l4sc6aj4tbsbbv8ajdn5; piwik_auth=abcd; piwik_lang=language%3Dczo1OiJ6aC1jbiI7%3A_%3D7036ee80a8026c2cbb3c63c53719e3856d20380d' -H 'Connection: keep-alive' --compressed
done
```
##### 配置Nginx
注意:安装realip模块,具体请查看4.1.3章节
通过curl 仿造x-forwarded-for,结合realip模块,将x-forwarded-for的IP,赋值给$remote_host
需要设置set_real_ip_from,过滤测试服务器IP
```shell
set_real_ip_from 192.168.0.0/24;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
```
##### 开始压测吧
- 关注首页实时访客
- 关注访客分析-->所在地
- 关注访客分析-->实时地图
如果数据进来,但是看不到国家,请阅读20.2章节
##### 手动归档数据
```shell
php console core:archive --url=http://piwik.ding.com/
```
##### 官方也有,不过没用过
https://plugins.piwik.org/VisitorGenerator
';