sitespeed+graphite+grafana

article/2025/9/20 17:03:20

最近在看性能UI performance testing 的工具

其中一个是 sitespeed。

sitespeed.io 一款可监视和衡量网站前端性能的开源工具。 1. 源  2 . 支持事务模 拟  3 . 自动性能分析,形成可视化报 告  4 . 提供的 docker 镜像已搭建完成监控系统,满足线上环境监控。它拥有一套插件,如 Coach Broswertime Chrome-HAR 等,帮助 sitespeed 搜集浏览器 debug状态下的数据,并基于网站最佳实践给出相应的打分和意见,最后把数据可视化展示。 sitespeed.io 评价网页的主要依据是:浏览器的网络请求和 TimeLine 中的 Time Event
然后可以结合graphite 和 grafana 做展示 以及性能监测。
我是基于docker来学习这个工具的, 容器它一般做好了一些配置,而且也会维护,还是挺好用的。使用的操作系统是win10
1. 先把sitespeedio 的 image 拉下来:docker pull sitespeedio/sitespeed.io
2. 然后把 docker compose 下载下来,这个compose是包含了 graphite+grafana 的配置和image 。
https://raw.githubusercontent.com/sitespeedio/sitespeed.io/main/docker/docker-compose.yml
3.切换到存放 docker-compose.yml 的folder,执行: docker-compose up -d 
4.运行命令获取数据。这里有个坑, 我一直以为--graphite.host 是指127.0.0.1:2003 , 结果是直接复制host.docker.internal 这个就行了
docker run --shm-size=1g --rm -v /d/cd:/sitespeed.io sitespeedio/sitespeed.io test.js --multi --network sitespeedio_default  --graphite.host=host.docker.internal
运行成功后数据已经保存起来了。
5.打开 grafana  http://127.0.0.1:3000
就可以看到默认的数据了:
6. 测试结束后 记得关闭 和 移除 。docker-compose stop 
如果执行了 docker-compose rm  , 下次在运行要重新启动compose 执行: docker-compose up -d  , 来创建container
以上是初次接触的步骤,如果需要实际运用, 官网是建议:but if you want to run it in production, you should modify it by making sure that the metrics are stored outside of your container/volumes 。
compose 里面有给对应的写法:
volumes:
        # In production you should configure/map these to your container
        # Make sure whisper and graphite.db/grafana.db lives outside your containerr
        # https://www.sitespeed.io/documentation/sitespeed.io/graphite/#graphite-for-production-important
        - whisper:/opt/graphite/storage/whisper
        # Download an empty graphite.db from https://github.com/sitespeedio/sitespeed.io/tree/main/docker/graphite
        # - /absolute/path/to/graphite/graphite.db:/opt/graphite/storage/graphite.db
        # 
        # And put the configuration files on your server, configure them as you need
        # Download from https://github.com/sitespeedio/docker-graphite-statsd/tree/main/conf/graphite
        # - /absolute/path/to/graphite/conf/storage-schemas.conf:/opt/graphite/conf/storage-schemas.conf
        # - /absolute/path/to/graphite/conf/storage-aggregation.conf:/opt/graphite/conf/storage-aggregation.conf
        # - /absolute/path/to/graphite/conf/carbon.conf:/opt/graphite/conf/carbon.conf
具体看这个: https://github.com/sitespeedio/docker-graphite-statsd/blob/main/README.md
然后默认的dashboad 各个部分的意思上面也有解说:
https://www.sitespeed.io/documentation/sitespeed.io/performance-dashboard/#up-and-running-in-almost-5-minutes
如果graphite是部署在其他机子上 可以配置host为实际的地址Configure  --graphite.host = 125.255.24.1
接下来有时间可以整理一下 sitespeed 和 Lighthouse 的使用

http://chatgpt.dhexx.cn/article/kDDuxV4o.shtml

相关文章

在Ubuntu18.04使用Docker安装graphite

安装docker apt install docker.io 参照graphite官网,运行docker docker run -d \--name graphite \--restartalways \-p 80:80 \-p 2003-2004:2003-2004 \-p 2023-2024:2023-2024 \-p 8125:8125/udp \-p 8126:8126 \graphiteapp/graphite-statsd 查看docker&am…

graphite

Graphite 是一个用于采集网站实时信息并进行统计的开源项目,可用于采集多种网站服务运行状态信息。Graphite服务平均每分钟有4800次更新操作。实践已经 证实要监测网站发发生什么是非常有用的,它的简单文本协议和绘图功能可以方便地即插即 用的方式用于任…

Graphite详解

Graphite详解 作者:chszs,未经博主允许不得转载。经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs Graphite是一个开源实时的、显示时间序列度量数据的图形系统。Graphite并不收集度量数据本身,而是像一个数据库&…

时序数据库-Graphite

Graphite就属于一种时序数据库,作用是存储和聚合监控数据并绘制图标,不负责数据的收集。之所以想写一篇关于Graphite的博文主要是因为这是我接触到的另一种新型数据库,其特点和功能让人眼前一亮。但是需要强调的是,这里所谓的时序…

Graphite介绍

Graphite详解 https://www.2cto.com/kf/201603/494435.html Graphite是一个开源实时的、显示时间序列度量数据的图形系统。Graphite并不收集度量数据本身,而是像一个数据库,通过其后端接收度量数据,然后以实时方式查询、转换、组合这些度量数…

http中的XFF(X-Forwarded-For)

详细知识请移步大佬网页

攻防世界-xff_referer

题目 访问题目场景 抓包看看,打开场景,页面提示我们ip必须是123.123.123.123,我们就想到burpsuite抓包,添加上X-Forwarded-For:123.123.123.123 GET / HTTP/1.1 Host: 223.112.5.156:54671 X-Forwarded-For:123.123.123.123 User-…

XCTF2-web xff_referer

xff_referer 题目描述 X老师告诉小宁其实xff和referer是可以伪造的。 进入场景 提示对ip地址进行了限制 根据题目的描述,可以推测是伪造xff和referer。 根据要求构造xff和referer 轻松获得flag xff x-forwarded-for简称XFF,是http协议的一个扩展…

攻防世界-WEB:xff_referer

题目:https://adworld.xctf.org.cn/challenges/problem-set-index?id25&rwNmOdr1679149714756 题目描述:X老师告诉小宁其实xff和referer是可以伪造的。 根据题目描述,那就是考验xff和referer知识。 知识补充: XFF X-Forwarde…

day28 SQL注入HTTP头XFFCOOKIEPOST请求

前言 #知识点: 1、数据请求方式-GET&POST&COOKIE等 2、常见功能点请求方式-用户登录&IP记录等 3、黑盒白盒注入测试要点-SQLMAP注入参数 #补充点: 黑盒测试:功能点分析 1、后台要记录操作访问IP IP要进行代码的获取&#…

NGINX动态XFF黑名单配置

通过XFF地址动态限制访问 方案特点: 无需reloadAPI管理 NGINX PLUS的KEYVAL是可以通过API进行管理的内部可持久化kv存储。 KEYVAL查找XFF地址是否在黑白名单中,来实现访问控制。 KEYVAL存放黑白名单列表: 定义键值为1为白名单定义键值为…

xff-referer伪造ip地址和域名

layout: post title: “xff-referer伪造ip地址和域名” categories: [ctf] tags: [xff referer] 最新版的BurpSuite与以前版本不同,将raw headers hex这些二级导航栏去掉,改在了右侧显示,需要Add伪造ip和域名的时候,在该部分右侧底…

[CTF/网络安全] 攻防世界 xff_referer 解题详析

[CTF/网络安全] 攻防世界 xff_referer 解题详析 XFF及refererXFF格式referer格式姿势总结 题目描述:X老师告诉小宁其实xff和referer是可以伪造的。 XFF及referer X-Forwarded-For(简称 XFF)是一个 HTTP 请求头部字段,它用于表示 …

XCTF攻防世界练习区-web题-xff_referer

0x08 XFF Referer 【题目描述】 X老师告诉小宁其实xff和referer是可以伪造的。 【目标】 掌握有关X-Forwarded-For和Referer的知识: (1)X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项。…

ctf之xff_referer伪造

xff:xff 是http的拓展头部,作用是使Web服务器获取访问用户的IP真实地址(可伪造)。由于很多用户通过代理服务器进行访问,服务器只能获取代理服务器的IP地址,而xff的作用在于记录用户的真实IP,以及…

Web安全原理剖析(十一)——XFF注入攻击

目录 2.14 XFF注入2.14 XFF注入代码分析 2.14 XFF注入 XFF注入攻击的测试地址:http://127.0.0.1/sqli/xff.php。 X-Forwarded-for简称XFF头,它代表客户端真实的IP,通过修改X-Forwarded-for的值可以伪造客户端IP。通过Burp Suite住区数据包内容…

攻防世界web新手关之xff_referer

xff: 很多HTTP代理会在HTTP协议头中添加X-Forwarded-For头,用来追踪请求的来源。 X-Forwarded-For的格式如下: X-Forwarded-For: client1, proxy1, proxy2 X-Forwarded-For包含多个IP地址,每个值通过逗号空格分开,最…

攻防世界xff和refereer

终于把攻防世界里面WEB安全的难度一的题做完了(一些个我认为比较难的题后面也会写个博客),开始做难度二题。 ----------------------------------------------------------------------------开始正经 原题:攻防世界 这个题难度…

浅谈“XFF注入”

漏洞名称: XFF注入、X-Forwarded-for注入 描述: XFF,是X-Forwarded-for的缩写,XFF注入是SQL注入的一种,该注入原理是通过修改X-Forwarded-for头对带入系统的dns进行sql注入,从而得到网站的数据库内容。 检测…

SQL 注入漏洞(十四)xff 注入攻击

一、xff 注入攻击 X-Forwarded-For 简称 XFF 头,它代表了客户端的真实 IP,通过修改他的值就可以伪造客户端 IP。XFF 并不受 gpc 影响,而且开发 人员很容易忽略这个 XFF 头,不会对 XFF 头进行过滤。 X-Forwarded-for 可以随意设置…