使用Hyperic HQ监控Wordpress(和其他数据库备份的PHP应用程序)
介绍
这个howto是PHP / MySQL Web应用程序的用户和管理员,他们正在寻找一种方法来监视这些应用程序的数据。 这个方法不是专门用于监视Web服务器和数据库的系统资源使用情况,尽管这是一个难题。 相反,这个howto的重点是使用Hyperic HQ的SQL Query插件来监视支持数据库中包含的数据,在这种情况下,来自Wordpress博客部署的帖子,评论和用户数。 然后,我们将在系统资源使用的上下文中查看此数据,以帮助管理员将我们将要创建的Wordpress插件的信息与从该系统监控的其他数据相关联。
这个方法假设你至少熟悉Hyperic HQ。 有关如何安装HQ监控系统的更多信息,请参阅support.hyperic.com 。 另外,请注意,这是使用Hyperic HQ 3.2 Beta 4创建的,但HQ 3.1.x的过程非常相似。
写Wordpress插件
编写Wordpress插件非常简单 - 创建一个导入SQL Query插件的XML文件来进行艰苦的工作。 由于我们以Wordpress为例,以下是整个XML插件:
<!-- A plugin extension that monitors posts, comments and users in Wordpress --> - <plugin> - <service name="Wordpress"> - <!-- "sql:" domain required to proxy through sqlquery-plugin --> <filter name="template" value="sql:${query}:${name}"/> <!-- config defined by the sqlquery-plugin --> <config include="sql"/> <!-- use filters for common sql --> <filter name="count" value="SELECT COUNT(*) FROM"/> <metric name="Availability" query="${count} wp_term_taxonomy WHERE 1=1" indicator="true"/> <metric name="Number of Users" query="${count} wp_users" indicator="true"/> <metric name="Number of Posts Including Drafts" query="${count} wp_posts" indicator="true"/> <metric name="Number of Comments" query="${count} wp_comments" indicator="true"/> <metric name="Number of Published Posts" query="${count} wp_posts where post_status = 'publish'" indicator="true"/> </service> </plugin>
就是这样 - 因为默认情况下,在每个HQ部署中都包含SQL Query插件,所以您需要做的所有编码。 其余的howto演示如何使用这个XML文件并将其使用。
部署您的新插件
现在你已经创建了插件,你如何使用它? Hyperic HQ是一种基于代理的监控系统,您必须在服务器和代理端部署插件。 在服务器端,如果将它们放置在HQ home> / hq-plugins
目录下,HQ将支持热插拔插件
。 但是,如果尚未创建该目录,则创建该目录并将新插件置于该位置需要重新启动HQ服务器。
在代理方面,HQ不支持热部署,因此部署新插件需要代理重新启动。 您可以将插件放置在<HQ根目录> / hq-plugins
或<HQ根目录> / <HQ代理目录> / pdk / plugins
- 中,这是所有插件默认放置的位置。
使用插件
现在您已经重新启动了您的代理(必要)和服务器(也许是必要的),现在是时候检查您的新插件是否显示。
要确保插件已部署,请转到安装代理插件的计算机的平台名称 - 可以通过单击仪表板“资源” - >“浏览”,然后单击“平台”来找到该插件。 在那里,您应该看到部署插件的平台。 点击那个平台,让您进入该平台的默认监控视图。
在屏幕右上方,点击“工具菜单”,选择“新建平台服务”。 在下一个屏幕上,添加您的wordpress实例的名称,无论您觉得是什么描述性文字,并从“服务类型”下拉列表中选择“Wordpress”。 如果您在“服务类型”列表中找不到“Wordpress”,则插件出现问题 - 检查您的代理日志。
点击“确定”后,您将进入屏幕,并打开“常规属性”部分。 滚动到页面的底部,您应该看到“配置属性” - 单击它以打开该部分。 选择“编辑”按钮,您将看到一个包含4个字段的屏幕:jdbcDriver,jdbcURL,jdbcUser和jdbcPassword。 jdbcDriver是支持数据库的jdbc驱动程序的下拉菜单。 在我的情况下,我选择了'com.mysql.jdbc.Driver'。 对于基于MySQL的环境,jdbcURL字段应该是jdbc:mysql://database.host.name/database-name
。 jdbcUser和jdbcPassword是查看您的特定wordpress数据库所需的用户和密码。
从插件中获得最大收益
一旦启用插件,您将开始收集用户,帖子和评论的指标,这是有用的。 然而,为了真正充分利用您的插件,以及聚焦一些使HQ如此酷的东西,我们将使用此插件作为“wordpress”复合应用程序的中心部分,其中包括MySQL数据库信息,CPU和网络指标和您可能希望添加的任何其他服务以形成完整的图片。
您可以在数据库支持的Web应用程序消耗的系统资源的上下文中查看Wordpress数据。
- 点击顶部导航栏中的“资源 - >浏览”
- 在右上角的“工具”菜单中,选择“新建应用程序”
- 接下来,命名您的应用程序,填写任何适用的信息 - 无需其他 - 然后单击“确定”。
- 您应该看到一个“常规属性”屏幕是打开的。 向下滚动到底部,然后选择“服务”栏(应该没有),然后点击“添加到列表”
- 从此列表中选择要包括在应用程序中的服务,包括刚创建的Wordpress服务。 如果您无法找到它,请使用“按名称过滤”框来搜索它。 我建议您至少包括Wordpress使用的数据库
现在你应该有一个应用程序,包括你刚刚添加的Wordpress服务和辅助服务。
结论
SQL查询样式插件非常容易实现。 大多数数据库支持的PHP Web应用程序可以采用相同的步骤,包括MediaWiki,Gallery等。