从mysql收集统计信息并将其发送到statsd的守护进程。

mysql-statsd的Python项目详细描述


==========



去油污
====
这个项目不再受spil游戏的支持,已经被'db art<;https://github.com/db art/>;`.


新的存储库可以在这里找到:
`mysql statsd@db art<;https://github.com/db-art/mySQL StatsD>;`



==mysql statsD
==


从mysql收集统计信息并将其发送到statsD的后台程序。

-免费软件:BSD许可证
-文档:http://mysql statsD.rtfd.org.




用法/安装
===============


通过pip安装mysql\u statsd(pip是python包管理器,
请不要使用sudo!):




pip安装mysql statsd


如果一切顺利,现在您的路径中将有一个名为mysql statsd
的新可执行文件。


您在/etc/named mysql statsd.conf中放置了一个配置文件

请参见我们的示例
`configuration<;https://github.com/spilgames/mysql statsd/blob/master/docs/mysql statsd.conf>;`\uu
,或者阅读下面的内容了解如何配置

运行上面的命令将在deamo中启动mysql statsdN模式。如果
您希望看到它的输出,请使用-f/--foreground运行命令



usage
----




$mysql_statsd--help
用法:mysql_statsd.py[-h][-c file][-d][-f]

可选参数:
-h,--help显示此帮助消息e并退出
-c文件,--config文件
configuration文件
-d,--debug打印发送它们旁边的statsd度量
--dry run打印将要发送到statsd的输出,而不实际使用在某处发送数据
-f,--前台不要分叉主程序





~~~~


支持以下平台

-mysql 5.6
-mariadb

<;http://docs.python guide.org/en/latest/dev/virtualenvs/>;`


安装需求(在虚拟环境处于活动状态时):





*注意:mysql python包需要mysql \-config命令位于您的路径中。*

在您能够通过






喜欢使用python标准的工作方式:
`pep-8<;http://legacy.python.org/dev/peps/pep-0008/>;`





configuration
==

configuration由四个部分组成:

-daemon-specific(log/pidfiles)
-statsd(主机,端口,前缀)
-mysql(连接、查询等)
-metrics(要存储的度量,包括它们的类型)

----
daemon部分允许您设置日志和pic文件的路径

----
statsd部分允许您配置重新输入
度量的前缀和主机名。在我们的示例中,前缀被设置为mysql,并且包含主机名
。这将把status.com_select度量记录到:
mysql。<;hostname>;.status.com_select

您可以使用环境中所需的任何前缀。

mysql
----
mysql部分允许您配置mysql主机的凭据
(首选本地主机)以及查询+度量的计时。
查询和计时是通过可配置的stats-types配置的,
例如:

stats-types=status,innodb
这将在mysql服务器上执行query-status和query-innodb。
然后,频率可以通过设置在
interval_status和interval_innodb中的时间(以毫秒为单位)来控制。
完整的配置是:

stats_types=status,innodb
query_status=show global status
interval_status=1000
query innodb=show engine innodb status
interval\u innodb=10000

操作
隔离。而且,最有可能的是,您的history_列表会猛增,而ibdata文件的增长速度将足以耗尽所有可用的磁盘空间。因此,当对事务隔离有疑问时:请包含查询提交!

下面是mysql的有趣部分:如果您希望在应用程序数据库中跟踪自己的应用程序数据,您*可以用这种方式创建自己的自定义查询。例如:

stats廑types=myapp
query廑myapp=从myapp.metric廑表中选择一些廑metric廑name,一些廑metric廑value,其中metric廑ts>;=date廑sub(now(),interval 1 minute)
interval廑myapp=60000

tch从那时起更改的所有
指标,并通过statsd发送。
显然,您需要通过下面的metrics部分列出它们。

metrics
----
metrics部分基本上是您希望通过statsd发送给graphite的所有指标的白名单。目前还不可能将所有可能的指标都白名单,但有一种特殊情况,我们允许通配符:
对于缓冲池,我们将使用该特定指标白名单所有的缓冲池。
如果没有配置多个缓冲池,请不要担心:输出将
被innodb忽略,也不被预处理器解析。

默认情况下,Graphite存储所有公制等式,但对它们的处理方式各不相同:

-gauge(g表示gauge)
-rate(r表示raw,d表示delta)
-timer(t表示timer)

速率是每秒需要转换为单位的
单位数。计时器是执行某项任务所需的时间。

如果
希望保留COM的绝对值,则建议将其配置为仪表。但是,如果要将其用作速率(每
秒查询一次),则首先将其存储为速率,然后在计算仪表积分以获得速率时将其存储为速率是没有用的。首先,将其作为一个速率存储会更加精确。

请记住,在这种情况下,将com select值作为原始值发送是一个坏习惯:statsd将平均每秒收集的度量值,因此
在10秒的时间范围内发送10倍于1000000的值将平均每秒发送到预期的1000000。豪威er由于度量值的处理也需要一点时间,因此丢失一个拍的几率相对较高,最终只发送值的9倍,因此一段时间内平均发送到900000次。

它是在上一次运行期间,并且
只会发送两个值的差异。





media:
==



art在2013年伦敦percona大会上介绍了这个工具:
http://www.percona.com/live/mysql-conference-2013/sessions/mysql使用statsd和graphite进行性能监控




spil-jasper

thijsdezoete

art-spilgames

bnkr




History
-------

0.1.5 (2013-08-30)
++++++++++++++++++

* Support socket config
* Add innodb preprocessor update


0.1.1 (2013-08-30)
++++++++++++++++++

* Preparing package for sdist releases

0.1.0(2013-08-30)
++++++++++++++++

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在TextView中对齐部分文本   带有iText和eTPKCS11的java PKCS#11签名。dll&SunPKCS11提供程序   java Intellij Idea找不到jar   java Chrome/Firefox和Jetty HTTPS   java我无法打包找不到的JavaFX应用程序模块   多线程Java:排序从异步任务检索的结果   java客户端/服务器socket不能与外部连接一起工作   java如何在单击“下一步”按钮时获取其他详细信息?   java组织。springframework。网状物客户RestTemplate应声明为@Bean,而plain@Autowired抛出错误   java如何绘制javax。摆动将ImageIcon转换为JavaFX。fxml呈现用户界面?   使用for循环的Java跟踪   java如何编码字符串以显示彩色文本(基于字符串中的前缀)   Java保存/打开文件对象   基于java复选框的搜索:使用尽可能多的“”动态生成准备好的语句作为选中复选框的计数   java为什么crawler4j随机挂起?