saltstack将数据返回到mysql服务器:

1、在master上安装mysql-server[[email protected] ~]# yum -y install mysql-server

[[email protected] ~]# service mysqld start && chkconfig mysqld on

2、创建相关的表结构[[email protected] ~]# mysql

mysql>

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;

说明:Required python modules: MySQLdb

3、mysql授权mysql>  grant all on salt.* to [email protected]%‘ identified by ‘salt‘;

4、客户端安装MySQL-python[[email protected] ~]# salt ‘*‘ cmd.run ‘yum -y install MySQL-python‘

[[email protected] ~]# mysql -u satl -p -h 10.10.10.140

Enter password:

ERROR 1045 (28000): Access denied for user [email protected] (using password: YES)

5、客户端进行连接测试[[email protected] ~]# mysql -usalt -psalt -h 10.10.10.140

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 5

Server version: 5.1.73 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| salt               |

| test               |

+--------------------+

3 rows in set (0.01 sec)

mysql> use salt;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> show tables;

+----------------+

| Tables_in_salt |

+----------------+

| jids           |

| salt_events    |

| salt_returns   |

+----------------+

3 rows in set (0.00 sec)

6、配置master及minion端相关配置[[email protected] ~]# vim /etc/salt/master

mysql.host: ‘10.10.10.140‘

mysql.user: ‘salt‘

mysql.pass: ‘salt‘

mysql.db: ‘salt‘

mysql.port: 3306

[[email protected] ~]# /etc/init.d/salt-master restart

Stopping salt-master daemon:                               [确定]

Starting salt-master daemon:                               [确定]

[[email protected] ~]# vim /etc/salt/minion

mysql.host: ‘10.10.10.140‘

mysql.user: ‘salt‘

mysql.pass: ‘salt‘

mysql.db: ‘salt‘

mysql.port: 3306

[[email protected] ~]# /etc/init.d/salt-minion restart

Stopping salt-minion daemon:                               [确定]

Starting salt-minion daemon:                               [确定]

7、测试返回值到mysql的情况[[email protected] ~]# salt ‘*‘ cmd.run ‘df‘ --return mysql

node02.saltstack.com:

Filesystem     1K-blocks    Used Available Use% Mounted on

/dev/sda5       14114736 8728708   4662368  66% /

tmpfs             953964      12    953952   1% /dev/shm

/dev/sda1         194241   42160    141841  23% /boot

/dev/sda3        1998672   18204   1875612   1% /tmp

node01.saltstack.com:

Filesystem     1K-blocks    Used Available Use% Mounted on

/dev/sda5       14114736 8729432   4661644  66% /

tmpfs             953964      84    953880   1% /dev/shm

/dev/sda1         194241   42160    141841  23% /boot

/dev/sda3        1998672   18224   1875592   1% /tmp

测试结果:mysql> select * from salt_returns\G;

*************************** 1. row ***************************

fun: cmd.run

jid: 20170220120522696829

return: "Filesystem     1K-blocks    Used Available Use% Mounted on\n/dev/sda5       14114736 8729432   4661644  66% /\ntmpfs             953964      84    953880   1% /dev/shm\n/dev/sda1         194241   42160    141841  23% /boot\n/dev/sda3        1998672   18224   1875592   1% /tmp"

id: node01.saltstack.com

success: 1

full_ret: {"fun_args": ["df"], "jid": "20170220120522696829", "return": "Filesystem     1K-blocks    Used Available Use% Mounted on\n/dev/sda5       14114736 8729432   4661644  66% /\ntmpfs             953964      84    953880   1% /dev/shm\n/dev/sda1         194241   42160    141841  23% /boot\n/dev/sda3        1998672   18224   1875592   1% /tmp", "retcode": 0, "success": true, "fun": "cmd.run", "id": "node01.saltstack.com"}

alter_time: 2017-02-20 12:05:24

*************************** 2. row ***************************

fun: cmd.run

jid: 20170220120528485243

return: "Filesystem     1K-blocks    Used Available Use% Mounted on\n/dev/sda5       14114736 8729432   4661644  66% /\ntmpfs             953964      84    953880   1% /dev/shm\n/dev/sda1         194241   42160    141841  23% /boot\n/dev/sda3        1998672   18224   1875592   1% /tmp"

id: node01.saltstack.com

success: 1

full_ret: {"fun_args": ["df"], "jid": "20170220120528485243", "return": "Filesystem     1K-blocks    Used Available Use% Mounted on\n/dev/sda5       14114736 8729432   4661644  66% /\ntmpfs             953964      84    953880   1% /dev/shm\n/dev/sda1         194241   42160    141841  23% /boot\n/dev/sda3        1998672   18224   1875592   1% /tmp", "retcode": 0, "success": true, "fun": "cmd.run", "id": "node01.saltstack.com"}

alter_time: 2017-02-20 12:05:28

2 rows in set (0.00 sec)

ERROR:

No query specified

8、如果每次执行不加--return=mysql,由master端将返回的数据写入数据库master_job_cache: mysql

注意:如果配置了/etc/salt/roster的话,

要注释掉master_job_cache: mysql,否则会有冲突

#master_job_cache: mysql

如果之前已经配置过salt-ssh的话,在设置master_job_cache: mysql的话,就会出现报错信息:[[email protected] salt]# salt ‘node01.saltstack.com‘ cmd.run ‘ls -ld /‘

Failed to allocate a jid. The requested returner ‘mysql‘ could not be loaded.

我暂时没找到解决办法

其它报错信息:[[email protected] salt]# salt ‘node01.saltstack.com‘ cmd.run ‘ls -ld /‘

Salt request timed out. The master is not responding. If this error persists after verifying the master is up, worker_threads may need to be increased.

可以尝试在/etc/salt/master中修改worker_threads的值

#worker_threads: 5

worker_threads: 20

如果仍旧报错,可能是网络的问题,重新执行几次,可能就恢复了

参考资料:http://docs.saltstack.cn/ref/returners/all/salt.returners.mysql.html#module-salt.returners.mysql

原文:http://molewan.blog.51cto.com/287340/1899474

saltstack 返回mysql_saltstack(返回值存储到Mysql)相关推荐

  1. mysql存储过程返回多个值_数据库mysql存储过程之返回多个值的方法示例

    本文实例讲述了mysql存储过程之返回多个值的方法.分享给大家供大家参考,具体如下: mysql存储函数只返回一个值.要开发返回多个值的存储过程,需要使用带有INOUT或OUT参数的存储过程.咱们先来 ...

  2. saltstack 管理mysql_saltstack自动化运维系列④之saltstack的命令返回结果mysql数据库写入...

    saltstack自动化运维系列④之saltstack的命令返回结果mysql数据库写入 salt的返回值写入mysql数据库: 可参考: https://docs.saltstack.com/en/ ...

  3. mysql存储过程输出多个参数值_MySQL 存储过程返回多个值

    MySQL  存储过程返回多个值 在本教程中,您将学习如何编写/开发返回多个值的存储过程. MySQL存储函数只返回一个值.要开发返回多个值的存储过程,需要使用带有INOUT或OUT参数的存储过程. ...

  4. 请实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。 给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代

    请实现一个算法,确定一个字符串的所有字符是否全都不同.这里我们要求不允许使用额外的存储结构. 给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代 ...

  5. mysql 事务 返回插入的值_Mysql同一个事务内记录成功插入后查询不出来

    背景: 1)mysql:Ver 14.12 Distrib 5.0.45, for Win32 (ia32) 2)mysql odbc驱动:3.51.22 3)vs2005 4)客户端用ado,odb ...

  6. JavaScript 返回多个值

    上一节的知识讲了带参数的函数,getArea用于计算桌子的面积,它返回一个值--桌子的面积. 有的时候需求还真复杂,还是拿桌子来说,要求同时计算桌子的桌面面积,还计算桌子的体积. 计算面积用长度x宽度 ...

  7. c++中函数放在等号右边_如何从C或C++中的函数返回多个值?

    新程序员通常在寻找从函数返回多个值的方法.不幸的是,C和C++不允许直接这样做.但是幸运的是,通过一些巧妙的编程,我们可以轻松实现这一目标. 下面是从C函数中返回多个值的方法: 通过使用指针. 通过使 ...

  8. JavaScriptjQuery.返回多个值的函数

    返回多个值的函数 例子 <!DOCTYPE html><html lang="zh"><head> <meta charset=" ...

  9. Math.abs为Integer.Min_VALUE返回错误的值

      Math.abs为Integer.Min_VALUE返回错误的值 这段代码: System.out.println(Math.abs(Integer.MIN_VALUE)); 回报-2147483 ...

  10. r 函数返回多个值_第四讲 R描述性统计分析

    在"R与生物统计专题"中,我们会从介绍R的基本知识展开到生物统计原理及其在R中的实现.以从浅入深,层层递进的形式在投必得医学公众号更新. 在上一讲中,我们介绍了第三讲 R编程基础- ...

最新文章

  1. 3.15好水指数N1能否让饮水健康不失控?
  2. AttributeError: ‘Series‘ object has no attribute ‘as_matrix‘
  3. 【二叉查找树BST】二叉查找树的基本操作总结
  4. python selenium ide使用_第 2 章 Selenium IDE 的使用 Selenium 3+Python 3 自动化测试
  5. JAVA后端面试100 QA之第一篇
  6. Android 短信解析
  7. Mac OS X下MySql卸载方法
  8. 如何将无线鼠标连接到Mac电脑?
  9. 代理服务器proxy server是什么?有什么作用
  10. 关于ftp 服务器搭建的200错误与527错误
  11. matlab绘制柱状图语句,matlab绘制柱状图
  12. python加粗线宽代码_python-增加matplotlib中图例行的线宽
  13. php整数溢出 ctf,PWN INTEGER OVERFLOW 整数溢出
  14. 怎么样给Oracle数据库中的表添加列?
  15. 电脑装机硬盘分区格式
  16. Scratch等级考试编程题操作指南
  17. 点心云pcdn跑不起来解决办法(不起量)
  18. 什么是对象切片(Object Slicing)?
  19. 机器学习实战——特征工程之关联规则
  20. Python:whl文件简介及实践

热门文章

  1. 六州歌头 本周(1216-1220)部分GAN论文
  2. 温暖和暖和的区别Java_国内冬天哪里比较暖和 冬天暖和的城市排名
  3. h5支付不能打开支付宝 ios_iOS 手机网站支付转Native支付(H5支付页面调起支付宝客户端(app))...
  4. 阿兹后来明白了,其实别人没有我们想象中的那么关注我们
  5. sp 导出unity哪个_SP与Unity的效果差异分析
  6. 聚合购物一站式采购平台HTML网站源码
  7. MySQL业务账号需要哪些权限_MySQL 日常运维业务账号权限的控制
  8. zzuli OJ 2331:小新同学的智商
  9. 餐巾计划问题 费用流
  10. JS正则表达式匹配域名