为您的云应用程序提供闪电般的故障排除





2.00/5 (1投票)
为您的云应用程序提供闪电般的故障排除
引言
Microsoft® Windows® Azure、Amazon® Web Services、Heroku®、Rackspace® 和 Google® App Engine 等云服务提供商可以快速轻松地在云中部署和运行应用程序。但是,在云中运行应用程序可能会导致可见性和控制力的潜在损失。虽然日志和指标可以提供有关应用程序运行状况的一些见解,但这些数据通常以不同的格式分散在不同的位置,因此很难全面了解您的运营情况。
如何在云中最好地排除故障、监控和主动管理您的应用程序?
解决方案
Splunk Storm 提供了一种与技术无关的方法来监控和管理云应用程序。利用来自应用程序每个层的数据,并跨多个跃点跟踪事务,将应用程序事件与基础设施或用户体验问题相关联,并主动防止中断影响业务。Splunk Storm 以服务形式提供业界领先的 Splunk 软件,可以近乎实时地索引和存储来自几乎任何来源、格式、平台或云供应商的机器数据,而无需自定义解析器或连接器。无论您的应用程序是用 Ruby、Java、Python、PHP、.NET、Node.js 或任何其他语言或框架编写的,都可以使用网络流(如 syslog)、REST API 或通用转发器将数据发送到 Splunk Storm 进行索引和搜索。
让我们来演示这个例子
我们将一些示例 Apache 访问日志和 MySQL 日志放入 Splunk Storm,看看我们能多快地排除故障。首先,进行一些设置
- 在 https://www.splunkstorm.com/ 注册 Splunk Storm
- 创建一个新项目
- 现在将数据添加到您的新项目。虽然您还可以通过 TCP/UDP(包括 syslog)、通过 REST API 或通过 Splunk 通用转发器将数据发送到 Splunk Storm 项目,但我们将手动上传一些示例数据以进行此练习。我们要做的第一件事是从 sampledata.zip 下载示例数据(来自一个假想的在线花店的 Apache Web 服务器日志和 MySQL 数据库日志)。
- 下载并解压 sampledata.zip 后,您将看到三个文件夹,每个文件夹中都有一个 Apache "access_combined" 日志文件,以及一个包含 MySQL 日志文件的 Mysql 文件夹。
- 返回浏览器,您将看到“输入”页面
- 单击“文件”
- 单击“上传”按钮
- 浏览到 apache1.splunk.com 中的 access_combined.log 文件并选择它。
- 对于每个日志文件,选择一种源类型。指定源类型会告诉 Storm 如何解析您的数据,并允许您在搜索时将某种类型的所有数据分组在一起。当您将自己的数据添加到 Storm 时,您需要指定正确的源类型,以便 Storm 正确提取时间戳和换行符。
- 对于 Apache 访问日志,选择Apache web access logs,然后单击“上传”按钮。
- 对于 MySQL 日志文件,选择 Generic single-line data,然后单击“上传”按钮。
- 重复上传过程,直到所有示例数据都进入您的项目
- 将数据添加到您的项目后,“浏览数据”按钮将变为启用状态。点击它!
- 现在您已经在 Splunk Storm 项目中拥有了数据,看看您能多快地排除应用程序故障。假设您接到一位客户的电话,他试图在您公司的在线花店完成购买时一直遇到服务器错误。他给了你他的 IP 地址 – 10.2.1.44
- Splunk Storm 中的所有内容都可以搜索,因此您只需在搜索栏中输入 "10.2.1.44",然后按 Enter,您将看到此客户的所有流量到您的商店。
- 因此,您会看到很多 200 响应代码,但您只对错误感兴趣。通过输入 "NOT 200" 过滤掉任何不是 200 成功响应的事件,从而缩小事件列表。
- 请注意,每个事件都出现在搜索栏下方的时间线上。双击这些条形图会重新运行搜索,范围缩小到更小的时间范围。因此,如果您深入挖掘,您可以进入发生其中一个错误的一分钟窗口。
- 了解了其中一个错误的时间窗口后,您可以扩大搜索范围,以包括大约同一时间在应用程序中发生的所有事情……您会得到一些数据库错误,这些错误很好地指出了客户看到的服务器错误的根本原因。
- 使用生产日志查找问题的根本原因可以节省在开发环境中尝试重现错误的长 hours 的时间,因此您可以快速修复问题并保持用户满意。