使用redis作为Return存储方式
Return組件可以理解為SaltStack系統(tǒng)對(duì)執(zhí)行Minion返回后的數(shù)據(jù)進(jìn)行存儲(chǔ)或者返回給其他程序,它支持多種存儲(chǔ)方式,比如MySQL、Redis、Memcache等,通過Return我們可以對(duì)SaltStack的每次操作進(jìn)行記錄,對(duì)以后日志審計(jì)提供了數(shù)據(jù)來源。
Return的流程:Return是在Master端觸發(fā)任務(wù),然后Minion接受處理任務(wù)后直接與Return存儲(chǔ)器建立連接,然后把數(shù)據(jù)Return存到存儲(chǔ)服務(wù)器,整個(gè)過程都是Minion端操作存儲(chǔ)服務(wù)器。
接下來選擇Redis作為Return結(jié)果的存儲(chǔ)方式(Redis和master部署到了一起)
<1>在master端部署redis
[root@master ~]# wget http://download.redis.io/releases/redis-3.0.6.tar.gz
[root@master install]# tar xf redis-3.0.6.tar.gz?
[root@master install]# cd redis-3.0.6
[root@master redis-3.0.6]# make
[root@master redis-3.0.6]# cd src/
[root@master src]# make install
[root@master src]# mkdir -p /usr/local/redis/bin/
[root@master src]# mkdir -p /usr/local/redis/etc
[root@master src]# mv ../redis.conf /usr/local/redis/etc/
[root@master src]#?mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server redis-trib.rb /usr/local/redis/bin/
[root@master src]#?vim /usr/local/redis/etc/redis.conf
daemonize yes ???//設(shè)置為后臺(tái)方式運(yùn)行
?
[root@master src]#?cd /usr/local/redis/bin/
?
[root@master src]#?./redis-server /usr/local/redis/etc/redis.conf ???//啟動(dòng)redis
?
[root@master src]#?netstat -anpt | grep redis
?
tcp ???????0 ?????0 0.0.0.0:6379 ??0.0.0.0:* ????LISTEN ?????5802/./redis-server
?
tcp ???????0 ?????0 :::6379 ???????????:::* ???????LISTEN ?????5802/./redis-server?
?
<1>在minion端部署redis客戶端
[root@minion-1 install]# wget –no-check-certificate https://pypi.python.org/packages/source/r/redis/redis-2.8.0.tar.gz
[root@minion-1 install]# tar xf redis-2.8.0.tar.gz
[root@minion-1 install]# cd redis-2.8.0
[root@minion-1 redis-2.8.0]# python setup.py install
[root@minion-1 redis-2.8.0]# python -c 'import redis; print redis.VERSION' ? ? ? ? ? ? ? ? ? ? //確定安裝沒有問題
(2, 8, 0)?
?
<3>修改minion端的配置文件,并重新啟動(dòng)服務(wù)
[root@minion-1 redis-2.8.0]# vim /etc/salt/minion
redis.db: '0'
redis.host: '192.168.200.101'
redis.port: 6379
[root@minion-1 redis-2.8.0]# service salt-minion restart
?
<4>在master端執(zhí)行一個(gè)操作
[root@master ~]# salt 'minion-1' cmd.run 'hostname' --return redis
?
<5>查看redis的輸出
[root@master ~]# redis-cli monitor
OK
1504161420.535733 [0 192.168.200.102:49207] "SELECT" "0"
1504161420.535990 [0 192.168.200.102:49207] "SET" "minion-1:20170831143700483708" "{\"fun_args\": [\"hostname\"], \"jid\": \"20170831143700483708\", \"return\": \"minion-1\", \"retcode\": 0, \"success\": true, \"fun\": \"cmd.run\", \"id\": \"minion-1\"}"
1504161420.536240 [0 192.168.200.102:49207] "LPUSH" "minion-1:cmd.run" "20170831143700483708"
1504161420.536545 [0 192.168.200.102:49207] "SADD" "minions" "minion-1"
1504161420.536704 [0 192.168.200.102:49207] "SADD" "jids" "20170831143700483708"
?
這就是本次小實(shí)驗(yàn)的內(nèi)容,每臺(tái)minion跟存儲(chǔ)服務(wù)器連接后發(fā)送返回?cái)?shù)據(jù),所以說在有大規(guī)模的minion端的環(huán)境下不適合使用。
?
轉(zhuǎn)載于:https://www.cnblogs.com/89mc/p/7458512.html
總結(jié)
以上是生活随笔為你收集整理的使用redis作为Return存储方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浏览器事件捕获冒泡以及阻止冒泡
- 下一篇: 输出某个目录下的所有文件和文件夹,包括子