欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

piwik 自动站点ID查找 - 怎么样?

你好。我是Piwik的新手。我只是安装在我们的系统上(也就是在生产前首先进行生产),它承载了几百个网站,所有这些都通过一个WordPress Multisite通过亚马逊EC2上的负载均衡的集群提供服务。所有的网站都是“我们的”,而不是属于我们的客户或任何类似的。

现在,首先,我看到网站列表必须通过一个一个地添加网站来手动创建。虽然批量导入功能会很好,我相信我可以使用API​​自动创建网站 - 例如在所有现有网站上调用SitesManager.addSite(),并在我们的新站点中添加一个调用创建代码(仅适用于我们的IT团队的管理员端)。

但是,跟踪代码似乎需要siteId而不是域。这是正确的,还是有办法提供JS跟踪器的域名而不是siteId并且piwik查找?或者是让JS跟踪器从DOM文档获取域的方法?

如果没有,我猜测另一种方式来实现它将是服务器端页面渲染,以便对SiteManager.getAllSitesId()进行API调用,以获得基于HTTP HOST头部的给定请求的siteId,并注入进入跟踪代码的响应(显然,ids将需要缓存的效率)。

是否有另一种和/或更好的方法?我没有看到任何JS跟踪器功能将域映射到siteId。
如果没有,也许这可能是一个功能要求? - 允许JS跟踪器构造函数传递站点主域名URL而不是siteId?(或者甚至有些方法可以从DOM本身获取它 - 比如传递-1作为siteId?)

道歉,如果我错过了一些明显的东西或一个常见的答案在论坛(我没有搜索..) - 因为我刚刚接触了Piwik几个小时了... :slightly_smiling:

帮助赞赏 
干杯,
戴维

 
 
 

所以,我已经实现了这一点,似乎工作正常。记录的getAllSites()调用似乎不再在API中。但是,我可以调用getSitesIdFromSiteUrl()来缓存。如果没有找到该网站,我只需调用addSite()来即时创建它们。

一旦我上线,这些网站很快就会流行起来(虽然大部分的点击都是来自蜘蛛的)。

我唯一剩下的问题是IP被记录为10.xxx - 亚马逊ELB负载均衡器的IP。我将[General]中的proxy_client_headers []设置设置为“HTTP_X_FORWARDED_FOR”,但没有帮助。

 
 
 

您实现的方式是现在唯一的方法,我们不提供从URL检测网站ID的功能,但是您在此处显示,可以在客户端相对容易地完成。

你的设置是非常有趣的,我们想听到你的声音!如果您需要任何帮助,您也可以直接向我发送电子邮件。希望派维克将为您服务!:slightly_smiling:

 
 
 

我有一个小问题:

尽管我们即将实施,我们现在还没有在我们的网站上使用SSL。SLL连接将在负载均衡器上终止,因此与Web实例的连接将是HTTP。HTTP_X_FORWARDED_PROTO标题的值为'https'。

虽然Piwik安装在自己的域上,但它仍然由跟踪站点在负载平衡器后面的同一组Web实例提供。因此,即使对Piwik域的HTTPS请求实际上将作为HTTP传递给Piwik。

我需要做什么特别的事情来保持派维克的运作吗?我相信JS跟踪代码将适合渲染https链接,因为这是客户端看到的。当我使用API​​ addSite()函数创建网站时,我传递了http://和https:// URLs - 那是适当的事情吗?(我们不需要区分跟踪的角度)。

我还没有完成的其他任务就是让Piwik使用我们全球的memcached兼容缓存(实际上是Amazon的AWS ElastiCache)。安装APC的网络实例 - 虽然我不知道Piwik是否明确地使用它(除了PHP源缓存之外)。

谢谢。

 
 
 

虽然Piwik安装在自己的域上,但它仍然由跟踪站点在负载平衡器后面的同一组Web实例提供。因此,即使对Piwik域的HTTPS请求实际上将作为HTTP传递给Piwik。

我记得以前的用户使用https - > http代理,我认为这是正常的。但只有测试才能说出来。

我需要做什么特别的事情来保持派维克的运作吗?我相信JS跟踪代码将适合渲染https链接,因为这是客户端看到的。当我使用API​​ addSite()函数创建网站时,我传递了http://和https:// URLs - 那是适当的事情吗?(我们不需要区分跟踪的角度)。

你不需要通过http和https,一个就足够了(piwik只匹配域名)

我还没有完成的其他任务就是让Piwik使用我们全球的memcached兼容缓存(实际上是Amazon的AWS ElastiCache)。

Piwik不以这种方式缓存数据,只能使用mysql进行快速的预处理报告查找

确保您阅读:Piwik&高流量网站6

 
 
 
 

对我们来说似乎是有效的,因为我排除了知识产权10 。*从转发代理头。尚未得到SSL设置(与Piwik无关)。谢谢(你的)信息。

@littleguy - 谢谢提示。我们实际上拥有自己的定制插件,它包含了很多针对我们应用程序的逻辑,我只是​​在其中抛​​出了跟踪代码(特别是因为它需要使用Piwik API来查找站点ID,并将它们插入我们的站点域数据库和属性)。目前,我们只有1个用户 - 我们 - 我们没有使用WP MS,允许任何用户注册或创建网站,而是作为创建数百个部分静态内容和部分动态内容的网站的平台,根据具体网站而有所不同( - 我们已经实现了我们自己的页内WP诱惑引擎供设计师使用)。

 
 
 
 
 
 

普通分类: