liuggio/statsd-client-bundle
Composer 安装命令:
composer require liuggio/statsd-client-bundle
包简介
Provides a statsd client and simple ready-to-use support for #Symfony2 Application
README 文档
README
This bundle helps you to monitor your application.
It uses statsd-php-client as Client for the etsy/Statsd API.
It Includes
- a Service, a Factory and an Entity callable by the DIC
- a Monolog Handler
- a series of Collectors in order to aggregate your personal data.
- a series of Commands in order to execute data also from cli.
Simple usage!
$this->get('statsd') ->increment('log.error') ->gauge('log.rate', 25) ->flush();
Check out the documentation
Articles
- Article: ServerGrove - Interesting Symfony Bundles: StatsDClientBundle
- Article : Install Stats.d / Graphite on a debian server in order to monitor a Symfony2 application (1/2)
- Article : Monitor your Symfony2 application via Stats.d and Graphite (2/2)
- Slide : Building OpenSky with Symfony2 by Jonathan H. Wage
Abstract
Monitoring what is happening in your production Symfony2 application, with StatsD and Graphite.
Within this bundle you could use ready-to-go monitor for
-
Monolog
-
Amount of visitor
-
Logged vs Anonymous user
-
SQL: Verbs used (amount of select/set/update/upgrade/delete) (this feature is not suggested, please use a server monitor tool eg. nagios, munin)
-
Amount of PHP ram used
-
You could create your own using the Factory and the Service.
On dev env the data are not pushed to the socket but to syslog.
If debug mode is enabled no packet are sent over the udp socket, and you could see what's going on reading the syslog with 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
Note: by default in dev environment debug is true.
One UDP packet to rule them all
With a proper config file, your StatsD server will receive in a single upd packet:
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
Short Theory and links
Vagrant StatSD and Graphite
see this blog post to install Easy install statsd graphite with vagrant.
StatsD
StatsD is a simple daemon for easy stats aggregation
Graphite
Graphite is a Scalable Realtime Graphing
The Client send data with UDP (faster)
https://www.google.com/search?q=tcp+vs+udp
Contribution
See CONTRIBUTING.md
Contributors
https://github.com/liuggio/StatsDClientBundle/graphs/contributors
liuggio/statsd-client-bundle 适用场景与选型建议
liuggio/statsd-client-bundle 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 734.01k 次下载、GitHub Stars 达 164, 最近一次更新时间为 2012 年 07 月 20 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「symfony」 「statsd」 「graphite」 「monitor」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 liuggio/statsd-client-bundle 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 liuggio/statsd-client-bundle 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 liuggio/statsd-client-bundle 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A PHP library for working with statsd
Collections of statsd collectors with templated metric names
A PHP client for Carbon (Graphite's backend) using the plaintext protocol.
The bundle for easy using json-rpc api on your project
Statsd (Object Oriented) client library for PHP
Provides a statsd client and simple ready-to-use support for #Symfony2 Application
统计信息
- 总下载量: 734.01k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 168
- 点击次数: 28
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2012-07-20