salt+自定义returner+fluent+mysql进行结果采集
背景:salt自带的有很多可选的returner,但是都需要在minion做配置,我感觉这点挺操蛋,而且正好我们平台上在使用fluent做采集,于是就自定义一个reutren,然后用fluent采集,处理,入库 过程如下: 1:mysql表结构: CREATE TABLE `fluent`;CREATE TABLE `salt_returns
背景: salt自带的有很多可选的returner,但是都需要在minion做配置,我感觉这点挺操蛋, 而且正好我们平台上在使用fluent做采集,于是就自定义一个reutren,然后用fluent采集,处理,入库
过程如下:
1:mysql表结构:
CREATE TABLE `fluent`; CREATE TABLE `salt_returns` ( `id` mediumint(9) NOT NULL AUTO_INCREMENT, `jid` char(20) DEFAULT NULL, `host_id` varchar(48) DEFAULT NULL, `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `fun` varchar(30) DEFAULT NULL, `return` text, `success` char(5) DEFAULT NULL, PRIMARY KEY (`id`), KEY `idx_host_id` (`host_id`) )
2:自定义returners
创建默认自定义return的目录,这个目录虽然是默认的,但是默认并没有创建 :(
mkdir /srv/salt/_returners
自定义reuters:
主要就是returner(ret) 这个函数的定义
cat /srv/salt/_returners/lcoal_return.py #coding=utf8 import json def __virtual__(): return 'local_return' def returner(ret): ''' Return data to the local file ''' result_file = '/var/local/salt/returner' result = file(result_file,'a+') result.write(str(json.dumps(ret.values()))[1:-1]+'\n') result.close()
同步到所有节点:
salt '*' saltutil.sync_returners
执行命令
salt '*' cmd.run 'ls /var' --return local_return
查看结果:
cat /var/log/salt/returner "cmd.run", "20130524052158870765", "cache\ncvs\ndb\nempty\ngames\nlib\nlocal\nlock\nlog\nmail\nnis\nopt\npreserve\nrun\nspool\ntmp\nwww\nyp", "minion1", true
3fluent采集
客户端配置:
<source></source> type tail path /var/log/salt/returner pos_file /tmp/return_pos.log tag os.salt format /\"(?.*)\", \"(?\d+)\", (?.*), \"(?.*)\", (?.*)/ type forward flush_interval 1s host port
服务端配置:
<source></source> type forward port 24224 bind 0.0.0.0 type mysql host localhost database fluent username fluent password fluent key_names jid,id,fun,return,success sql INSERT INTO salt_returns (jid,host_id,fun,`return`,success) VALUES (?,?,?,?,?) flush_interval 5s
结果查询:
select * from salt_returns where success is not NULL and fun='cmd.run' limit 1; +------+----------------------+-----------------------------------------+---------------------+---------+---------+---------+ | id | jid | host_id | time | fun | return | success | +------+----------------------+-----------------------------------------+---------------------+---------+---------+---------+ | 2571 | 20130531184127393793 | test | 2013-05-31 10:38:29 | cmd.run | "/root" | true | +------+----------------------+-----------------------------------------+---------------------+---------+---------+---------+
原文地址:salt+自定义returner+fluent+mysql进行结果采集, 感谢原作者分享。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Netflix上的头像是你流媒体身份的可视化代表。用户可以超越默认的头像来展示自己的个性。继续阅读这篇文章,了解如何在Netflix应用程序中设置自定义个人资料图片。如何在Netflix中快速设置自定义头像在Netflix中,没有内置功能来设置个人资料图片。不过,您可以通过在浏览器上安装Netflix扩展来实现此目的。首先,在浏览器上安装Netflix扩展的自定义个人资料图片。你可以在Chrome商店买到它。安装扩展后,在浏览器上打开Netflix并登录您的帐户。导航至右上角的个人资料,然后单击

Win11如何自定义背景图片?在最新发布的win11系统中,里面有许多的自定义功能,但是很多小伙伴不知道应该如何使用这些功能。就有小伙伴觉得背景图片比较单调,想要自定义背景图,但是不知道如何操作自定义背景图,如果你不知道如何定义背景图片,小编下面整理了Win11自定义背景图片步骤,感兴趣的话一起往下看看把!Win11自定义背景图片步骤1、点击桌面win按钮,在弹出的菜单中点击设置,如图所示。2、进入设置菜单,点击个性化,如图所示。3、进入个性化,点击背景,如图所示。4、进入背景设置,点击浏览图片

维恩图是用来表示集合之间关系的图。要创建维恩图,我们将使用matplotlib。Matplotlib是一个在Python中常用的数据可视化库,用于创建交互式的图表和图形。它也用于制作交互式的图像和图表。Matplotlib提供了许多函数来自定义图表和图形。在本教程中,我们将举例说明三个示例来自定义Venn图。Example的中文翻译为:示例这是一个创建两个维恩图交集的简单示例;首先,我们导入了必要的库并导入了venns。然后我们将数据集创建为Python集,之后,我们使用“venn2()”函数创

适用于iPhone的iOS17更新为AppleMusic带来了一些重大变化。这包括在播放列表中与其他用户协作,在使用CarPlay时从不同设备启动音乐播放等。这些新功能之一是能够在AppleMusic中使用交叉淡入淡出。这将允许您在曲目之间无缝过渡,这在收听多个曲目时是一个很棒的功能。交叉淡入淡出有助于改善整体聆听体验,确保您在音轨更改时不会受到惊吓或退出体验。因此,如果您想充分利用这项新功能,以下是在iPhone上使用它的方法。如何為AppleMusic啟用和自定Crossfade您需要最新的

如何在Eclipse中自定义快捷键设置?作为一名开发人员,在使用Eclipse进行编码时,熟练掌握快捷键是提高效率的关键之一。Eclipse作为一款强大的集成开发环境,不仅提供了许多默认的快捷键,还允许用户根据自己的偏好进行个性化的定制。本文将介绍如何在Eclipse中自定义快捷键设置,并给出具体的代码示例。打开Eclipse首先,打开Eclipse,并进入

CakePHP是一个强大的PHP框架,为开发人员提供了很多有用的工具和功能。其中之一是分页,它可以帮助我们将大量数据分成几页,从而简化浏览和操作。默认情况下,CakePHP提供了一些基本的分页方法,但有时你可能需要创建一些自定义的分页方法。这篇文章将向您展示如何在CakePHP中创建自定义分页。步骤1:创建自定义分页类首先,我们需要创建一个自定义分页类。这个

如何在CodeIgniter中实现自定义中间件引言:在现代的Web开发中,中间件在应用程序中起着至关重要的作用。它们可以用来执行在请求到达控制器之前或之后执行一些共享的处理逻辑。CodeIgniter作为一个流行的PHP框架,也支持中间件的使用。本文将介绍如何在CodeIgniter中实现自定义中间件,并提供一个简单的代码示例。中间件概述:中间件是一种在请求

1、下图是edius默认的屏幕布局,默认的EDIUS窗口布局是横向版式,因此在单显示器环境中,许多窗口是重叠在一起的,且预览窗口为单窗口模式。2、您可以通过【视图】菜单栏启用【双窗口模式】,使预览窗口同时显示播放窗口和录制窗口。3、您可以通过【视图菜单栏>窗口布局>常规】来恢复默认屏幕布局。另外您还可以自定义适合您的布局方式,并保存为常用屏幕布局:将窗口拖动成适合自己的布局,然后点击【视图>窗口布局>保存当前布局>新建】,在弹出的【保存当前布局】小窗口中输入布局名称,单击确定
