saltstack的mysql存储

在master将数据推向minion端时,默认数据在master端缓存24小时,为了长时间保存,需要将数据放入数据库

  • 在minion端安装python自动化运维模块,可以将数据保存到数据库中
  • 在server3上安装MYSQL-python
    在这里插入图片描述
  • 在server2上安装mariadb-server
    在这里插入图片描述
  • 开启mariadb服务:systemctl start mariadb.service
  • 进入数据库,授权:grant all on salt.* to salt@'%' identified by 'westos';
    在这里插入图片描述
  • 在server3上编辑/etc/salt/minion文件
mysql.host: '172.25.60.2'
mysql.user: 'salt'
mysql.pass: 'westos'
mysql.db: 'salt'
mysql.port: 3306

在这里插入图片描述

  • 修改文件后重启minion:systemctl restart salt-minion
    在这里插入图片描述
  • 在server2上编辑add.sql文件(直接从官网上复制,将第17行删除):vim add.sql
    在这里插入图片描述
    在这里插入图片描述
  • 导入数据库:mysql < add.sql
  • 进入数据库–>查看所有的数据库,可以看到salt数据库:show databases;
    在这里插入图片描述
  • 在server2上测试:salt ‘*’ test.ping --return mysql
    在这里插入图片描述
  • 进入数据库–>进入到salt数据库:use salt;
  • 查看salt_returns表,可以查看到提送给server3数据:select * from salt_returns;
    在这里插入图片描述
  • 利用job_cache
    如果每个minion端都需要安装python的工具的话,显然是太麻烦,基本上市不可能的,所以用job_cache只配置master端,所有的minion的推送数据都可以放入数据库中,这样实施起来就方便很多
  • 在server2上编辑配置文件:
vim /etc/salt/master
	masterl_job_cache: mysql
	
    mysql.host: 'localhost'
	mysql.user: 'salt'
	mysql.pass: 'westos'
	mysql.db: 'salt'
	mysql.port: 3306

在这里插入图片描述

  • 进入数据库–>授权:grant all on salt.* to salt@'localhost' identified by 'westos';
    在这里插入图片描述
  • 直接登陆salt数据库: mysql -u salt -p salt查看是否成功;
    在这里插入图片描述
  • 安装MySQL-python: yum install -y MySQL-python
  • 重新开启服务: systemctl restart salt-master
    在这里插入图片描述
  • 测试: salt '*' cmd.run 'hostname'
  • 进入salt数据库: mysql -u salt -p salt
    在这里插入图片描述
  • 查看salt_returns表,可以查看到server3和4的数据:select * from salt_returns;
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值