使用redis作为Return存储方式
Return组件可以理解为SaltStack系统对执行Minion返回后的数据进行存储或者返回给其他程序,它支持多种存储方式,比如MySQL、Redis、Memcache等,通过Return我们可以对SaltStack的每次操作进行记录,对以后日志审计提供了数据来源。
Return的流程:Return是在Master端触发任务,然后Minion接受处理任务后直接与Return存储器建立连接,然后把数据Return存到存储服务器,整个过程都是Minion端操作存储服务器。
接下来选择Redis作为Return结果的存储方式(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 //设置为后台方式运行
[root@master src]# cd /usr/local/redis/bin/
[root@master src]# ./redis-server /usr/local/redis/etc/redis.conf //启动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端的配置文件,并重新启动服务
[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端执行一个操作
[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"
这就是本次小实验的内容,每台minion跟存储服务器连接后发送返回数据,所以说在有大规模的minion端的环境下不适合使用。
使用redis作为Return存储方式的更多相关文章
- Redis之数据存储结构
今天去中关村软件园面试,被问到:你做项目用到的Redis处理数据用的什么结构?顿时石化,”用到的结构,不就是key-value嘛,还有什么结构?“.面试官说:“平时除了工作,要加强学习,下面的面试我觉 ...
- Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式)
Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式) 原文地址:http://alanland.iteye.com/admin/blogs/1600685(欢迎转载 ...
- Spring session(redis存储方式)监听导致创建大量redisMessageListenerContailner-X线程
待解决的问题 Spring session(redis存储方式)监听导致创建大量redisMessageListenerContailner-X线程 解决办法 为spring session添加spr ...
- 讨论两种Redis中Token的存储方式
摘要:本文讨论一个问题:存储token时,token与对应用户id谁来作为key? 问题起源问题起源于要给公司的后台管理系统添加权限管理,选用的是开源框架shiro,而原本系统上是采用token做了登 ...
- Redis与KV存储(RocksDB)融合之编码方式
Redis与KV存储(RocksDB)融合之编码方式 简介 Redis 是目前 NoSQL 领域的当红炸子鸡,它象一把瑞士军刀,小巧.锋利.实用,特别适合解决一些使用传统关系数据库难以解决的问题.Re ...
- Redis简介、与memcached比较、存储方式、应用场景、生产经验教训、安全设置、key的建议、安装和常用数据类型介绍、ServiceStack.Redis使用(1)
1.NOSQL简介 nosql的产生并不是要彻底的代替关系型数据库,而是作为传统关系型数据库的一个补充. Facebook和360使用Cassandra来存储海量社交数据 Twitter在其url抓取 ...
- C# redis 分布式session存储
https://github.com/uliian/SessionExtentionStore 一个基于Redis的Session存储扩展方案,解决ASP.NET中Session的局限性和跨应用程序使 ...
- 基于Redis+MySQL+MongoDB存储架构应用
摘 要: Redis+MySQL+MongoDB技术架构实现了本项目中大数据存储和实时云计算的需求.使用MongoDB切片的水平动态添加,可在不中断平台业务系统的同时保障扩容后的查询速度和云计算效能 ...
- iOS开发系列--C语言之存储方式和作用域
概述 基本上每种语言都要讨论这个话题,C语言也不例外,因为只有你完全了解每个变量或函数存储方式.作用范围和销毁时间才可能正确的使用这门语言.今天将着重介绍C语言中变量作用范围.存储方式.生命周期.作用 ...
随机推荐
- 第一周嵌入式程序设计(linux环境下)的学习总结
2014025641 <嵌入式程序设计>第1周学习总结 本周学习内容 首先我们先复习下之前学习过的内容,什么是linux? Linux 就是一个操作系统,就像你多少已经了解的 Window ...
- ansible-play中for,if的使用
#迭代循环的使用 #实现同时新建三个文件,同时部署三个服务 --- - host: websrvs remote_user: root task: - name: create some files ...
- C# 向程序新建的窗体中添加控件,控件需要先实例化,然后用controls.add添加到新的窗体中去
C# 向程序新建的窗体中添加控件,控件需要先实例化,然后用controls.add添加到新的窗体中去 Form settingForm = new Form(); setForm deviceSet ...
- Docker容器的管理
创建容器的工作原理: 当利用docker run来创建容器时,Docker在后台运行的标准操作包括:检查本地是否存在指定的镜像,不存在就从公有仓库下载,利用镜像创建并启动一个容器分配一个文件系统,并在 ...
- CC2640蓝牙芯片开发备记
server ,characteristic UUID ,handle sever ,一个工程里可以有多个服务,按键服务,心率计服务,马达服务. characteristic , 一个服务可以有多个的 ...
- OpenGL之shader着色器的应用,三色渐变的三角形
学习自: https://learnopengl-cn.github.io/01%20Getting%20started/05%20Shaders/#_7 首先放一张效果图: 本次教程,将着色器单独定 ...
- python之三级目录
#python之三级目录低配版 menu = { '北京':{ '朝阳':{ '国贸':{ 'CICC':{ }, 'HP':{ }, '渣打银行':{ }, 'CCTV':{ }, }, '望京': ...
- 大数据处理N!(21<N<2000)
输入: 每行输入1个正整数n,(0<n<1000 000) 输出: 对于每个n,输出n!的(十进制)位数 digit, 和最高位数firstNum.(n!约等于 firstNum * 10 ...
- WebStorm 破解方法
WebStorm 破解方法 第一步 打开 IntelliJ IDEA 注册码 网址,点击下载最新的 破解补丁 第二步 将下载下来的破解补丁,复制到WebStorm 安装目录的bin目录下 第三步 修改 ...
- Verdi 看波形常用快捷操作
Verdi看波形的基本操作小结: 快捷键:(大写字母=Shift+小写) g get, signlas添加信号,显示波形n next, Search Forward选定信号按指定的值(上升 ...