saltstack学习笔记8-Return

Return组件可以理解为saltstack系统对执行minion返回后的数据进行存储或者返回给其他程序

它支持多种存储方式,比如mysql、mongoDB、redis、memcached等,通过return我们可以对saltstack的每次操作进行记录,对以后日志审计提供了数据来源。

官方有30种return数据存储与接口,我们可以很方便的配置与使用它。当然也支持自己定义的return。

查看所有return列表

salt ‘minion1‘ sys.list_returners

minion1:

- carbon

- couchdb

- etcd

- hipchat

- local

- local_cache

- multi_returner

- redis

- slack

- smtp

- sqlite3

- syslog

return流程

return是在master端触发任务,然后minion接受处理任务后直接与return存储服务器建立连接,然后把数据return存到存储服务器。这个过程都是minion端操作存储服务器,所以要确保minion端的配置跟依赖包是正确的

使用redis作为return存储方式

这里我们就借用官网的例子来熟悉下怎么使用return,我们使用redis作为return的存储方式

minion配置文件

在minion上安装redis Python client

首先需要在minion配置文件里面定义return存储服务器信息,添加redis服务器信息即可

redis.db: ‘0‘

redis.host: ‘127.0.0.1‘

redis.port: ‘6379‘

minion配置文件添加好后,安装依赖,使minion能操作redis服务器

重启minion端,/etc/init.d/salt-minion restart

在执行return之前,可以先登录到redis服务器上查看redis monitor信息。这样我们可以实时查看redis相关操作,现在我们在master上执行一个module,然后return到redis

master端:

salt ‘minion1‘ cmd.run ‘hostname‘ --return redis

minion1:

minion1

redis端:

./redis-cli monitor

OK

1461054358.412376 [0 127.0.0.1:58564] "SELECT" "0"

1461054358.412717 [0 127.0.0.1:58564] "SET" "minion1:20160419162558137768" "{\"fun_args\": [\"hostname\"], \"jid\": \"20160419162558137768\", \"return\": \"minion1\", \"retcode\": 0, \"success\": true, \"fun\": \"cmd.run\", \"id\": \"minion1\"}"

1461054358.413143 [0 127.0.0.1:58564] "LPUSH" "minion1:cmd.run" "20160419162558137768"

1461054358.413482 [0 127.0.0.1:58564] "SADD" "minions" "minion1"

1461054358.413791 [0 127.0.0.1:58564] "SADD" "jids" "20160419162558137768"

格式是JSON

时间: 2024-10-19 16:40:26

saltstack学习笔记8-Return的相关文章

SaltStack 学习笔记 - 第十二篇: SaltStack Web 界面

SaltStack 有自身的用python开发的web界面halite,好处是基于python,可以跟salt的api无缝配合,确定就比较明显,需要个性化对web界面进行定制的会比较麻烦,如果喜欢体验该界面的可以参考下面的文章  http://rfyiamcool.blog.51cto.com/1030776/1275443/ 我是运用另一个python+php来进行web开发,具体需要的工具有在我的另一篇文章里面介绍过,这里再重新进行整个开发介绍 首先介绍php 跟python通信的工具 pp

Saltstack学习笔记(2)

1.5 Salt  命令介绍(常用的这些一定要多练习) 命令           功能描述 salt           Salt 主命令,比如执行命令模块 satl-cp        复制文件到指定的系统上去 salt-key       和 Minion 之间进行身份验证 salt-master    Master 主守护进程,用于控制 Minion salt-run       前端命令执行 salt-syndic    Salt syndic 守护进程,用于多级 salt-master

saltstack学习笔记9-JOB

saltstack里面执行任何一个操作都会在master上产生一个jid号,就像上一节存储到redis上的数据显示的一样 ./redis-cli monitor OK 1461054358.412376 [0 127.0.0.1:58564] "SELECT" "0" 1461054358.412717 [0 127.0.0.1:58564] "SET" "minion1:20160419162558137768" "

SaltStack学习笔记

一.安装部署 实验环境: Server : 192.168.0.41 Client-1: 192.168.0.42 Client-2: 192.168.0.43 1.安装epel源. rpm -Uvh http://mirrors.sohu.com/fedora-epel/6Server/x86_64/epel-release-6-8.noarch.rpm 2. 服务端安装salt-master,客户端安装salt-minion 3. 修改客户端配置文件/etc/salt/minion 修改两个

saltstack学习笔记2-认证

master和minion通信之前我们需要对每个minion进行认证,认证很简单,上节启动后,通过命令查看下认证列表 master端: salt-key -L    #查看认证列表 这时我们会发现未认证的两个主机,他们就是我们的minion1和2 这时我们可以通过两个命令来添加他们,单个添加和批量添加 salt-key -a 'minion1'    #单个添加 salt-key -A    #批量添加 当然能添加就能删除,删除命令也是两个,单个删除和批量删除 salt-key -d 'mini

saltstack学习笔记11-Renderer

前面提到过使用Python语言编写state.sls文件 在saltstack系统里面支持很多方式去扩展它,renderer就是其中一种 默认saltstack的renderers是YAML+Jinja,可以通过产科master文件得知当前的renderer 目前saltstack支持很多种renderer,因为YAML Jinja Python这三种renderer应用范围比较广 前面我们编写state的时候都是使用YAML Jinja这两种,这节我们开始讲解如何使用Python语言去定义st

saltstack学习笔记10-Event和Reactor系统

Event是saltstack里面的对每个事件的一个记录,它相比job更加底层,event能记录更加详细的saltstack事件,比如minion服务启动后请求master签发证书或者证书校验的过程,都能通过event事件来查看整个过程 event也为扩展saltstack提供了更加友好的接口 官方列出一些event事件,包括认证,minion连接master,key认证,job等 查看event事件 可以通过以下命令查看event事件,然后再打开一个终端执行任务 salt-run state.

Saltstack 学习笔记(一)

Salt简介: Salt(saltstack)是一个基础设施的自动化和配置管理工具,根据官方文档,salt是一个配置管理系统,能够维护远程节点到指定的状态(例如确保指定的包是安装的,并且指定的服务是正在运行的),并且能够分布式的在远程节点上执行命令和查询数据. 安装 本文是ubuntu 15.10作为测试,并且master和minion为同一台机器 sudo apt-get install python-software-properties sudo add-apt-repository pp

saltstack学习笔记7-States

States是saltstack中的配置语言,日常进行配置管理时需要编写大量的states文件.比如安装一个包,然后管理一个配置文件,最后保证某个服务正常运行. 编写一些states sls文件(描述状态配置的文件)去描述和实现我们的功能.编写states sls文件都是YAML语法.当然states sls文件也支持使用Python语言,其实编写states sls文件并不难,官方提供大量的示例,我们只需要记住编写格式,然后根据自己的实际需求去编写适合自己业务的states sls文件 查看所