salt+自定义returner+fluent+mysql进行结果采集
Jun 07, 2016 pm 04:37 PM
自定义
背景: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进行结果采集, 感谢原作者分享。
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
击败分裂小说需要多长时间?
3 周前
By DDD
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林

热门文章
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
击败分裂小说需要多长时间?
3 周前
By DDD
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林

热门文章标签

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

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

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

Dreamweaver CS6
视觉化网页开发工具

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

如何在装有 iOS 17 的 iPhone 上的 Apple Music 中启用和自定义交叉淡入淡出
