10-saltstack 数据返回到MySQL
官方文档:https://docs.saltstack.com/en/latest/ref/returners/all/salt.returners.mysql.html#module-salt.returners.mysql
1.MySQL服务器操作
# 创建数据库 CREATE DATABASE `salt` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; USE `salt`; # 创建第1张表 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; # 创建第2张表 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; # 创建第3张表 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;
2.查询数据库,表及授权用户
mysql> show databases; # 查询库 +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | salt | | test | +--------------------+ 5 rows in set (0.01 sec) mysql> use salt; # 切换数据库 Database changed mysql> show tables; # 查询表 +----------------+ | Tables_in_salt | +----------------+ | jids | | salt_events | | salt_returns | +----------------+ 3 rows in set (0.00 sec) mysql> grant all on salt.* to salt@'192.168.2.%' identified by 'salt'; # 授权用户 Query OK, 0 rows affected (0.01 sec)
3.minion端安装MySQL-python支持
[root@salt-minion01 ~]# yum install MySQL-python -y
4.master配置文件加入
[root@salt-master ~]# vim /etc/salt/master # 加入以下配置
# Which returner(s) will be used for minion's result:
#return: mysql
alternative.mysql.host: '192.168.2.102'
alternative.mysql.user: 'salt'
alternative.mysql.pass: 'salt'
alternative.mysql.db: 'salt'
alternative.mysql.port: 3306
[root@salt-master ~]# /etc/init.d/salt-master restart # 重启服务
Stopping salt-master daemon: [ OK ]
Starting salt-master daemon: [ OK ]
[root@salt-master ~]# salt '*' saltutil.refresh_pillar # 刷新
salt-minion01:
True
salt-minion02:
True
salt-master:
True
5.minion配置
[root@salt-minion02 ~]# vim /etc/salt/minion #return: mysql alternative.mysql.host: '192.168.2.102' alternative.mysql.user: 'salt' alternative.mysql.pass: 'salt' alternative.mysql.db: 'salt' alternative.mysql.port: 3306 [root@salt-minion02 ~]# /etc/init.d/salt-minion restart # 重启服务 Stopping salt-minion:root:salt-minion02 daemon: OK Starting salt-minion:root:salt-minion02 daemon: OK

浙公网安备 33010602011771号