《Splunk智能运维实战》——1.5 使用模块输入

    xiaoxiao2023-06-16  163

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

    1.5 使用模块输入

    从Splunk 5.0以后,可以扩展已有的数据输入功能,比如创建并分享自定义输入类型,而且仍可进行小的定制。

    模块输入建立在脚本输入模型之上。用户需要的任何附加功能都必须包含在脚本中。但这就会出现一个问题,因为Splunk本身无法自定义这个脚本。比如,当我们想从一个源为两个不同的用户名获取数据时,可能需要两份脚本,或者需要在脚本输入配置中改变命令行参数。

    利用模块输入功能,开发者现在可以将代码封装到可复用的应用程序中,这样它在Splunk中能显示各种参数,并允许Splunk管理员通过熟悉的方式来进行配置。

    本节将介绍如何安装命令模块输入,它可以周期性执行命令并索引该命令输出的数据。我们将对输入进行配置,来收集Linux中的vmstat命令或Windows中的systeminfo命令输出的数据。

    做好准备

    要进行本节的操作,仅需运行Splunk服务器并连接网络。

    如何操作

    按照下列步骤配置模块输入:

    1 . 登录Splunk服务器。

    2 . 从主页面左上角的“应用程序”菜单点击“查找更多应用程序”。

    3 . 在搜索字段中,输入command modular input并单击搜索图标。

    4 . 在搜索结果中单击“命令模块输入”的“免费安装”按钮。

    5 . 输入Splunk.com的证书并单击“登录”。Splunk将显示信息,提示应用程序安装成功。

    6 . 从右上角的主启动器单击“设定”菜单,并点击“数据输入”链接。

    7 . 在“数据输入”页面,点击“类型”下的“命令”链接。

    8 . 点击“新建”。

    9 . 在“模块输入名称”字段,输入SystemInfo。

    如使用Linux系统,在“命令名称”字段输入/usr/bin/vmstat。

    如使用Windows系统,在“命令名称”字段输入C:WindowsSystem32systeminfo.exe。

    如果要执行的命令无法从系统路径找到,需要使用完整路径。

    10 . 在“命令参数”字段中,输入的任何参数都会被传到“命令名称”字段列出的命令中。在“命令执行间隔”字段,以秒为单位输入值,设定命令执行的频率(在这一例子中,设定为60秒)。如以流的方式输出,直接勾选“流输出”字段。

    11 . 在“源类型”部分,可选择预定义的源类型,也可选择“手动”并输入需要的值。出于本节的需要,在源类型选择“手动”,并输入cp01_modular_input作为源类型的值。

    12 . 点击“保存”。Splunk现已配置好,可以按照设定的间隔每隔60秒来执行提供的模块输入。输入下列命令搜索“全部时间”的脚本输入返回的数据:

    工作原理

    模块输入被捆绑为Splunk的应用程序,安装后,它包含所有必需的配置和编码,在Splunk的“数据输入”部分能看到。本节中,安装了一个可周期性执行命令的模块输入应用程序。为其配置命令,使其每分钟执行并索引每次命令的结果,指定结果的源类型为cp01_modular_input。

    模块输入可以用多种语言编写。它需要遵循一套界面,显示配置选项和运行时行为。根据输入的设定,它们可以持续运行也可以间隔运行,并在接收数据后发送数据到Splunk。

    可从Splunk Apps网站(http://apps.splunk.com)找到其他模块输入,包括REST API、SNMP和 PowerShell。

    更多内容

    要了解如何创建属于自己的模块输入,参考《Developing Views and Apps for Splunk Web》手册中的Modular Inputs部分,网址为http://docs.splunk.com/ Documentation/Splunk/latest/AdvancedDev。

    另参见

    相关资源:Splunk_智能运维实战(高清带详细目录书签)
    最新回复(0)