• saltstack 把数据返回到mysql服务器


    环境:http://www.cnblogs.com/zzzhfo/p/5790918.html

    master端需要安装MySQL-python和mysql-server

    mysql-server用于存储minion数据,MySQL-python用来收集数据  

                  master端

    安装mysql-server和MySQL-python

    [root@salt-master /]# yum -y install mysql-server MySQL-python

    启动数据库

    [root@salt-master /]# /etc/init.d/mysqld start
    [root@salt-master /]# mysql
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 2
    Server version: 5.1.73 Source distribution
    
    Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    mysql> 
    CREATE DATABASE  `salt`
      DEFAULT CHARACTER SET utf8
      DEFAULT COLLATE utf8_general_ci;
    
    USE `salt`;
    
    如下:
    mysql> CREATE DATABASE  `salt`
        ->   DEFAULT CHARACTER SET utf8
        ->   DEFAULT COLLATE utf8_general_ci;
    Query OK, 1 row affected (0.00 sec)
    
    mysql> USE `salt`;
    Database changed

    表结构表的jid

    CREATE TABLE `jids` (
      `jid` varchar(255) NOT NULL,
      `load` mediumtext NOT NULL,
      UNIQUE KEY `jid` (`jid`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    mysql> CREATE TABLE `jids` (
        ->   `jid` varchar(255) NOT NULL,
        ->   `load` mediumtext NOT NULL,
        ->   UNIQUE KEY `jid` (`jid`)
        -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    Query OK, 0 rows affected (0.02 sec)

    表结构表“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;
    mysql> 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;
    Query OK, 0 rows affected (0.01 sec)

    表结构表“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;

    mysql> 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;
    Query OK, 0 rows affected (0.00 sec)

    授权

    mysql> grant all on salt.* to salt@'192.168.161.132' identified by 'salt';
    Query OK, 0 rows affected (0.00 sec)

    测试

    [root@salt-master /]# mysql -u salt -p -h 192.168.161.132
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 5
    Server version: 5.1.73 Source distribution
    
    Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | salt               |
    | test               |
    +--------------------+
    3 rows in set (0.00 sec)

    修改/etc/salt/master

    [root@salt-master /]# vim /etc/salt/master
    mysql.host: '192.168.161.132'
    mysql.user: 'salt'
    mysql.pass: 'salt'
    mysql.db: 'salt'
    mysql.port: 3306
    

    重启master

    [root@salt-master /]# /etc/init.d/salt-master restart
    Stopping salt-master daemon: [ OK ]
    Starting salt-master daemon: [ OK ]

    minion端

    [root@salt-minion /]# yum -y install MySQL-python

    修改/etc/salt/minion 添加如下内容

    [root@salt-minion /]# vim /etc/salt/minion
    mysql.host: '192.168.161.132' mysql.user: 'salt' mysql.pass: 'salt' mysql.db: 'salt' mysql.port: 3306

    重启minion

    [root@salt-minion /]# /etc/init.d/salt-minion restart
    Stopping salt-minion daemon:                               [  OK  ]
    Starting salt-minion daemon:                               [  OK  ]

    测试

    [root@salt-master /]# salt '*' test.ping --return mysql
    salt-minion:
        True
    
    root@salt-master /]# mysql -u salt -p -h 192.168.161.132
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 8
    Server version: 5.1.73 Source distribution
    
    Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    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 |
    +-----------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+---------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------+
    1 rows in set (0.00 sec)

     方法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
    Stopping salt-master daemon: [ OK ]
    Starting salt-master daemon: [ OK ]

    测试

    [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: 
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 8
    Server version: 5.1.73 Source distribution
    
    Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    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
    /dev/sda3        18G  935M   16G   6% /
    tmpfs           495M   12K  495M   1% /dev/shm
    /dev/sda1       194M   27M  158M  15% /boot" | salt-minion | 1       | {"fun_args": ["df -h"], "jid": "20160826202045948708", "return": "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", "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)
  • 相关阅读:
    Git之常用的命令操作
    Linux之创建777权限的文件
    Mysql union
    读取MySQL数据表字段信息
    Linux下mysql启动失败
    TP5之使用layui分页样式
    使用Bootstrap实现表格列的显示与隐藏
    MySQL之避免插入重复数据
    Linux命令之清空当前文件
    opensns入门
  • 原文地址:https://www.cnblogs.com/hwlong/p/5867771.html
Copyright © 2020-2023  润新知