千家信息网

saltstack(返回值写入数据库)

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,一、目标(targeting Minions)1.匹配Minions Id匹配所有 (*)[root@node1 salt]# salt '*' test.pingnode2.minion:True匹
千家信息网最后更新 2025年01月21日saltstack(返回值写入数据库)

一、目标(targeting Minions)

1.匹配Minions Id


匹配所有 (*)


[root@node1 salt]# salt '*' test.pingnode2.minion:True

匹配后面是.minion的


[root@node1 salt]# salt '*.minion' test.pingnode2.minion:True

匹配一个(?)


[root@node1 salt]# salt '*node?.minion' test.pingnode2.minion:True

匹配多个[1-5]


[root@node1 salt]# salt 'node[1-5].minion' test.pingnode2.minion:True

匹配某个主机和某个


[root@node1 salt]# salt 'node[2,3].minion' test.pingnode2.minion:True

匹配a-z


[root@node1 salt]# salt 'node2.minio[n-z]' test.pingnode2.minion:True

2.正则匹配:


-E


#匹配node2或者node3后面是.minion的主机[root@node1 salt]# salt -E '(node2|node3).minion' test.pingnode2.minion: True可以在sls的配置文件里使用修改 vim /etc/salt/states/top.slsbase: #匹配node2或者node3后面是.minion的主机 '(node2|node3).minion': #使用正则 - match: pcre - init.pkg

-L


#匹配多个主机,逗号分隔[root@node1 states]# salt -L 'node2.minion,node3,minion' test.pingnode2.minion: True

-S ip地址匹配


salt -S '0.0.0.0/24' test.ping

二、模块

1.hosts模块

#获取IP地址[root@node1 states]# salt '*' hosts.get_ip node2node2.minion:127.0.0.1


2.service模块

获取minion主机所有服务[root@node1 states]# salt '*' service.get_allnode2.minion: - abrt-ccpp - abrt-oops - abrtd - acpid - atd - auditd - blk-availability - control-alt-delete - crond - cups - elasticsearch - exim - halt - htcacheclean - httpd - init-system-dbus - ip6tables - ipmi - iptables - irqbalance - kexec-disable - killall - logstash - lvm2-lvmetad - lvm2-monitor - messagebus - netconsole - netfs - network - ntpd - ntpdate - php-fpm - plymouth-shutdown - portreserve - pptpd - prefdm - psacct - quit-plymouth - quota_nld - rc - rcS - rcS-emergency - rcS-sulogin - rdisc - readahead - readahead-collector - readahead-disable-services - restorecond - rsyslog - salt-minion - sandbox - saslauthd - serial - shellinaboxd - single - smartd - snmpd - snmptrapd - splash-manager - sshd - start-ttys - svnserve - sysstat - tty - ttyS0 - udev-post - zabbix-agent - zabbix-agentd - zabbix_agentd - zabbix_server查看服务运行状态[root@node1 states]# salt '*' service.status sshdnode2.minion:True重启某个服务[root@node1 states]# salt '*' service.reload sshdnode2.minion:True

3.salt-cp


root@node1 minions]# salt-cp '*' /etc/passwd /tmp/passwd{'node2.minion': {'/tmp/passwd': True}}[root@node1 minions]#

返回写入数据库

returners.mysql


默认情况下,发送给salt minion的命令执行结果将返回给salt master.

Saltstack Returner的接口允许将结果发送给任意系统


1.master端安装mysql


第一种:源码包安装步骤省略第二种:yum install mysql-server -y启动mysql服务

2.minion端部署MySQL-python


yum install MySQL-python原理是minion把数据直接推到master的数据库中

3.在master端创建数据库


进入数据库

  1. 创建库名

CREATE DATABASE `salt` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;


2.创建jid表

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;


3.创建return表

存放返回的数据

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;


4.创建事件表

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;

5.授权访问

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

注:%不包括localhosts


4.在master里修改配置文件

# vi /etc/salt/master

在配置文件后面追加以下内容

mysql.host: '115.29.51.8'

mysql.user: 'salt'

mysql.pass: 'salt'

mysql.db: 'salt'

mysql.port: 3306


5.在minion里修改配置文件

# vi /etc/salt/minion

在配置文件后面追加以下内容

mysql.host: '115.29.51.8'

mysql.user: 'salt'

mysql.pass: 'salt'

mysql.db: 'salt'

mysql.port: 3306

6.master和minion端都重启服务


master端:# service salt-master restart

minion端:# /etc/init.d/salt-minion restart

7.测试


#salt '*' test.ping --return

mysqlnode2.minion: True#

salt '*' cmd.run 'df -TH' --return=mysql

node2.minion: Filesystem Type Size Used Avail Use% Mounted on /dev/vda1 ext3 8.5G 4.3G 3.8G 54% /

在数据库里查看


方法2:


如果每次执行不加--return=mysql由master端将返回的数据写入数据库

1.修改master配置文件


# vi /etc/salt/master在配置文件后面追加以下内容master_job_cache: mysql

2.重启master


# service salt-master restart

3.测试


过程略


数据 文件 配置 数据库 主机 服务 内容 模块 地址 多个 正则 结果 测试 事件 原理 命令 情况 接口 方法 步骤 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发可行性分析安全 网络安全工程师技能状况 微表情和肢体语言数据库 安徽通用软件开发市场报价 新媒体运营与网络安全 数据库软件开发总结报告 软件开发税务编码 普陀区银联数据库收费标准 电子文献 数据库 数据库的维护和性能的优化 宁夏戴尔服务器虚拟化部署 捕鱼服务器租用价格 移动医疗软件开发方案 计算机网络技术微盘 软件开发工具最重要的信息出口是 总是显示服务器异常 达梦数据库应用基础txt下载 金华网络安全准入控制系统多少钱 中国互联网文化科技 湖南联想服务器维修调试多少钱 电子信息软件开发学什么 灯塔行业专业软件开发 js连接oracle数据库 家庭网络可以搭建服务器 服务器电源跟主板怎么连接 asp 数据库替换 常熟网络技术咨询费用 上诉状 软件开发退款 一台电脑访问两个服务器 我国网络安全保险产业发展白皮书
0