《Splunk智能运维实战》——1.4 使用脚本输入

本节书摘来自华章计算机《Splunk智能运维实战》一书中的第1章,第1.4节,作者 [美]乔史·戴昆(Josh Diakun),保罗R.约翰逊(Paul R. Johnson),德莱克·默克(Derek Mock),译 宫鑫,康宁,刘法宗 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.4 使用脚本输入

智能运维所需的数据并非全部来自日志文件或网络端口。Splunk也可获取命令或脚本的输出,并将其与其他数据一起索引。

脚本输入是针对较难获取数据的一种有效方法。如果收集第三方提供的命令行程序输出的数据,Splunk可定期运行该命令来索引结果。通常来说,脚本输入常用于从某个源抓取信息,而网络输入则等待数据从某个源不断推送。

本节将介绍如何配置Splunk,使其每隔一段时间执行命令并将输出的数据导入Splunk。

做好准备

要进行本节的操作,需要运行Splunk Enterprise服务器,及本书提供的适用于当前操作环境的输入脚本。如果是Windows系统,使用cp01_scripted_input.bat文件。这个脚本应放至$SPLUNK_HOME/bin/scripts目录。

如何操作

按照下列步骤配置脚本输入。

  1. 登录Splunk服务器。
  2. 从右上角的主启动器,单击“添加数据”按钮。
    screenshot
  3. 在“或选择一个数据源”列表,单击“运行并收集一个脚本的输出”链接。
    screenshot
  4. 出现“添加新”界面,上面有许多需要输入的字段。在“源”部分,输入要运行命令的完整路径,包括任何命令行参数。所有脚本必须置于Splunk bin目录,可放至$SPLUNK_ HOME/bin/scripts或Splunk 应用程序的其他合适的bin目录中。
  5. 在“间隔”字段输入脚本运行的间隔值(用秒表示),默认值为60.0秒。
  6. 在“源类型”部分,可选择预定义的源类型,或选择“手动”并输入需要的值。出于本节的需要,在源类型中选择“手动”,并输入cp01_scripted_input作为源类型的值。
    screenshot

数据将被索引到Splunk的默认索引,也就是主索引。要想改变目标索引,勾选“更多设置”复选框并从下拉菜单中选择所需的索引。

  1. 点击“保存”,在下一个界面,点击“开始搜索”。Splunk现已配置好,可按照设定的间隔,每60秒执行一次我们提供的脚本输入。输入下列命令搜索“全部时间”的脚本输入返回的数据:
    screenshot

工作原理

当添加新的脚本输入时,也就是指示Splunk在后台向inputs.conf文件添加新的配置节。Splunk服务器可以包括一个或多个inputs.conf文件,它们位于$SPLUNK_HOME/etc/system/ local或Splunk 应用程序的local目录。

创建完脚本输入后,Splunk创建了间隔计时器并按照设定的间隔执行指定命令。有一点需要注意,Splunk每次只能运行脚本的一个实例,若脚本因为某种原因被阻塞,Splunk就无法再执行脚本,直到障碍被排除。

从Splunk 4.2版本开始,脚本转入中任何指向stderr(导致错误)的输出都会被收集在splunkd.log文件中,在调试脚本执行情况时这会很有帮助。因为Splunk默认会索引自身的数据,所以可以搜索脚本输入错误并在必要时发出警报。

出于安全考虑,Splunk不会执行先前提到的bin目录以外的脚本。为了突破这一限制,可使用包装器脚本 (比如Linux中的shell脚本或Windows中的批处理文件)来调用机器上的其他脚本。

另参见

screenshot

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值