liuggio / statsd-client-bundle
提供 statsd 客户端和针对 #Symfony2 应用的简单易用支持
Requires
- php: ^7.0 || ^8.0
- liuggio/statsd-php-client: ~1.0.14
- symfony/framework-bundle: ^4.0 || ^5.0
Requires (Dev)
- doctrine/dbal: >=2.2.0
- monolog/monolog: >=1.2.0
- phpunit/phpunit: ^6.5 || ^7.0 || ^9.5
- symfony/yaml: ^4.0 || ^5.0
Suggests
- doctrine/dbal: Doctrine DBAL, collect statistic to/from the database (>=2.2.0 required)
- monolog/monolog: Monolog, in order to generate statistic from log >=1.2.0)
This package is auto-updated.
Last update: 2024-08-29 03:52:43 UTC
README
此包可以帮助您监视您的应用。
它使用 statsd-php-client 作为 客户端 以与 etsy/Statsd API 通信。
包括
- 一个 服务、一个 工厂 和一个可由 DIC 调用的实体
- 一个 Monolog 处理器
- 一系列的 收集器 以聚合您自己的数据。
- 一系列的 命令 以从 CLI 执行数据。
简单使用!
$this->get('statsd') ->increment('log.error') ->gauge('log.rate', 25) ->flush();
查看文档
文章
- 文章:ServerGrove - 有趣的 Symfony Bundles: StatsDClientBundle
- 文章:在 Debian 服务器上安装 Stats.d / Graphite 以监视 Symfony2 应用程序(1/2)
- 文章:通过 Stats.d 和 Graphite 监视您的 Symfony2 应用程序(2/2)
- 幻灯片:通过 Jonathan H. Wage 构建 OpenSky by Symfony2
摘要
使用 StatsD 和 Graphite 监视生产中的 Symfony2 应用程序中的情况。
在此包中,您可以使用以下现成的监视器:
-
Monolog
-
访问者数量
-
登录用户与匿名用户
-
SQL:动词的使用(select/set/update/upgrade/delete 的数量)(此功能不建议使用,请使用服务器监控工具,例如 nagios、munin)
-
PHP 内存使用量
-
您可以使用工厂和服务创建自己的监视器。
在开发环境中,数据不会推送到套接字,而是推送到 syslog。
如果启用了调试模式,则不会通过 udp 套接字发送任何数据包,您可以通过读取 syslog(使用 tail -f /var/log/syslog
)来查看正在发生的情况。
Mar 19 00:48:11 liuggio nginx: statsd-open
Mar 19 00:48:11 liuggio nginx: statsd-write "tvision.visitor:1|tvision.memory:43520|tvision.user.anonymous:1|tvision.query.start:1|tvision.query.insert:1|c" 118 Bytes
Mar 19 00:48:11 liuggio nginx: statsd-close
注意:默认情况下,在 dev
环境中调试为 true。
一个 UDP 数据包统治一切
通过适当的配置文件,您的 StatsD 服务器将接收单个 UDP 数据包
prefix.visitor:1|c # Increment visitor
prefix.user.anonymous:1|c # The visitor is not logged
prefix.log.app.error.user_action:1 # Stats by monolog with $this->get('logger')->error('user_action')
prefix.memory:4480|g # The php memory peak was 4480 MB
prefix.exception.exception.500:1|c # Exception occurred, the Exception code was 500
prefix.query.insert:1|c # Query Insert
prefix.query.select:1|c # Query Select
简短的理论和链接
Vagrant StatSD 和 Graphite
请参阅此博客文章以安装 使用 vagrant 轻松安装 statsd graphite。
StatsD
StatsD 是一个简单的守护程序,用于轻松聚合统计信息
Graphite
Graphite 是一个可扩展的实时绘图工具
客户端使用 UDP 发送数据(更快)
https://www.google.com/search?q=tcp+vs+udp
贡献
请参阅 CONTRIBUTING.md
贡献者
https://github.com/liuggio/StatsDClientBundle/graphs/contributors