SaltStack实战之远程执行-Returners
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,SaltStack实战之远程执行-Returners学习 SaltStackSaltStack实战之远程执行-Returners1. Returners列表2. 介绍mysql returner的用法
千家信息网最后更新 2026年10月31日SaltStack实战之远程执行-Returners
SaltStack实战之远程执行-Returners
SaltStack实战之远程执行-Returners
1. Returners列表
2. 介绍mysql returner的用法
2.1 安装pip和MySQLdb
2.2 配置mysql数据库
2.2 配置salt-master
2.3 测试
1. Returners列表
https://docs.saltstack.com/en/latest/ref/returners/all/index.html
| returners | description |
|---|---|
| carbon_return | Take data from salt and "return" it into a carbon receiver |
| cassandra_cql_return | Return data to a cassandra server |
| cassandra_return | Return data to a Cassandra ColumnFamily |
| couchbase_return | Simple returner for Couchbase. |
| couchdb_return | S imple returner for CouchDB. |
| django_return | A returner that will infor a Django system that returns are available using Django's signal system. |
| elasticsearch_return | Return data to an elasticsearch server for indexing. |
| etcd_return | Return data to an etcd server or cluster |
| hipchat_return | Return salt data via hipchat. |
| influxdb_return | Return data to an influxdb server. |
| kafka_return | Return data to a Kafka topic |
| local | The local returner is used to test the returner interface, it just prints the |
| local_cache | Return data to local job cache |
| memcache_return | Return data to a memcache server |
| mongo_future_return | Return data to a mongodb server |
| mongo_return | Return data to a mongodb server |
| multi_returner | Read/Write multiple returners |
| mysql | Return data to a mysql server |
| nagios_return | Return salt data to Nagios |
| odbc | Return data to an ODBC compliant server. |
| pgjsonb | Return data to a PostgreSQL server with json data stored in Pg's jsonb data type |
| postgres | Return data to a postgresql server |
| postgres_local_cache | Use a postgresql server for the master job cache. |
| pushover_returner | Return salt data via pushover (http://www.pushover.net) |
| rawfile_json | Take data from salt and "return" it into a raw file containing the json, with one line per event. |
| redis_return | Return data to a redis server |
| sentry_return | Salt returner that reports execution results back to sentry. |
| slack_returner | Return salt data via slack |
| sms_return | Return data by SMS. |
| smtp_return | Return salt data via email |
| splunk | Send json response data to Splunk via the HTTP Event Collector |
| sqlite3_return | Insert minion return data into a sqlite3 database |
| syslog_return | Return data to the host operating system's syslog facility |
| xmpp_return | Return salt data via xmpp |
| zabbix_return | Return salt data to Zabbix |
2. 介绍mysql returner的用法
因mysql returner使用需要python MySQLdb模块,所以需要先安装MySQLdb模块。
2.1 安装pip和MySQLdb
在下列地址下载安装包。
https://pypi.python.org/pypi/setuptools
https://pypi.python.org/pypi/pip/
[root@salt-master111 tmp]# yum -y install python-devel mysql-devel
[root@salt-master111 tmp]# unzip setuptools-36.0.1.zip
[root@salt-master111 tmp]# cd setuptools-36.0.1
[root@salt-master111 tmp]# python setup.py install
[root@salt-master111 tmp]# cd ../
[root@salt-master111 tmp]# tar -zxvf pip-9.0.1.tar.gz
[root@salt-master111 tmp]# cd pip-9.0.1
[root@salt-master111 tmp]# python setup.py install
[root@salt-master111 tmp]# pip install mysql
[root@salt-master111 tmp]# python
Python 2.7.5 (default, Nov 6 2016, 00:28:07)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>>
2.2 配置mysql数据库
使用官方的数据表结构,并给minion服务器相关权限。
CREATE DATABASE `salt`
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_ci;
USE `salt`;
--
-- Table structure for table `jids`
--
DROP TABLE IF EXISTS `jids`;
CREATE TABLE `jids` (
`jid` varchar(255) NOT NULL,
`load` mediumtext NOT NULL,
UNIQUE KEY `jid` (`jid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE INDEX jid ON jids(jid) USING BTREE;
--
-- Table structure for table `salt_returns`
--
DROP TABLE IF EXISTS `salt_returns`;
CREATE TABLE `salt_returns` (
`fun` varchar(50) NOT NULL,
`jid` varchar(255) NOT NULL,
`return` mediumtext NOT NULL,
`id` varchar(255) NOT NULL,
`success` varchar(10) NOT NULL,
`full_ret` mediumtext NOT NULL,
`alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
KEY `id` (`id`),
KEY `jid` (`jid`),
KEY `fun` (`fun`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Table structure for table `salt_events`
--
DROP TABLE IF EXISTS `salt_events`;
CREATE TABLE `salt_events` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`tag` varchar(255) NOT NULL,
`data` mediumtext NOT NULL,
`alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
`master_id` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
KEY `tag` (`tag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
grant all on salt.* to salt@"10.1.0.%" identified by "saltpass";
2.2 配置salt-master
/etc/salt/master
return: mysql
mysql.host: 'salt-host'
mysql.user: 'salt'
mysql.pass: 'saltpass'
mysql.db: 'salt'
重启master和minion服务
systemctl restart salt-master
systemctl restart salt-minion
2.3 测试
master端执行命令。
[root@salt-master111 ~]# salt 'salt-master111' test.ping --return mysql
salt-master111:
True
[root@salt-master111 ~]#
在数据库中查看,salt_returns是否有数据进来。
mysql> select * from salt_returns;
+-----------+----------------------+--------+----------------+---------+--------------------------------------------------------------------------------------------------------------------------------------------+---------------------+
| fun | jid | return | id | success | full_ret | alter_time |
+-----------+----------------------+--------+----------------+---------+--------------------------------------------------------------------------------------------------------------------------------------------+---------------------+
| test.ping | 20170609172835506510 | true | salt-master111 | 1 | {"fun_args": [], "jid": "20170609172835506510", "return": true, "retcode": 0, "success": true, "fun": "test.ping", "id": "salt-master111"} | 2017-06-09 17:28:35 |
| test.ping | 20170609172841714924 | true | salt-master111 | 1 | {"fun_args": [], "jid": "20170609172841714924", "return": true, "retcode": 0, "success": true, "fun": "test.ping", "id": "salt-master111"} | 2017-06-09 17:28:41 |
| test.ping | 20170609173636297217 | true | salt-master111 | 1 | {"fun_args": [], "jid": "20170609173636297217", "return": true, "retcode": 0, "success": true, "fun": "test.ping", "id": "salt-master111"} | 2017-06-09 17:36:36 |
| test.ping | 20170609173653113715 | true | salt-master111 | 1 | {"fun_args": [], "jid": "20170609173653113715", "return": true, "retcode": 0, "success": true, "fun": "test.ping", "id": "salt-master111"} | 2017-06-09 17:36:53 |
+-----------+----------------------+--------+----------------+---------+--------------------------------------------------------------------------------------------------------------------------------------------+---------------------+
4 rows in se
数据
配置
数据库
实战
模块
服务
测试
命令
地址
官方
数据表
服务器
权限
结构
法因
学习
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中智农互联网科技
亿人帮互联网科技有限公司
中关村互联网 科技集团
科技服务与互联网
宜安科技 互联网金融
互联网科技logo设计
火传媒上海互联网科技
亿人帮互联网科技
国外互联网科技网站
人人互联网科技是培训
科技赋能互联网健康
央行互联网金融科技公司
团飞科技与伯堂互联网服务平台
互联网还是高科技吗
移动互联网年度科技创新
苏州铭阳互联网科技有限公司
西安有哪些互联网高科技企业
互联网科技创新创业项目
互联网的黑科技实验室
广州全民伙伴互联网科技有限公司
互联网科技股
广州万易互联网科技有限公司
凡科互联网科技
上游互联网科技
中盈科技互联网信息有限公司
语蝶互联网科技有限公司
东莞新华互联网科技学校
互联网科技如何创业
上海钢联属于互联网科技股吗
科技信息时代互联网发展