研究可执行模块的时候,发现很多自带的模块已经很完善,可以帮助我们完成日常工作了,这里写入自己的记录操作:
1、使用salt.clien调用接口操作举例:
>>> import salt.client >>> client = salt.client.LocalClient() >>> ret = client.cmd('*','test.ping') >>> ret {'monitor': True}
我们看到调用了LocalClient()这个函数之后,等于我们执行的命令 salt '*' test.ping.运用这个接口我们可以灵活的再调用模块开发时候使用
2、status模块
刚发现这个模块,原来想做系统监控时候用Mine调用,现在发现这个模块也是蛮适合的,可以监控,cpu、内存、硬盘、网络,等一些我们日常信息:可以查看模块源码:/usr/lib/python2.6/site-packages/salt/modules/status.py。
源码片段,下面是我们可以操作的函数。
def all_status(): ... ... ... return {'cpuinfo': cpuinfo(), 'cpustats': cpustats(), 'diskstats': diskstats(), 'diskusage': diskusage(), 'loadavg': loadavg(), 'meminfo': meminfo(), 'netdev': netdev(), 'netstats': netstats(), 'uptime': uptime(), 'vmstats': vmstats(), 'w': w()}
使用方法:
[root@mail python]# salt '*' status.uptime monitor: 11:40:50 up 23 days, 23:24, 1 user, load average: 0.00, 0.00, 0.00
api接口调用方法:
>>> client.cmd('*','status.uptime') {'monitor': ' 11:41:52 up 23 days, 23:25, 1 user, load average: 0.00, 0.00, 0.00'}
3、system
system模块主要是用来做日常操作计算机维护记录,源码也在上面的位置下: system.halt #停止正在运行的系统 system.init 3 #切换到字符界面,5是图形界面 system.poweroff system.reboot system.shutdown
操作方法:不演示:
4、systemd
系统管理模块,这个也是一个非常有用的功能,我们可以用来检测我们的服务是否已经启动,源码自己查看:
service.available sshd #查看服务是否可用 service.disable <service name> #设置开机启动的服务 service.enable <service name> service.disabled <service name> #查看服务是不是开机启动 service.enabled <service name> service.get_disabled #返回所有关闭的服务 service.get_enabled #返回所有开启的服务 service.get_all #返回所有服务 service.reload <service name> #重新载入指定的服务 service.restart <service name> #重启服务 service.start <service name> service.stop <service name> service.status <service name> service.force_reload <service name> #强制载入指定的服务
使用方法:
[root@mail python]# salt '*' service.available sshdmonitor: True api调用: >>> client.cmd('*','service.available',['sshd']){'monitor': True}