saltstack(6)---Job管理

二、Job管理
master下发指令任务后,会附带上产生的jid.
minion在接受到指令开始执行时,会在本地的/var/cache/salt/minion/proc目录下产生该jid命名的文件,用于执行过程中master查看当前任务的执行情况。
指令执行完毕将结果传递给master后,删除该临时文件。

[root@server1 keepalived]# cd /var/cache/salt/master/jobs

job默认缓存时间:24小时

[root@server1 master]# vim /etc/salt/master
#keep_jobs: 24

在这里插入图片描述
master端job缓存目录:

/var/cache/salt/master/jobs

1、直接配置minion端,还可以将发送给minion端的数据发送到数据库
docs.saltstack.cn/topics/jobs/external_cache.html#external-master-cache
在这里插入图片描述

(1)配置数据库-和master端放在一起

[root@server1 jobs]# yum install -y mariadb-server
[root@server1 yum.repos.d]# systemctl start mariadb
[root@server1 ~]# vim add.sql		#创建表

在这里插入图片描述

[root@server1 ~]# mysql < add.sql 
[root@server1 ~]# mysql
MariaDB [(none)]> use salt
MariaDB [salt]> show tables;
+----------------+
| Tables_in_salt |
+----------------+
| jids           |
| salt_events    |
| salt_returns   |
+----------------+
MariaDB [salt]> grant all on salt.* to salt@'%' identified by 'salt';		#授权
Query OK, 0 rows affected (0.02 sec)

MariaDB [salt]> grant all on salt.* to salt@'localhost' identified by 'salt';
Query OK, 0 rows affected (0.00 sec)

[root@server1 ~]# mysql -u salt -psalt salt		#测试是否成功

在这里插入图片描述在这里插入图片描述在这里插入图片描述
(2)minion端:

[root@server2 salt]# yum install -y MySQL-python.x86_64	#安装解决依赖性
[root@server2 salt]# vim minion

return: mysql
#
#return: mysql,slack,redis
#
#return:
#  - mysql
#  - hipchat
#  - slack
mysql.host: '172.25.1.1'
mysql.user: 'salt'
mysql.pass: 'salt'
mysql.db: 'salt'
mysql.port: 3306

在这里插入图片描述

[root@server2 salt]# yum install -y mysql		#安装验证
[root@server2 salt]# mysql -h 172.25.1.1 -u salt -psalt salt	#验证成功

[root@server2 salt]# systemctl restart salt-minion

在这里插入图片描述

(3)master:会直接把指令存储在数据库中

[root@server1 ~]# salt server2 test.ping --return mysql
server2:
    True

在这里插入图片描述

MariaDB [salt]> select * from salt_returns;
+-----------+----------------------+--------+---------+---------+-------------------------------------------------------------------------------------------------------------------------------------+---------------------+
| fun       | jid                  | return | id      | success | full_ret                                                                                                                            | alter_time          |
+-----------+----------------------+--------+---------+---------+-------------------------------------------------------------------------------------------------------------------------------------+---------------------+
| test.ping | 20200530172923992654 | true   | server2 | 1       | {"fun_args": [], "jid": "20200530172923992654", "return": true, "retcode": 0, "success": true, "fun": "test.ping", "id": "server2"} | 2020-05-31 01:29:24 |
| test.ping | 20200530172949771653 | true   | server2 | 1       | {"fun_args": [], "jid": "20200530172949771653", "return": true, "retcode": 0, "success": true, "fun": "test.ping", "id": "server2"} | 2020-05-31 01:29:49 |
| test.ping | 20200530173028023319 | true   | server2 | 1       | {"fun_args": [], "jid": "20200530173028023319", "return": true, "retcode": 0, "success": true, "fun": "test.ping", "id": "server2"} | 2020-05-31 01:30:28 |
+-----------+----------------------+--------+---------+---------+-------------------------------------------------------------------------------------------------------------------------------------+---------------------+

[root@server1 ~]# salt-run jobs.list_jobs		#列出当前master jobs cache中所有的job
[root@server1 ~]# salt-run jobs.lookup_jid 20200530173028023319	#查询返回信息
server2:
    True

在这里插入图片描述在这里插入图片描述

2、minion-master-…数据发送到数据库
在这里插入图片描述
master:

[root@server1 ~]# yum install -y MySQL-python
[root@server1 ~]# vim /etc/salt/master
mysql.host: 'localhost'
mysql.user: 'salt'
mysql.pass: 'salt'
mysql.db: 'salt'
mysql.port: 3306
master_job_cache: mysql

[root@server1 ~]# systemctl restart salt-master
[root@server1 ~]# salt '*' cmd.run df		#推送命令查看表格即可
MariaDB [salt]> select * from salt_returns;

在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值