SaltStack实战之远程执行-Returners
发表于:2025-11-06 作者:千家信息网编辑
千家信息网最后更新 2025年11月06日,SaltStack实战之远程执行-Returners学习 SaltStackSaltStack实战之远程执行-Returners1. Returners列表2. 介绍mysql returner的用法
千家信息网最后更新 2025年11月06日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安全错误
数据库的锁怎样保障安全
虚拟机远程服务器管理
软件开发可以做到退休吗
检测当前网络安全证书
海淀区信息网络技术推广报价行情
服务器raid卡处于安全模式
如何运用网络技术赚钱
山东软件开发哪个城市好
上海三轴点胶软件开发
中国石化网络安全宣传周活动
dell霄龙服务器厂商电话多少
计算机网络安全三大要素包括
dbl数据库中的意思
涉外网络安全
数据库密码放在哪里安全
我的世界云服务器怎么玩手机版
竹山互联网软件开发品质保障
无线网络安全英文ppt
暗黑2重制怎么切换服务器
软件开发公司绩效考核方案
人脸识别的向量存数据库
内蒙古大数据网络技术开发建议
如何查看服务器的加密卡
ef6依赖注入多数据库
南通知法互联网科技公司
我的世界中加入服务器要钱吗
怀旧服服务器一天刷多少金币
idea导出数据库数据
数据库操作工程师面试题
校园宽带网络安全检查报告
数据库自动化框架