SaltStack日常维护-第七篇
练习内容
远程执行其他模块
官方模块有很多超过300+
1.cmd.run
2.network
3.service
4.state
5.其它日常维护
演示
cmd.run模块
可以执行系统命令,超级模块有安全隐患,也可以更模块源代码限制危险命令执行比如(rm reboot等),二次开发一般不用此模块
[root@linux-node1 salt]# salt '*' cmd.run 'w'
linux-node1.example.com:
:: up :, user, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/ 192.168.56.1 : .00s .27s .36s /usr/bin/python /usr/bin/salt * cmd.run w
linux-node2.example.com:
:: up :, user, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/ 192.168.56.1 : : .00s .00s -bash
network模块
network.active_tcp,arp,connect
[root@linux-node1 salt]# salt -S '192.168.56.12' network.active_tcp
linux-node2.example.com:
----------
:
----------
local_addr:
0.0.0.0
local_port: remote_addr:
0.0.0.0
remote_port: :
----------
local_addr:
192.168.56.12
local_port: remote_addr:
0.0.0.0
remote_port: :
----------
local_addr:
0.0.0.0
local_port: remote_addr:
0.0.0.0
remote_port: :
----------
local_addr:
127.0.0.1
local_port: remote_addr:
0.0.0.0
remote_port: :
----------
local_addr:
192.168.56.12
local_port: remote_addr:
192.168.56.11
remote_port: :
----------
local_addr:
192.168.56.12
local_port: remote_addr:
192.168.56.1
remote_port: :
----------
local_addr:
192.168.56.12
local_port: remote_addr:
192.168.56.11
remote_port: :
----------
local_addr:
192.168.56.12
local_port: remote_addr:
192.168.56.11
remote_port: :
----------
local_addr:
192.168.56.12
local_port: remote_addr:
192.168.56.11
remote_port:
salt -S '192.168.56.12' network.active_tcp
[root@linux-node1 salt]# salt '*' network.arp
linux-node2.example.com:
----------
:0c::3c:::
192.168.56.11
:::c0:::
192.168.56.1
:::e2:2f::
192.168.56.2
linux-node1.example.com:
----------
:0c::6d::0c:
192.168.56.12
:::c0:::
192.168.56.1
:::e2:2f::
192.168.56.2
salt '*' network.arp
[root@linux-node1 salt]# salt -S '192.168.56.12' network.connect www.baidu.com
linux-node2.example.com:
----------
comment:
Successfully connected to www.baidu.com (61.135.169.125) on tcp port
result:
True
salt -S '192.168.56.12' network.connect www.baidu.com 80
域名解析
salt '*' network.dig www.baidu.com
获取主机名
[root@linux-node1 salt]# salt '*' network.get_hostname
linux-node1.example.com:
linux-node1
linux-node2.example.com:
linux-node2
获取网卡mac地址
[root@linux-node1 salt]# salt '*' network.hw_addr eth0
linux-node1.example.com:
:0c::3c::
linux-node2.example.com:
:0c::6d::0c
获取网卡ip地址相关信息
[root@linux-node1 salt]# salt '*' network.interface eth0
linux-node1.example.com:
|_
----------
address:
192.168.56.11
broadcast:
192.168.56.255
label:
eth0
netmask:
255.255.255.0
linux-node2.example.com:
|_
----------
address:
192.168.56.12
broadcast:
192.168.56.255
label:
eth0
netmask:
255.255.255.0
salt '*' network.interface eth0
只获取ip地址信息
[root@linux-node1 salt]# salt '*' network.interface_ip eth0
linux-node1.example.com:
192.168.56.11
linux-node2.example.com:
192.168.56.12
检查回环网卡信息
[root@linux-node1 salt]# salt '*' network.is_loopback 127.0.0.1
linux-node1.example.com:
True
linux-node2.example.com:
True
获取网络连接信息
salt '*' network.netstat
网络ping
[root@linux-node1 salt]# salt '*' network.ping www.baidu.com
linux-node1.example.com:
PING www.a.shifen.com (61.135.169.121) () bytes of data.
bytes from 61.135.169.121: icmp_seq= ttl= time=41.2 ms
bytes from 61.135.169.121: icmp_seq= ttl= time=50.1 ms
bytes from 61.135.169.121: icmp_seq= ttl= time=87.8 ms
bytes from 61.135.169.121: icmp_seq= ttl= time=86.0 ms --- www.a.shifen.com ping statistics ---
packets transmitted, received, % packet loss, time 3008ms
rtt min/avg/max/mdev = 41.298/66.354/87.884/20.883 ms
linux-node2.example.com:
PING www.a.shifen.com (61.135.169.121) () bytes of data.
bytes from 61.135.169.121: icmp_seq= ttl= time=47.3 ms
bytes from 61.135.169.121: icmp_seq= ttl= time=45.0 ms
bytes from 61.135.169.121: icmp_seq= ttl= time=90.8 ms
bytes from 61.135.169.121: icmp_seq= ttl= time=88.2 ms --- www.a.shifen.com ping statistics ---
packets transmitted, received, % packet loss, time 3006ms
rtt min/avg/max/mdev = 45.089/67.892/90.865/21.685 ms
网络ping的其它参数
root@linux-node1 ~]# salt '*' network.ping archlinux.org timeout=
linux-node2.example.com:
PING archlinux.org (138.201.81.199) () bytes of data.
bytes from apollo.archlinux.org (138.201.81.199): icmp_seq= ttl= time= ms
bytes from apollo.archlinux.org (138.201.81.199): icmp_seq= ttl= time= ms
bytes from apollo.archlinux.org (138.201.81.199): icmp_seq= ttl= time= ms
bytes from apollo.archlinux.org (138.201.81.199): icmp_seq= ttl= time= ms --- archlinux.org ping statistics ---
packets transmitted, received, % packet loss, time 3005ms
rtt min/avg/max/mdev = 247.004/268.189/296.863/18.292 ms
linux-node1.example.com:
PING archlinux.org (138.201.81.199) () bytes of data.
bytes from apollo.archlinux.org (138.201.81.199): icmp_seq= ttl= time= ms
bytes from apollo.archlinux.org (138.201.81.199): icmp_seq= ttl= time= ms
bytes from apollo.archlinux.org (138.201.81.199): icmp_seq= ttl= time= ms
bytes from 138.201.81.199: icmp_seq= ttl= time= ms --- archlinux.org ping statistics ---
packets transmitted, received, % packet loss, time 3003ms
rtt min/avg/max/mdev = 208.509/230.999/260.674/19.194 ms
[root@linux-node1 ~]# salt '*' network.ping archlinux.org return_boolean=True
linux-node2.example.com:
True
linux-node1.example.com:
True
service模块
service是一个虚拟模块,要调用不同类型系统的服务查看
[root@linux-node1 salt]# salt '*' service.get_all
linux-node1.example.com:
- -.mount
- NetworkManager
- NetworkManager-dispatcher
- NetworkManager-wait-online
......
检查ssh服务
[root@linux-node1 salt]# salt '*' service.available sshd
linux-node1.example.com:
True
linux-node2.example.com:
True
重新加载web服务
[root@linux-node1 salt]# salt '*' service.reload httpd
linux-node1.example.com:
True
linux-node2.example.com:
True
查看服务状态
[root@linux-node1 salt]# salt '*' service.status httpd
linux-node1.example.com:
True
linux-node2.example.com:
True
执行模块state
This function will call state.highstate or state.sls based on the arguments passed to this function. It exists as a more intuitive way of applying state
salt '*' state.apply
加载本地的yml
salt '*' state.apply localconfig=/path/to/minion.yml
查看minion在top.sls配置信息
[root@linux-node1 salt]# salt '*node1*' state.show_top
linux-node1.example.com:
----------
base:
- web.lamp
单独执行pkg模块,执行模块直接就执行 ,状态模块先检查
root@linux-node1 ~]# salt 'linux-node1.example.com' state.single pkg.installed name=vim-enhanced
linux-node1.example.com:
----------
ID: vim-enhanced
Function: pkg.installed
Result: True
Comment: Package vim-enhanced is already installed.
Started: ::39.793850
Duration: 825.955 ms
Changes: Summary
------------
Succeeded:
Failed:
------------
Total states run:
[root@linux-node1 ~]#
其它日常维护
mange检查节点状态
[root@linux-node1 ~]# salt-run manage.status
down:
up:
- linux-node1.example.com
- linux-node2.example.com
mange检查minion版本,有时候可能因为版本不同而导致执行失败
[root@linux-node1 ~]# salt-run manage.versions
Master:
2015.5.
Up to date:
----------
linux-node1.example.com:
2015.5.
linux-node2.example.com:
2015.5.
为了安全 可以先执行测试 test=True,没有问题在应用到服务器
salt "linux-node2*" state.highstate test=True
salt-cp拷贝文件
[root@linux-node1 ~]# salt-cp 'linux-node2.example.com' /etc/rc.local /mnt/
{'linux-node2.example.com': {'/mnt/rc.local': True}}
附:英文参考文档 全部模块
https://www.unixhot.com/docs/saltstack/ref/modules/all/
SaltStack日常维护-第七篇的更多相关文章
- 第三篇——第二部分——第五文 配置SQL Server镜像——域环境SQL Server镜像日常维护
本文接上面两篇搭建镜像的文章: 第三篇--第二部分--第三文 配置SQL Server镜像--域环境:http://blog.csdn.net/dba_huangzj/article/details/ ...
- 程序员必备:Oracle日常维护命令
上一篇讲了Linux的日常维护命令,这篇讲讲Oracle的日常维护命令.工作中需要使用Oracle数据库的童鞋们,相信或多或少都需要对Oracle做一些基本的维护操作,例如导入导出总该有吧?( ...
- 第七篇 SQL Server安全跨数据库所有权链接
本篇文章是SQL Server安全系列的第七篇,详细内容请参考原文. Relational databases are used in an amazing variety of applicatio ...
- Python之路【第七篇】:线程、进程和协程
Python之路[第七篇]:线程.进程和协程 Python线程 Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元. 1 2 3 4 5 6 7 8 9 10 11 12 1 ...
- MongoDB之基本操作与日常维护
MongoDB基本操作 MongoDB的基本操作主要是对数据库.集合.文档的操作,包括创建数据库.删除数据库.插入文档.更改文档.删除文档.和查询文档. 操作 描述 show dbs 查看当前实例下的 ...
- 【译】第七篇 SQL Server安全跨数据库所有权链接
本篇文章是SQL Server安全系列的第七篇,详细内容请参考原文. Relational databases are used in an amazing variety of applicatio ...
- MySQL Cluster 日常维护
在前面几篇文章已经详细介绍了MySQL Cluster的搭建,配置讲解.而且相信大家都掌握了基本用法.现在我们来看看Cluster的日常维护.熟悉日常维护,将有助于工作中更好的管理和使用Cluster ...
- SaltStack 入门到精通第二篇:Salt-master配置文件详解
SaltStack 入门到精通第二篇:Salt-master配置文件详解 转自(coocla):http://blog.coocla.org/301.html 原本想要重新翻译salt-mas ...
- MC-BE基岩版服务器搭建与日常维护
有部分内容被csdn和谐,强烈建议移步我的个人博客以获得更好的排版和阅读体验: xzajyjs.cn. 目录 环境搭建 开始部署 日常维护 服务器的白名单机制 定时备份 服务器升级 服务器模组安装 搭 ...
随机推荐
- 谨防in、or 公用性能问题
今天遇到一个奇葩的问题:在where条件中用了 m in(×××) or m>=10,查询直接超时,我看了一下,数据库中就2万条数据 我将查询改为了union all 结果就不超时了
- Network Security Services If you want to add support for SSL, S/MIME, or other Internet security standards to your application, you can use Network Security Services (NSS) to implement all your securi
Network Security Services | MDN https://developer.mozilla.org/zh-CN/docs/NSS 网络安全服务 (NSS) 是一组旨在支持支持安 ...
- lsof,fuser,xargs,print0,cut,paste,cat,tac,rev,exec,{},双引号,单引号,‘(字符串中执行命令)
cut用来从文本文件或标准输出中抽取数据列或者域,然后再用paste可以将这些数据粘贴起来形成相关文件. 粘贴两个不同来源的数据时,首先需将其分类,并确保两个文件行数相同.paste将按行将不同文件行 ...
- CGI/FastCGI/mod_php工作原理
先了解一下普通cgi的工作流程:web server收到用户请求,并把请求提交给cgi程序,cgi程序根据请求提交的参数作相应处理,然后输出标准的html语句返回给web server,web ser ...
- 一次漫长的服务CPU优化过程
从师父那里接了个服务,每天单机的流量并不大,峰值tips也并不高,但是CPU却高的异常.由于,服务十分重要,这个服务最高时占用了100个docker节点在跑,被逼无奈开始了异常曲折的查因和优化过程. ...
- spring常见注解说明
1. @ActiveProfiles("test") 我理解这个注解的主要用途是区分不同的环境.一般公司开发一个项目时,会区分测试环境.生产环境等.添加该注解,说明读取的profi ...
- python自然语言处理——学习笔记:Chapter3纠错
2017-12-06更新:很多代码执行结果与书中不一致,是因为python的版本不一致.如果发现有问题,可以参考英文版: http://www.nltk.org/book/ 第三章,P87有一段处理h ...
- SpringMVC的@RequestParam
以前写controller层的时候都是默认带上 @RequestParam 的, 今天发现不加@RequestParam 也能接收到参数 下面我们来区分一下加与不加的区别 这里有两种写法 @Reque ...
- JavaScript工具库 lodash 中文文档 英文文档
https://lodash.com/docs/ 英文版 http://lodashjs.com/docs/ 中文版 http://www.css88.com/doc/lodash/ 中文版 ...
- DIV+CSS如何让文字垂直居中?
在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中 ...