saltstack的每次推送資訊都會在相應的minion中儲存24小時,但是為了之後進行命令安全審計,我們需要將這些首席資訊官期的儲存起來,我麼可以將資訊儲存到mysql中,這裡會出現兩個角色,mysql負責儲存資料,mysql-python負責收集資料,我們在master中安裝mysql與mysql-python,在所有的minion中安裝mysql-python,這裡介紹兩種方法:
1、在master中安裝資料庫
yum install mysql-server -y
2、登陸資料庫並對salt使用者進行授權
3、在minion端(server2)安裝mysql-python
yum install mysql-python -y
4、編輯minion的配置檔案/etc/salt/minion
vim /etc/salt/minion
810 return:
811 - mysql
812 - hipchat
813 - slack
814 mysql.host: '172.25.66.1'
815 mysql.user: 'salt'
816 mysql.pass: 'guodong+0306'
817 mysql.db: 'salt'
818 mysql.port: '3306'
819
vim test.sql
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;
執行:mysql -uroot -pwestos < test.sql
6、向minion中推送命令,並將資訊返回到資料庫
7、在資料庫中salt庫的salt_returns表中檢視儲存的資訊
這種方法所有的操作都在master中進行,這種方法需要在master中同時安裝mysql與mysql-python
1、在master中安裝mysql-python
yum install mysql-python -y
2、在資料庫中對本地使用者進行授權,因為所有操作均在master中,因此只需要對localhost進行授權即可
3、編輯master的配置檔案
vim /etc/salt/master
1057 #return: mysql
1058 master_job_cache: mysql
1059 mysql.host: '172.25.66.1'
1060 mysql.user: 'salt'
1061 mysql.pass: 'guodong+0306'
1062 mysql.db: 'salt'
1063 mysql.port: 3306
重啟master
4、使用salt對任意乙個minion推送命令
salt 『server3』 cmd.run 'df -h』
5、在資料庫中進行檢視
將映象推送到Registry
容器映象服務首次進入,需要設定registry登入密碼 建立映象倉庫 1 在建立的過程會先讓建立命令空間 2 倉庫型別選擇公開,否則別人看不到 3 源選擇本地倉庫 進入倉庫管理頁面,有關於將映象推送到registry的步驟 1 登入 執行完下面的命令需要輸入前面說到的registry登入密碼 sud...
python儲存結果 python中如何儲存結果
一 建立檔案,儲存資料 1.使用python中內建的open函式,開啟txt檔案 mode 模式 w 只能操作寫入 r 只能讀取 a 向檔案追加 w 可讀可寫 r 可讀可寫 a 可讀可追加 wb 寫入進製資料 w模式開啟檔案,如果而檔案中有資料,再次寫入內容,會把原來的覆蓋掉 file handle...
python 執行shell命令並將結果儲存的例項
方法1 將she執行的結果儲存到字串 def run cmd cmd result str process subprocess.popen cmd,shell true,stdout subprocess.pipe,stderr subprocess.pipe result f process.s...