salt-api使用

准备工作:

1.安装EPEL: rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm

2.安装salt-api yum install salt-api

salt有大量的接口函数,如果仅靠官方文档进行编程比较麻烦,可以考虑使用ipython。ipython可以通过按tab进行提示函数全名,安装ipython的方法:

yum instal ipython

安装完salt-api后便可以进行编程,看看下面的使用:

 1 #!/usr/bin/python
 2 import salt
 3 import salt.grains.core
 4 import commands
 5 import os
 6 conf='/etc/salt/master'
 7 __opts__ = salt.config.master_config(conf)
 8 salt.grains.core.__opts__=__opts__
 9 
10 hostname=salt.grains.core.hostname()['fqdn']
11 for ip in salt.grains.core.ip4()['ipv4']:
12     if not ip.startswith('127'):
13         hsot=ip
14 cpuinfo=salt.grains.core.os_data()['cpu_model']
15 meminfo=salt.grains.core.os_data()['mem_total']
16 pythonversion=commands.getoutput('python -V')
17 os=salt.grains.core.os_data()['osfullname']+salt.grains.core.os_data()['osrelease']
18 kernelreleases=salt.grains.core.os_data()['kernelrelease']
19 
20 print hostname
21 print ip
22 print cpuinfo
23 print meminfo
24 print pythonversion
25 print os
26 print kernelreleases

salt.client.LocalClient().cmd : 执行远程命令,类似命令,  salt '127.0.0.1' test.ping

salt.key.Key(opts).list_keys(): 显示key认证的列表,类似  salt-key -L

SaltStack提供了大量的接口可以提供查询服务器信息(例如磁盘,内存,CPU等),可以通过这些接口进行运维监控开发,同时salt也包含了大量对自身配置的接口,我们完全可以通过web操作salt的所有功能。

原文地址:https://www.cnblogs.com/xueluo/p/4424993.html