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 端操作:

参考网址:https://docs.saltstack.com/en/latest/ref/returners/all/salt.returners.mysql.html

参考博客:https://www.cnblogs.com/zzzhfo/p/5867771.html

  1.1、安装mysql

  1. wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
  2. yum -y install mysql57-community-release-el7-10.noarch.rpm
  3. yum -y install mysql-server MySQL-python
  4.  
  5. #启动mysql
  6. systemctl start mysqld.service
  7. systemctl enable mysqld.service
  8. systemctl status mysqld.service
  9.  
  10. #修改mysql密码
  11. [root@salt-server ~]# grep "password" /var/log/mysqld.log

  1. set global validate_password_policy=0;
  2. set global validate_password_length=1;
  3. ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
  4.  
  5. #修改完密码后再依次输入以下内容:
    ##########################################################
  1. CREATE DATABASE `salt`
  2. DEFAULT CHARACTER SET utf8
  3. DEFAULT COLLATE utf8_general_ci;
    ##########################################################
  1. USE `salt`;
    ##########################################################
  1. DROP TABLE IF EXISTS `jids`;
  2. CREATE TABLE `jids` (
  3. `jid` varchar(255) NOT NULL,
  4. `load` mediumtext NOT NULL,
  5. UNIQUE KEY `jid` (`jid`)
  6. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  7. CREATE INDEX jid ON jids(jid) USING BTREE;
    ############################################################
  1. DROP TABLE IF EXISTS `salt_returns`;
  2. CREATE TABLE `salt_returns` (
  3. `fun` varchar(50) NOT NULL,
  4. `jid` varchar(255) NOT NULL,
  5. `return` mediumtext NOT NULL,
  6. `id` varchar(255) NOT NULL,
  7. `success` varchar(10) NOT NULL,
  8. `full_ret` mediumtext NOT NULL,
  9. `alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  10. KEY `id` (`id`),
  11. KEY `jid` (`jid`),
  12. KEY `fun` (`fun`)
  13. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    ############################################################
  1. DROP TABLE IF EXISTS `salt_events`;
  2. CREATE TABLE `salt_events` (
  3. `id` BIGINT NOT NULL AUTO_INCREMENT,
  4. `tag` varchar(255) NOT NULL,
  5. `data` mediumtext NOT NULL,
  6. `alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  7. `master_id` varchar(255) NOT NULL,
  8. PRIMARY KEY (`id`),
  9. KEY `tag` (`tag`)
  10. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    #############################################################
    grant all on salt.* to salt@'%' identified by '123456';
  11.  
  12. #以下是上边操作的截图

  

  

  

 

  1.2、测试mysql是否设置完成

  1.3、修改master主配置文件

  1. [root@salt-server ~]# vim /etc/salt/minion
  2. mysql.host: '10.0.0.111'
  3. mysql.user: 'salt'
  4. mysql.pass: '123456'
  5. mysql.db: 'salt'
  6. mysql.port: 3306

#重启配置文件

systemctl restart salt-minion  

    

2、minion端修改内容如下:

  1. yum -y install MySQL-python
  2. [root@minion02 ~]# vim /etc/salt/minion
  3. mysql.host: '10.0.0.111'
  4. mysql.user: 'salt'
  5. mysql.pass: '123456'
  6. mysql.db: 'salt'
  7. mysql.port: 3306
  8.  
  9. #重启minion服务
  10. systemctl restart salt-minion

  

总测试:

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

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

  1.  

 在master的mysql服务查看:

  1. [root@salt-server ~]# mysql -uroot -p
  2. Enter password:
  3. mysql> use salt;
  4. Reading table information for completion of table and column names
  5. You can turn off this feature to get a quicker startup with -A
  6.  
  7. Database changed
  8. mysql> mysql> select * from salt_returns\G;

方法2

  1. master端安装MySQL-pythonmysql-server
  2. minion端不需要安装MySQL-python
  1. 操作步骤略(与发一相同)
  2.  
  3. [root@salt-master /]# vim /etc/salt/master 追加如下内容
  4. master_job_cache: mysql #每次执行不加--return mysql由master端将返回的数据写入数据库 不需要minion
  5.  
  6. 重启服务
  7. [root@salt-master /]# /etc/init.d/salt-master restart
  8.  
  9. 测试:
  10. [root@salt-master /]# salt 'salt-minion' test.ping
  11. salt-minion:
  12. True
  13. [root@salt-master /]# salt 'salt-minion' cmd.run 'df -h'
  14. salt-minion:
  15. Filesystem Size Used Avail Use% Mounted on
  16. /dev/sda3 18G 935M 16G 6% /
  17. tmpfs 495M 12K 495M 1% /dev/shm
  18. /dev/sda1 194M 27M 158M 15% /boot

  19. root@salt-master /]# mysql -u salt -p -h 192.168.161.131
  20. Enter password:
  21. mysql> use salt;
  22. Reading table information for completion of table and column names
  23. You can turn off this feature to get a quicker startup with -A
  24.  
  25. Database changed
  26.  
  27. mysql> select * from salt_returns;
  28. +-----------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+---------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------+
  29. | fun | jid | return | id | success | full_ret | alter_time |
  30. +-----------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+---------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------+
  31. | 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 |
  32. | 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 |
  33. | 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 |
  34. +-----------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+---------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------+
  35. 3 rows in set (0.00 sec)

  

 

saltstack-把执行结果存储到mysql服务内的更多相关文章

  1. saltstack执行结果存储到MySQL

    saltstack执行结果保存到MySQL中,以便进行命令安全审计必须是python2.7以上的环境安装相关模块ubuntu系统安装 apt-get install -y python-mysqldb ...

  2. 安装/移除 MySQL 服务

    MySQL Community Server 下载:https://dev.mysql.com/downloads/mysql/ 以下内容使用的版本为:mysql-5.7.17-win32.zip 1 ...

  3. 【saltstack】saltstack执行结果和事件存储到mysql

    前言 项目中使用saltstack有一段时间了,之前都是在控制台操作,后来感觉越来越不方便,每次操作需要登陆服务器,还需要记一堆命令.最重要的是,公司进新人之后,新人由于不熟悉saltstack,容易 ...

  4. SaltStack远程执行-返回MySQL

    上一篇:SaltStack远程执行-模块 参考官方文档:https://docs.saltstack.com/en/latest/ref/returners/all/salt.returners.my ...

  5. docker 部署mysql服务之后,执行sql脚本

    1,先将.sql文件copy到docker容器里 docker ps //找到容器的短ID或者指定的name. docker inspect  -f '{{.Id}}' id or name 得到指定 ...

  6. MySql免安装版安装配置,附MySQL服务无法启动解决方案

          文首提要:             我下载的MySQL版本是:mysql-5.7.17-winx64.zip  Archive版:系统:Windows7 64位. 一.解压文件 下载好My ...

  7. [MySQL Reference Manual] 5 MySQL 服务管理

    5. MySQL 服务管理 5. MySQL 服务管理 5.1 The Mysql Server 5.2 Mysql 服务日志 5.2.1 选择General query log和slow query ...

  8. Saltstack远程执行(四)

    Saltstack远程执行 语法例:salt '*' cmd.run 'w' -  命令:salt -  目标:'*' -  模块:cmd.run,自带150+模块,也可以自己写模块 -  返回:执行 ...

  9. win7下安装MYSQL报错:"MYSQL 服务无法启动"的3534问题

    上午在win7下安装MYSQL,只到“net start mysql”这一步报错:3534的错误: 于是在百度中搜索关键字“mysql服务无法启动3534”. 参考以下两个链接中的方法,解决了3534 ...

随机推荐

  1. 异常空格,ASCII (194,160)问题

    今天运营的同学反映有一些店铺的名称后面带空格,我下意识的说不可能啊,我已经处理过了啊.然后就找出来看. 其中有个店铺的名称是“安踏 ”,第一眼看上去好像是带了个空格.然后我就仔细的看了下. pry(m ...

  2. 怎么掌握微信小程序的取值、传值、数据存储

    小程序界面设定如下 父级页面:A界面 子级页面:B界面 异级页面:C界面 一.本页面取值(A界面→A界面) a.例如:input输入文字获取到value(键盘输入时触发) wxml: <inpu ...

  3. 多条件搜索问题 -sql拼接与参数化查询

    来源:传智播客  免费开发视频. 问题:根据书名或出版社或作者查询书籍信息. using System; using System.Collections.Generic问题; using Syste ...

  4. Message小结(二)

    当客户端调用一个WCF接口时,客户端将请求消息发送到服务端,服务端再返回回复消息.WCF内部实现了消息处理的所有细节,但是并不意味着一切不可更改.WCF也提供了一些方法让开发人员在消息发送前对消息进行 ...

  5. ABP学习入门系列(二)(abp的数据迁移)

    本文将介绍在ABP框架中将实体类迁移至数据库表 1.下图是abp的体系结构. 我们要是实现创建实体类并迁移数据到数据库的功能主要就是在下图中domain(领域层)做相应的一些操作. 2,看一下解决方案 ...

  6. jQuery ajax - getJSON() 用法实例

    实例 从 test.js 载入 JSON 数据并显示 JSON 数据中一个 name 字段数据: $.getJSON("test.js", function(json){ aler ...

  7. plupload如何删除一条数据

    FilesRemoved用了发现不成功,删除图片这么重要怎能如此 看到老外提的另一个问题发现这个问题解决办法,特此备注以供不会的童鞋参考 uploader.bind('FilesAdded', fun ...

  8. winform:简单文件资源管理器

    今天全部学习内容的体现就是winform的资源管理器.这个资源管理器主要由一个textbox获取路径,然后在treeview那里通过递归的方式呈现目录树,当用户点击treeview的节点是,会触发Af ...

  9. Java的工厂模式(二)

    除了上文提到的方法之外,还可以使用Java的反射机制,这样就能使用类名称来加载所需要的类.我们只需改变工厂类和驱动类就可以了. FruitFactory.java package com.muggle ...

  10. win10 安装oracle 11gR2_database出现universal Installer后闪退就没反应的解决方案

    前言:本机为 win 10 64位系统,安装oracle win64_11gR2_database的时候出现问题,安装不了,经排查解决了此问题.转载请注明出处:https://www.cnblogs. ...