saltstack 将执行结果保存到mysql中
1. 安装salt(安装过程不再赘述)
2. 安装mysql(安装过程不再赘述)
3. 确保salt-master机器可以连接mysql(安装pymysql)
4. 建库
CREATE DATABASE `salt` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; USE `salt`; 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; 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; 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;
5. 授权
grant all privileges on salt.* to salt@'localhost' identified by "123456";
6. 配置salt-master
vim /etc/salt/master
#return: mysql master_job_cache: mysql mysql.host: '192.168.9.176' mysql.user: 'salt' mysql.pass: 'quxy120012' mysql.db: 'salt' mysql.port: 3306
7. 重启salt-master
8. 测试
例如:salt "*" cmd.run 'free -m'
9 . 查看数据库
select * from salt_returns;
saltstack异步执行命令
salt --async '10.10.10.10' cmd.run "echo test11 >> /tmp/test.sh"
Executed command with job ID: 20221109072954917684
通过jobid获取执行结果
salt-run jobs.lookup_jid 20221109072954917684
saltstack 的job管理
参考文档
https://blog.csdn.net/die8252/article/details/102307711

浙公网安备 33010602011771号