ycvodzf 发表于 2018-7-31 10:59:12

saltstack (4) 用mysql存储 salt 返回值

  Salt返回接收器(returner)允许把minion的响应保存在各种数据存储或不同的位置,甚至把响应内容显示在命令行。Returner可以用来扩展Salt,和新的、定制的接口和支持新的数据库进行通信。本例用mysql存储salt返回值
  操作如下:
  # yum -y install mysql-connector-python
  # yum -y install MySQL-python27
  # yum -y install mysql-server
  # /etc/init.d/mysqld start
  # mysql
  CREATE DATABASE`salt`
  DEFAULT CHARACTER SET utf8
  DEFAULT COLLATE utf8_general_ci;
  USE `salt`;
  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;
  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;
  DROP TABLE IF EXISTS `salt_events`;
  CREATE TABLE `salt_events` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `tag` varchar(255) NOT NULL,
  `data` varchar(1024) NOT NULL,
  `alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `tag` (`tag`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  grant all on salt.* to salt@'172.31.%'>  flush privileges ;
  exit
  # vim /etc/salt/master
  #return: mysql
  master_job_cache: mysql
  mysql.host: '172.31.24.139'
  mysql.user: 'salt'
  mysql.pass: 'salt'
  mysql.db: 'salt'
  mysql.port: 3306
  # /etc/init.d/salt-master restart
  # salt '*' saltutil.refresh_pillar
  # salt '*' test.ping
  # mysql
  use salt;
  select * from salt_returns;
  exit
  #
页: [1]
查看完整版本: saltstack (4) 用mysql存储 salt 返回值