Logstash 和 Bluemix 日志收集器

Liberty 在运行时生成各种事件,例如日志事件、跟踪事件、首次失败数据捕获 (FFDC) 事件、访问日志事件和垃圾回收事件。Logstash 收集器可帮助您将来自所有服务器的事件进行合并,以便能够对事件进行搜索、过滤和分析,特别是当您管理许多服务器时,或在不同平台上(例如在专用硬件上和在云中)运行服务器时。如果您使用 Liberty 时所在环境缺少问题确定数据所使用的持久文件存储,那么 Logstash 收集器也可帮助您将事件存储在单独的服务器上。

Liberty 提供 Logstash 和 Bluemix 日志收集器功能部件,帮助您远程合并事件。这些收集器捕获正在进行的事件、将事件划分成多个字段,并将事件安全地转发到已配置的 Logstash 或 Bluemix 日志收集服务器。这些收集器可配置为发送下列一种或多种类型的数据:

  • 消息日志事件
  • 跟踪日志事件
  • HTTP 访问日志事件(来自 Liberty 服务器)
  • FFDC 日志事件
  • 垃圾回收事件(仅可用于 IBM JDK)

Logstash 收集器

Logstash 收集器功能部件(logstashCollector-1.0)将事件发送至您提供的 Logstash 服务器。

Logstash 可以与您提供、设置和管理的所有 Elasticsearch 搜索服务器和 Kibana 仪表板配合使用,以提供您整个企业中的日志或其他事件的统一视图。不需要在 Liberty 服务器上设置单独的进程或代理程序,Logstash 收集器也可转发事件。

事件结构

收集器将每个事件作为一组“字段名称/值”对发送。每个不同的事件类型都有自己的一组字段。当您创建自己的 Kibana 仪表板时,了解每个事件具有哪些字段很有用。

以下字段是公共字段,存在于所有事件中:
表 1. 公共事件类型
logstashCollector-1.0 字段名称 字段描述
type 用于标识事件类型的字符串
datetime 事件发生的时间
hostName 作为事件源的服务器的主机名

有关用于设置主机名的规则的更多信息,请参阅将 Logstash 和 Bluemix 日志收集器与 Docker 中运行的 Liberty 配合使用

wlpUserDir 作为事件源的服务器的用户目录,例如 D:\wlp\usr
serverName 作为事件源的服务器的服务器名称

有关用于设置服务器名称的规则的更多信息,请参阅将 Logstash 和 Bluemix 日志收集器与 Docker 中运行的 Liberty 配合使用

sequence 事件的序列号(对具有相同时间戳记的记录进行排序时很有用)
除公共字段以外,每个事件类型还具有自己的独特字段:
  • 消息事件
    表 2. 消息事件(类型:“liberty_message”:)
    logstashCollector-1.0 字段名称 字段描述
    severity 严重性指示符(F = Fatal、E = Error、W = Warning、A = Audit、I = Info、O = SystemOut、R = SystemErr)
     

    严重性指示符(FATAL、ERROR、WARNING、AUDIT、INFO、CONFIG、DETAIL)

    messageId 日志行中的消息标识,可用于查找特定类型的错误,例如 SRVE0250I
    methodName 日志记录中的方法名称
    className 日志记录中的类名
    loggerName 日志记录中的记录器名称
    threadId 日志行中的线程标识,例如 00000015。线程标识是字符串而非数字
    message 日志记录中的消息,以消息标识开头
    [16.0.0.4 及更高版本]注: 启用二进制日志记录时,Logstash 收集器除了会转发缺省日志和跟踪框架,还会转发消息事件。
  • 跟踪事件
    表 3. 跟踪事件(类型:“liberty_trace”:)
    logstashCollector-1.0 字段名称 字段描述
    severity 严重性指示符(1 = Fine、2 = Finer、3 = Finest、> = Entry、< = Exit)
      严重性指示符(FINE、FINER、FINEST、ENTRY、EXIT)
    methodName 日志记录中的方法名称
    className 日志记录中的类名
    loggerName 日志记录中的记录器名称
    threadId 日志行中的线程标识,例如 00000015。线程标识是字符串而非数字
    message 日志记录中的消息
    [16.0.0.4 及更高版本]注: 启用二进制日志记录时,Logstash 收集器除了会转发缺省日志和跟踪框架,还会转发跟踪事件。
  • HTTP 访问日志事件
    表 4. HTTP 访问日志事件(类型:“liberty_accesslog”:)
    logstashCollector-1.0 字段名称 字段描述
    uriPath 所请求 URL 的路径信息。此路径信息不包含查询参数,例如,/pushworksserver/ push/apps/tags
    requestMethod HTTP 动词,例如 GET
    remoteHost 远程主机的 IP 地址,例如 127.0.0.1
    userAgent 请求中的 userAgent
    requestProtocol 协议类型,例如 HTTP/1.1
    queryString 表示 HTTP 请求中的查询字符串的字符串,例如 color=blue&size=large
    bytesReceived URL 中接收到的字节数,例如 94
    responseCode HTTP 响应代码,例如 200
    elapsedTime 处理请求所用的时间(以微秒为单位)
    requestHost 请求主机的 IP 地址,例如 127.0.0.1
    requestPort 请求的端口号
  • FFDC 事件
    表 5. FFDC 事件(类型:“liberty_ffdc”:)
    logstashCollector-1.0 字段名称 字段描述
    className 发出 FFDC 条目的类
    exceptionName FFDC 条目中报告的异常
    probeID FFDC 点在类中的唯一标识
    stackTrace FFDC 事件的堆栈跟踪
    objectDetails FFDC 事件的事件详细信息
    threadId FFDC 事件的线程标识
  • 垃圾回收事件
    表 6. 垃圾回收事件(类型:“liberty_gc”:)
    logstashCollector-1.0 字段名称 字段描述
    heap 可用堆总计
    usedHeap 已使用的堆数量
    duration 运行垃圾回收的持续时间(以微秒为单位)
    gcType 垃圾回收事件的类型(例如,Nursery 和 Global)
    reason 垃圾回收的原因

将 Logstash 和 Bluemix 日志收集器与 Docker 中运行的 Liberty 配合使用

对于 Docker 容器或其他虚拟环境中正在运行的 Liberty 服务器,hostNameserverName 按如下所示进行设置:

hostName 字段设置为下列值中的第一个可用值:
  • CONTAINER_HOST 环境变量的值
  • ${defaultHostName} Liberty 配置变量的值
  • 软件开发包 (JDK) 所报告的规范主机名
serverName 字段设置为下列值中的第一个可用值:
  • CONTAINER_NAME 环境变量的值
  • ${wlp.server.name} Liberty 配置变量的值

在 Bluemix 容器服务中运行 Liberty 服务器时,已为您设置 CONTAINER_HOST 和 CONTAINER_NAME。

在 Liberty Docker 集合体中运行 Liberty 服务器时,已为您设置 CONTAINER_HOST 和 CONTAINER_NAME。

正在运行 Docker 容器或您管理的其他虚拟环境中的 Liberty 服务器时,请在运行您的映像时设置 CONTAINER_HOST 和 CONTAINER_NAME 环境变量。这些环境变量可确保 Logstash 收集器或 Bluemix 日志收集器使用相应的主机名和容器名称来标记它们所发送的记录,这有助于确定问题。如果您未设置这些环境变量,那么在使用显示来自多个容器的事件的仪表板时,您可能会发现难以确定哪个容器发送了哪些事件。在启动 Docker 容器时,请使用类似于以下内容的命令:
docker run -d -e LICENSE=accept -e CONTAINER_NAME=yourContainerName -e CONTAINER_HOST=yourContainerHost --name=yourContainerName yourImageName

用于指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: Monday, 5 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=cwlp_analytics_collectors
文件名:cwlp_analytics_collectors.html