概述
您可以将系统和应用程序日志从 config.yaml 群集传输到现有 Splunk 服务器。本文档介绍如何配置 Splunk 通用转发器以将每个节点的输出发送到 Splunk 装置。本文档未介绍如何设置和配置 Splunk 服务器。
这些说明是基于 CentOS,可能极大地不同于与其他 Linux 系统分配。
前提条件
- 现有 Splunk 装置可以消化数据用于索引
- 所有 DC/OS 节点必须能够通过 HTTP 或 HTTPS 连接到 Splunk 索引器
- 开放文件的
ulimit
必须设置为unlimited
,供具有 Root 访问权限的用户使用。
步骤 1:所有节点
对于 DC/OS 群集中的所有节点:
- 安装 Splunk 的 通用转发器。
- 确保转发器具有将数据发送给索引器所需的凭据。
- 启动转发器。
步骤 2:管理节点
对于 DC/OS 群集中的每个管理节点:
-
创建一个脚本
$SPLUNK_HOME/bin/scripts/journald-master.sh
,其含有来自journald
Mesos 管理节点的日志。此脚本可配合 DC/OS 和 DC/OS Enterprise 使用。不适用的日志条目将被忽略。#!/bin/sh exec journalctl --since=now -f \ -u dcos-diagnostics.service \ -u dcos-diagnostics.socket \ -u dcos-adminrouter-reload.service \ -u dcos-adminrouter-reload.timer \ -u dcos-adminrouter.service \ -u dcos-bouncer.service \ -u dcos-ca.service \ -u dcos-cfn-signal.service \ -u dcos-cosmos.service \ -u dcos-download.service \ -u dcos-epmd.service \ -u dcos-exhibitor.service \ -u dcos-gen-resolvconf.service \ -u dcos-gen-resolvconf.timer \ -u dcos-history.service \ -u dcos-link-env.service \ -u dcos-logrotate-master.timer \ -u dcos-marathon.service \ -u dcos-mesos-dns.service \ -u dcos-mesos-master.service \ -u dcos-metronome.service \ -u dcos-minuteman.service \ -u dcos-navstar.service \ -u dcos-networking_api.service \ -u dcos-secrets.service \ -u dcos-setup.service \ -u dcos-signal.service \ -u dcos-signal.timer \ -u dcos-spartan-watchdog.service \ -u dcos-spartan-watchdog.timer \ -u dcos-spartan.service \ -u dcos-vault.service \ -u dcos-logrotate-master.service
-
使脚本可执行:
chmod +x "$SPLUNK_HOME/bin/scripts/journald-master.sh"
-
将脚本添加为转发器的输入:
"$SPLUNK_HOME/bin/splunk" add exec \ -source "$SPLUNK_HOME/bin/scripts/journald-master.sh" \ -interval 0
步骤 3:代理节点
对于 DC/OS 群集中的每个代理节点:
-
创建一个脚本
$SPLUNK_HOME/bin/scripts/journald-agent.sh
,其含有来自journald
Mesos 代理节点的日志。此脚本可配合 DC/OS 和 DC/OS Enterprise 使用。不适用的日志条目将被忽略。#!/bin/sh journalctl --since="now" -f \ -u dcos-diagnostics.service \ -u dcos-logrotate-agent.timer \ -u dcos-diagnostics.socket \ -u dcos-mesos-slave.service \ -u dcos-adminrouter-agent.service \ -udcos-minuteman.service \ -udcos-adminrouter-reload.service \ -udcos-navstar.service \ -udcos-adminrouter-reload.timer \ -udcos-rexray.service \ -udcos-cfn-signal.service \ -udcos-setup.service \ -udcos-download.service \ -udcos-signal.timer \ -udcos-epmd.service \ -udcos-spartan-watchdog.service \ -udcos-gen-resolvconf.service \ -udcos-spartan-watchdog.timer \ -udcos-gen-resolvconf.timer \ -udcos-spartan.service \ -udcos-link-env.service \ -udcos-vol-discovery-priv-agent.service \ -udcos-logrotate-agent.service
-
使脚本可执行:
chmod +x "$SPLUNK_HOME/bin/scripts/journald-agent.sh"
-
将脚本添加为转发器的输入:
"$SPLUNK_HOME/bin/splunk" add exec \ -source "$SPLUNK_HOME/bin/scripts/journald-agent.sh" \ -interval 0
-
将任务日志添加为转发器的输入:
"$SPLUNK_HOME/bin/splunk" add monitor '/var/lib/mesos/slave' \ -whitelist '/stdout$|/stderr$'
后续步骤
有关如何使用 Splunk 筛选日志的详细信息,请参阅 使用 Splunk 筛选日志。