Matomo 的前身是 Piwik,是一套基于 PHP5+MySQL 技术构建的开源网站访问统计系统。Matomo 可以给你详细的统计信息,比如网页浏览人数,访问最多的页面,搜索引擎关键词等等流量分析功能。此外,它还采用了插件扩展及开放 API 架构,可以让用户根据自已的实际需求创建更多的功能。
部署环境
阿里云服务器Centos7.3
部署条件
需要安装docker,并启动一个mysql的服务,mysql的版本最好5.7以上.
部署步骤
拉取matomo镜像
docker pull matomo
启动matomo容器(暴露访问端口为80)
docker run -d -p 80:80 --link some-mysql:db matomo
some-mysql: 为启动的mysql的容器名
例如:我的mysql的容器名docker_mysql,则填写docker_mysql
以下图为例
直接访问服务器的ip可以进入安装向导页面
在需要监控的网址公共页面的头部引入一段js代码
在matomo安装向导结束之后,会生成一段js代码,直接复制到指定页即可.
访问监控的网址,matomo即可收录访问数据
注意事项:
部署matomo的服务器和被监测网址的协议必须一致,要么都是http,要么都是https.
在matomo向导过程中,需填好需监测的网址,其余都可以保持默认内容,按下一步即可.
返回数据的api访问地址:
http://你的IP/index.php?module=API&method=Live.getLastVisitsDetails&idSite=3&period=day&date=today&format=JSON&token_auth=eb25824673af1316890ef958fb6b47c0
参数说明:
module: 值为api,就是以api的形式访问
method: 值为指定插件的方法名,具体有哪些插件请参考官网api文档.
这里返回的是实时访客记录,就是Live.getLastVisitsDetails
idSite: 值为matomo管理监测网站的siteid
获取网站数据: idSite = 1,4,5,6
获取全部, idSite = all
period: 周期,查询数据的时间形式
例如: &period = range&date = 2020-03-01,2020-03-05
date:在选择了period之后,具体的查询时间
format:返回的数据格式,支持常用的数据格式(xml,json,csv,excel等)
token_auth:授权码matomo在安装好之后生成的token码,在API访问的时候需要带上
两个主要的API:
以编程方式请求网站列表以及给定日期和期间的报告(访问次数,页面URL,页面标题,用户设置,搜索引擎,关键字,引荐来源网站,用户浏览器等) (天,周,月,年)。可以以任何格式请求数据:xml,csv,json,Excel等。使用Matomo时,您可以通过单击每个报告下方的“导出”图标来导出任何报告的数据
https://developer.matomo.org/api-reference/reporting-api
用于使用JavaScript代码或其他语言在Matomo中记录数据
数据库架构说明:
https://developer.matomo.org/guides/database-schema
可以参考的部署教程: