saltstack 管理mysql_saltstack-把执行结果存储到mysql服务内

saltstack把执行的结果保存到mysql中,以便进行命令安全审计

mysql负责存储数据,mysql-python负责收集数据

master需要安装mysql和MySQL-python,minion端安装MySQL-python

系统环境

CentOS Linux release 7.4

master    10.0.0.111

minion    10.0.0.112

1、master 端操作:

1.1、安装mysql

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql-server MySQL-python

#启动mysql

systemctl start mysqld.service

systemctl enable mysqld.service

systemctl status mysqld.service

#修改mysql密码

[root@salt-server ~]# grep "password" /var/log/mysqld.log

d7fa178d2f99c5f3f3249335a50216ab.png

set global validate_password_policy=0;

set global validate_password_length=1;

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

#修改完密码后再依次输入以下内容:

##########################################################

CREATE DATABASE `salt`

DEFAULT CHARACTER SET utf8

DEFAULT COLLATE utf8_general_ci;

##########################################################

USE `salt`;

##########################################################

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;

############################################################

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;

############################################################

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;

#############################################################

grant all on salt.* to salt@'%' identified by '123456';

#以下是上边操作的截图

cb1cc6643b45a4b45b4588203e680534.png

431198a463785e17c19f24c83e337ded.png

a8e37d4c7702844510b2568cfcede881.png

011b6c401255792f29a1ce8ab20f10bd.png

1.2、测试mysql是否设置完成

34113afc207b40702a6a24b7f857b749.png

1.3、修改master主配置文件

[root@salt-server ~]# vim /etc/salt/minion

mysql.host: '10.0.0.111'

mysql.user: 'salt'

mysql.pass: '123456'

mysql.db: 'salt'

mysql.port: 3306

a33d925d8fd86f73a1571ffc0a9738ce.png

#重启配置文件

systemctl restart salt-minion

2、minion端修改内容如下:

yum -y install MySQL-python

[root@minion02 ~]# vim /etc/salt/minion

mysql.host: '10.0.0.111'

mysql.user: 'salt'

mysql.pass: '123456'

mysql.db: 'salt'

mysql.port: 3306

#重启minion服务

systemctl restart salt-minion

总测试:

[root@salt-server ~]# salt '*' test.ping --return mysql

51fd995ea1bc627ede3ac5e620ffc51c.png

[root@salt-server ~]# salt '*' cmd.run 'df -h' --return mysql

a99f67131edc67672181b6e913b7cc0d.png

在master的mysql服务查看:

[root@salt-server ~]# mysql -uroot -p

Enter password:

mysql> use salt;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> mysql> select * from salt_returns\G;

4d4e1f693c518f894f604f0b21c64d7f.png

方法2

master端安装MySQL-python和mysql-server

minion端不需要安装MySQL-python包

操作步骤略(与发一相同)

[root@salt-master /]# vim /etc/salt/master 追加如下内容

master_job_cache: mysql #每次执行不加--return mysql由master端将返回的数据写入数据库 不需要minion

重启服务

[root@salt-master /]# /etc/init.d/salt-master restart

测试:

[root@salt-master /]# salt 'salt-minion' test.ping

salt-minion:

True

[root@salt-master /]# salt 'salt-minion' cmd.run 'df -h'

salt-minion:

Filesystem Size Used Avail Use% Mounted on

/dev/sda3 18G 935M 16G 6% /

tmpfs 495M 12K 495M 1% /dev/shm

/dev/sda1 194M 27M 158M 15% /boot

root@salt-master /]# mysql -u salt -p -h 192.168.161.131

Enter password:

mysql> use salt;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> select * from salt_returns;

+-----------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+---------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------+

| fun | jid | return | id | success | full_ret | alter_time |

+-----------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+---------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------+

| test.ping | 20160826200517605155 | true | salt-minion | 1 | {"fun_args": [], "jid": "20160826200517605155", "return": true, "retcode": 0, "success": true, "fun": "test.ping", "id": "salt-minion"} | 2016-08-26 20:05:17 |

| test.ping | 20160826202029989457 | true | salt-minion | 1 | {"fun_args": [], "jid": "20160826202029989457", "return": true, "retcode": 0, "success": true, "cmd": "_return", "_stamp": "2016-08-26T12:20:30.138166", "fun": "test.ping", "id": "salt-minion"} | 2016-08-26 20:20:30 |

| cmd.run | 20160826202045948708 | "Filesystem Size Used Avail Use% Mounted on\n/dev/sda3 18G 935M 16G 6% /\ntmpfs 495M 12K 495M 1% /dev/shm\n/dev/sda1 194M 27M 158M 15% /boot" | salt-minion | 1 | {"fun_args": ["df -h"], "jid": "20160826202045948708", "return": "Filesystem Size Used Avail Use% Mounted on\n/dev/sda3 18G 935M 16G 6% /\ntmpfs 495M 12K 495M 1% /dev/shm\n/dev/sda1 194M 27M 158M 15% /boot", "retcode": 0, "success": true, "cmd": "_return", "_stamp": "2016-08-26T12:20:45.984974", "fun": "cmd.run", "id": "salt-minion"} | 2016-08-26 20:20:46 |

+-----------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+---------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------+

3 rows in set (0.00 sec)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值