码迷,mamicode.com
首页 > Windows程序 > 详细

saltstack一些常用模块和api调用方法

时间:2015-02-28 16:47:27      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:return   import   status   监控   记录   

    研究可执行模块的时候,发现很多自带的模块已经很完善,可以帮助我们完成日常工作了,这里写入自己的记录操作:

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 sshd
monitor:
    True

api调用:

>>> client.cmd(‘*‘,‘service.available‘,[‘sshd‘])
{‘monitor‘: True}

   总结:通过api接口的调用,我们就会发现生成很多我们想要的结果,因为是字典,我们可以很容易的对收到的数据进行操作。







本文出自 “小罗” 博客,请务必保留此出处http://xiaoluoge.blog.51cto.com/9141967/1615905

saltstack一些常用模块和api调用方法

标签:return   import   status   监控   记录   

原文地址:http://xiaoluoge.blog.51cto.com/9141967/1615905

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!