SaltStack部署实践(4) - JOB管理与Returns模块

目录

一、salt-job管理

# job存放数据目录

# 缓存时间设置

# Others

二、returns模块配置job数据入库

#配置returns返回值信息

#mysql安全设置

#创建模块相关表和用户授权

#测试数据是否正常入库

 三、minion-id修改方法


一、salt-job管理

何为job?
    master在下发指令消息时,会附带上产生的jid(即job的id格式为%Y%m%d%H%M%S%f),minion在接收到指令开始执行时,会在本地的cachedir(默认是/var/cache/salt/minion)下的proc目录产生以该jid命名的文件,用于在执行过程中master查看当前任务的执行情况,指令执行完毕将结果传送给master后,删除该临时文件。master将minion的执行结果存放本地/var/cache/salt/master/jobs目录,默认缓存24小时(可通过修改master配置文件keepjobs选项调整)

#也就是说,job存放固定时间内的任务执行结果,而salt的returns模块负责将这些结果返回至某个接收点,默认minion会直接返回至设置的接收点不经过master,按照通常情况,我们本次实现将minion所有任务执行结果返回至mysql数据库中存储,然后再由master调用。

# job存放数据目录

[root@linux-node1 jobs]# cd /var/cache/salt/master/jobs/
[root@linux-node1 jobs]# ls
00  08  10  16  1f  25  2e  34  3c  45  4f  56  5d  65  6c  78  83  8a  90  98  9e  a6  ad  b4
[root@linux-node1 be494bbf286bc0cab5ad0fb7d516e9]# pwd
/var/cache/salt/master/jobs/a1/be494bbf286bc0cab5ad0fb7d516e9
[root@linux-node1 be494bbf286bc0cab5ad0fb7d516e9]# ls
jid  linux-node1.example.com  linux-node2.example.com

# 缓存时间设置

[root@linux-node1 jobs]# grep "#keep_jobs: 24" /etc/salt/master
#keep_jobs: 24
默认的缓存是24小时,可以进行修改。管理job是模块进行管理,由执行模块进行管理:SALT.MODULES.SALTUTIL

# Others

salt '*' saltutil.clear_cache   清除缓存
salt '*' saltutil.find_job <job id>     查找当前在运行的job,并返回它的id
salt '*' saltutil.is_running    查看当前在运行的job
salt '*' saltutil.kill_job <job id>     杀死job

二、returns模块配置job数据入库

#returns模块官方文档
https://www.unixhot.com/docs/saltstack/ref/returners/all/salt.returners.mysql.html

#配置returns返回值信息

[root@linux-node1 ~]# yum install -y MySQL-python
[root@linux-node1 ~]# vi /etc/salt/master
master_job_cache: mysql
mysql.host: '192.168.56.11'
mysql.user: 'salt'
mysql.pass: 'salt'
mysql.db: 'salt'
mysql.port: 3306

#mysql安全设置

[root@linux-node1 ~]# mysql_secure_installation 

#创建模块相关表和用户授权

MariaDB [salt]>
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;
MariaDB [salt]> show tables;
+----------------+
| Tables_in_salt |
+----------------+
| jids           |
| salt_events    |
| salt_returns   |
+----------------+
3 rows in set (0.00 sec)
#此时returns表为空
MariaDB [salt]> select * from salt_returns;
Empty set (0.00 sec)
#grant 权限 on 数据库对象 to 用户 identified by 用户密码 (如果用户不存在,创建并授权)
MariaDB [salt]> grant all on salt.* to salt@192.168.56.11 identified by 'salt';
Query OK, 0 rows affected (0.00 sec)

#测试数据是否正常入库

[root@linux-node1 ~]# systemctl restart salt-master
[root@linux-node1 ~]# salt '*' test.ping
[root@linux-node1 files]# mysql -h 192.168.56.11 -u salt -psalt
MariaDB [(none)]> use salt;
# 出现job数据,说明节点任务执行结果正常入库
MariaDB [salt]> select * from salt_returns; 

 三、minion-id修改方法

#模块接口说明
https://docs.saltstack.com/en/2016.11/ref/states/all/index.html

1、停止服务
[root@linux-node2 ~]# systemctl stop salt-minion
2、删除minion
[root@linux-node1 ~]# salt-key -d minionid
[root@linux-node2 ~]# rm -rf /etc/salt/minion_id 
3、修改配置文件
[root@linux-node2 ~]# vi  /etc/salt/minion
#id:
4、启动minion
[root@linux-node2 ~]# systemctl start salt-minion

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

情绪零碎碎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值