salt_grains

GRAINS 组件是saltstack中非常重要的一个组件,其主要用于记录Minion的一些静态信息,如比:CPU、内存、磁盘、网络等。grains信息是每次客户端启动后自动上报给master的,一旦这些静态信息发生改变需要重启minion 或者 重新同步下 grains。除此之外我们还可以自定义Grains的一些信息。自定义的方法有三种:1、通过Minion配置文件定义;2、通过Grains相关模块定义;3、通过python脚本定义

    1. 认识并使用grains

 - 查看grains中的函数:



         # salt ginkgo sys.list_functions grains|less
        ginkgo:
            - grains.append
            - grains.delkey
            - grains.item
            - grains.items
            - grains.ls 
            - ........
 - 查看grain中能获取到那些系统信息:

[root@Ginkgo ~]# salt ginkgo grains.ls|less
            ginkgo:
                - SSDs
                - cab_u
                - cabinet
                - cpu_flags
                - disks
                - dns
                - ....
 - 查看grains或取到的系统信息:
                # salt ginkgo grains.items|less
                ginkgo:
                    ----------
                    SSDs:
                    cab_u:
                        14-15
                        .....
 - 查看grains获取到的某个或多个参数的信息:
                salt ginkgo grains.item os ipv4
                ginkgo:
                    ----------
                    ipv4:
                        - 127.0.0.1
                        - 172.17.36.79
                    os:
                        CentOS

  • 2.通过minion的配置文件定义grains.items
关于Minion的配置可以在/etc/salt/minion 中找到,但是一般不在原配置文件上作修改,而是在minion include的目录/etc/salt/minion.d/下,创建grains.conf 文件
            cat /etc/salt/minion.d/grains.conf
            grains:
              roles:
                - tomserver
              deployment: datacenter4
              cabinet: 13
              cab_u: 14-15
  • 3.通过grain模块定义grain.items。
    使用grain模块时,用的方法是grain的append 和setval 方法。

创建grains

 # salt ginkgo grains.append hosttype "MYM"
ginkgo:
    ----------
    hosttype:
        - MYM
查询
 # salt ginkgo grains.item hosttype
ginkgo:
    ----------
    hosttype:
        - MYM
        - 
删除
salt ginkgo grains.remove hosttype "MYM"

----------
salt ginkgo grains.setvals "{hosttype: "MYM",locate: "ZZ"}"
ginkgo:
    ----------
    hosttype:
        MYM
    locate:
        ZZ
salt ginkgo grains.item locate
ginkgo:
    ----------
    locate:
        ZZ
这些命令执行后会将命令执行结果存入/etc/salt/grains中。
当/etc/salt/grains 和/etc/salt/minion.d/grains.conf 冲突时,会优先使用/etc/salt/minion.d/grains.conf

/etc/salt/grains  不需要重启minion,在命令行执行之后即生效
/etc/salt/minion.d/grains.conf 修改文件后需要重启Minion后生效。 
  • 自定义脚本定义grains 的items

默认自定义脚本需要存放在master的/srv/salt/_grains目录下,这里使用mkdir -p创建即可
创建一个获取系统时间的Python 脚本

cat gettime.py 
 #!/bin/env python 
 #-*- coding=utf8 -*-

import time
def gettime():
    grains = {}
    grains["server_time"] = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())
    return grains

使用命令将脚本内容下发:

salt ginkgo saltutil.sync_grains   
获得脚本的执行内容:
salt ginkgo grains.item server_time 
ginkgo:
    ----------
    server_time:
        2017-12-13 17:24:06
下发后的脚本存放在
minion的/var/cache/salt/minion/extmods/grains

注意: /srv/salt/_grains下的脚本每次执行下发命令时都会进行下发,所以,在执行下发动作后,将/srv/salt/_grains清空,重新执行一次下发,以清空minion的环境。

grains配置优先级顺序为/etc/salt/minion.d/grains.conf (或/etc/salt/minion) > master端自定义grains脚本(minion端/var/cache/salt/minion/extmods/grains目录下) > Grains模块定义Grains (/etc/salt/grains)

旋转变压器---数字转换器作为现代伺服系统中被广泛使用的角位置测量系统,大量应用于高精度及大中型数控系统、机器人控制、工业控制、武器火力控制及惯性导航领域中。 传统的角测量系统面临的问题有:体积、重量、功耗偏大,调试、误差补偿试验复杂,费用较高。本文从微型化、智能化的方向进行研究,是解决传统角测量系统所面临问题的好途径。 本文所研究的旋转变压器---数字转换器是由信号调理模块、系统芯片C8051F064和输出控制模块组成的。整个系统的三路输入信号为X=AsinOcosar、Y=Acosθcos ot和Z=Ucosar(基准信号),输出信号为偏转角θ,输出形式为16 位数字量。信号调理模块是由模拟电路组成的,包括信号输入电路、相敏整流电路、滤波电路和直流稳压电源电路,其难点在于相敏整流电路的设计。信号调理模块的主要功能是把输入的交流信号X=AsinOcosor、Y=Acosθcosot转变成直流信号Bsinθ和Bcosθ,并使输出的直流信号在0~2.4V之间;系统芯片C8051F064是CYGNAL公司近年来推出的一款功能齐全的完全集成的混合信号片上系统型单片机。在本文所设计的系统中,系统芯片的输入信号为直流信号Bsinθ和Bcosθ,通过片内自带的2个16位A/D转换器对输入信号的数据进行采样和转换,并对转换完的数据进行滤波处理,以减小由于外界干扰而产生的误差,再用除法和反正切函数解算出偏转角θ的16位数字量;输出控制模块主要完成的功能是通过UARTO向计算机实时发送由单片机计算出来的偏转角度0的16位数字量,而串口的RS-232电平与单片机系统采用的是TTL电平之间的转换所采用的转换芯片是MC1488和MC1489。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值