返回顶部
首页 > 资讯 > 数据库 >SaltStack实战之远程执行-Returners
  • 339
分享到

SaltStack实战之远程执行-Returners

2024-04-02 19:04:59 339人浏览 泡泡鱼
摘要

SaltStack实战之远程执行-Returners学习 SaltStackSaltStack实战之远程执行-Returners1. Returners列表2. 介绍Mysql returner的

SaltStack实战之远程执行-Returners


学习 SaltStack



  • SaltStack实战之远程执行-Returners


1. Returners列表

https://docs.saltstack.com/en/latest/ref/returners/all/index.html

returnersdescription
carbon_returnTake data from salt and “return” it into a carbon receiver
cassandra_cql_returnReturn data to a cassandra server
cassandra_returnReturn data to a Cassandra ColumnFamily
coucHBase_returnSimple returner for Couchbase.
couchdb_returnS imple returner for CouchDB.
Django_returnA returner that will infor a DjanGo system that returns are available using Django’s signal system.
elasticsearch_returnReturn data to an elasticsearch server for indexing.
etcd_returnReturn data to an etcd server or cluster
hipchat_returnReturn salt data via hipchat.
influxdb_returnReturn data to an influxdb server.
kafka_returnReturn data to a Kafka topic
localThe local returner is used to test the returner interface, it just prints the
local_cacheReturn data to local job cache
memcache_returnReturn data to a memcache server
mongo_future_returnReturn data to a mongoDB server
mongo_returnReturn data to a mongodb server
multi_returnerRead/Write multiple returners
mysqlReturn data to a mySQL Server
nagiOS_returnReturn salt data to Nagios
odbcReturn data to an ODBC compliant server.
pgJSONbReturn data to a postgresql server with json data stored in Pg’s jsonb data type
postgresReturn data to a postgresql server
postgres_local_cacheUse a postgresql server for the master job cache.
pushover_returnerReturn salt data via pushover (Http://www.pushover.net)
rawfile_jsonTake data from salt and “return” it into a raw file containing the json, with one line per event.
Redis_returnReturn data to a redis server
sentry_returnSalt returner that reports execution results back to sentry.
slack_returnerReturn salt data via slack
sms_returnReturn data by SMS.
smtp_returnReturn salt data via email
splunkSend json response data to Splunk via the HTTP Event Collector
sqlite3_returnInsert miNIOn return data into a sqlite3 database
syslog_returnReturn data to the host operating system’s syslog facility
xmpp_returnReturn salt data via xmpp
zabbix_returnReturn 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


您可能感兴趣的文档:

--结束END--

本文标题: SaltStack实战之远程执行-Returners

本文链接: https://lsjlt.com/news/38375.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SaltStack实战之远程执行-Returners
    SaltStack实战之远程执行-Returners学习 SaltStackSaltStack实战之远程执行-Returners1. Returners列表2. 介绍mysql returner的...
    99+
    2024-04-02
  • saltstack第三波《远程执行》
    第3章 SaltStack远程执行3.1 目标(Targeting)指定目标,用来匹配minion,默认是以minion ID作为目标来匹配minion的。匹配目标,非常重要,因为匹配错了,执行命令错了,后...
    99+
    2024-04-02
  • Saltstack远程执行命令(3)
        Saltstack的一个比较突出的优势是具备执行远程命令的功能,可以帮助运维人员完成集中化的操作平台(批量执行服务器命令)命令格式:salt '<操作目标>' <方法>[参数]实例:查看minion主机的内存...
    99+
    2023-01-31
    命令 Saltstack
  • Saltstack远程执行命令怎么用
    这篇文章给大家分享的是有关Saltstack远程执行命令怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。命令命令格式:salt '<操作目标>' <方法&...
    99+
    2023-06-05
  • MySQL实战教程之Join语句执行流程
    目录Join语句执行流程一、Index Nested-Loop Join二、Simple Nested-Loop Join三、block Nested-Loop Join四、总结Join语句执行流程 Hi,我是阿昌,今天...
    99+
    2023-03-06
    mysqlJoin语句 mysqlJoin
  • SaltStack实战之配置管理-Jinja2模板
    SaltStack实战之配置管理-Jinja2模板学习 SaltStackSaltStack实战之配置管理-Jinja2模板1. Salt yaml配置文件使用Jinja2模板介绍1.1 File...
    99+
    2024-04-02
  • SaltStack实战之配置管理-状态间关系
    SaltStack实战之配置管理-状态间关系学习 SaltStackSaltStack实战之配置管理-状态间关系1. 状态相关模块1.1 pkg1.2 file1.3 service1.4 req...
    99+
    2024-04-02
  • SaltStack实战之配置管理-LAMP自动化部署
    SaltStack实战之配置管理-LAMP自动化部署学习 SaltStackSaltStack实战之配置管理-LAMP自动化部署1. 部署思路2. 编写lamp.sls1. 部署思路将lamp分成...
    99+
    2024-04-02
  • Python远程linux执行命令实现
    1、远程登录到linux上,使用到的模块paramiko #远程登陆操作系统 def ssh(sys_ip,username,password,cmds): try #创建ssh客户端 clien...
    99+
    2022-06-04
    Python远程linux执行命令 Python linux远程命令
  • jenkins远程执行shell怎么实现
    要实现Jenkins远程执行Shell脚本,你可以按照以下步骤操作: 确保Jenkins服务器和目标服务器已经建立了SSH连接。...
    99+
    2023-10-25
    jenkins shell
  • NodeJS远程代码执行
    背景 @Artsploit在挖PayPal的漏洞时,发现一处NodeJS代码执行,奖励$10000美金。 测试 var express = require('express'); var app = ...
    99+
    2022-06-04
    代码 NodeJS
  • Python ssh 远程执行shell
    python paramiko import paramiko ssh = paramiko.SSHClient() key = paramiko.AutoAddPolicy() ssh.set_missing_host_...
    99+
    2023-01-31
    Python ssh shell
  • python远程执行命令
    import paramiko def sshclient_execmd(hostname, port, username, password, execmd):     paramiko.util.log_to_file("paramik...
    99+
    2023-01-31
    命令 python
  • Vue3.0插件执行原理与实战
    目录一、编写插件1.1 包含install()方法的Object1.2 通过function的方式二、使用插件三、app.use()是如何执行插件的一、编写插件 Vue项目能够使用很...
    99+
    2024-04-02
  • Golang应用执行Shell命令实战
    目录exec包运行基本Shell命令执行长时间运行命令自定义写输出使用Stdin给命令传递输入结束子进程总结本文学习如何在Golang程序中执行Shell命令(如,ls,mkdir或...
    99+
    2023-03-19
    Golang执行Shell命令 Golang执行Shell
  • python 远程执行代码 para
    installtion:    yum -y install python-devel    pip install paramiko    problem:    1.1 error: command ‘gcc’ failed with ...
    99+
    2023-01-31
    代码 python para
  • python 远程执行代码 fabr
     fabric应用:               1、fab -H 172.23.177.40,172.23.177.41 host_type               2、fab host_type check_ver         ...
    99+
    2023-01-31
    代码 python fabr
  • Docker实战之运行项目
    在本篇文章里小编给大家分享的是关于docker运行项目的方法和实例,需要的朋友们学习参考下。1、进入存放自己项目war的目录...
    99+
    2023-06-04
  • 如何进行JMeter配置远程执行
    如何进行JMeter配置远程执行,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在对容器技术相关的各个组件进行压力测试时,我们选用JMeter作为压测工具,分别对...
    99+
    2023-06-19
  • python并发执行之多进程
        多进程顾名思义程序启动的时候运行多个进程,每个进程启动一条线程进行程序处理。 没启动一个进程就要单独划分一块内存资源。就像工厂的厂房。为了提高效率每多添加一条生产线就要单独再盖一个厂房。每个厂房相互是独立的。所以启动多进程是很消耗资...
    99+
    2023-01-31
    之多 进程 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作