精华内容
下载资源
问答
  • Understanding FACTS

    2018-12-10 21:08:57
    电力电子在电力系统中的应用经典文献,对于理解FACTS有很大帮助
  • ansible facts

    2020-07-22 08:31:34
    ansible facts

    ## ansible facts 简介
    Ansible facts 是Ansible 在托管主机上自动发现的变量。facts 包含特定于主机的信息,这些信息可以像play、条
    件、循环或任何其他依赖于从托管主机收集的值的语句中的常规变量一样使用。

    为托管主机收集的一些facts 可能包括:
    主机名。
    内核版本。
    网络接口。
    IP 地址。
    操作系统的版本。
    各种环境变量。
    中央处理器的数量。
    可用或空闲内存。
    可用磁盘空间。

    facts 是检索托管主机状态并根据该状态确定要采取的操作的一种方便方法。
    例如:
    服务器可以通过条件任务重新启动,该任务基于包含托管主机当前内核版本的facts 运行。
    根据facts 报告的可用内存,可以定制MySQL 配置文件。
    配置文件中使用的IPv4 地址可以根据facts 值进行设置。
    通常,每一个play 都会在第一个任务之前自动运行设置模块,以便收集facts。这在Ansible 2.3 和更高版本中被报告为收集facts 任务,或者在Ansible 的旧版本中被简单地报告为设置。默认情况下,您不需要在play 中运行安装程序。它通常会自动为您运行。我们可以设置 gather_facts: no 来禁止 Ansible 收集 facts 信息

    ansible facts使用
    查看为托管主机收集了哪些facts 的一种方法是运行一个收集facts 的简短playbook,并使用debug 模块打印ansible_facts 变量的值。

    - name: Fact dump
    hosts: all
    tasks:
    - name: Print all facts
    debug:
      msg:{{ vars }}”
    
    $ cat test1.yml
    - name: fact
      hosts: all
      tasks:
        - name: 1
          debug:
            msg: "{{ ansible_all_ipv4_addresses }}"
    

    也可以使用adhoc来查看$ ansible localhost -m setup。

    $ ansible all -m setup -a "filter=ansible_all_ipv4_addresses"
    

    查询到的变量可以用作其他统一文件中,比如显示所在服务器的FQDN或是IP地址

    $ suod vim name.j2
    this is {{ ansible_facts.fqdn }} IP is {{ ansible_facts.ansible_default_ipv4 }} user id {{ ansible_user_gid }}
    
    展开全文
  • Get facts from ansible_facts

    2020-12-08 20:30:49
    INJECT_FACTS_AS_VARS=False[1]. [1] https://docs.ansible.com/ansible/latest/reference_appendices/config.html#inject-facts-as-vars</p><p>该提问来源于开源项目:geerlingguy/ansible-role-...
  • 有趣的事实 一个 android Fun Facts 应用程序
  • Ansible facts

    2019-03-25 13:55:00
    facts组件是Ansible用于采集被管理机器设备信息的一个功能。可以使用setup模块查机器的所有facts信息,可以使用filter来查看指定信息。整个facts信息被包装在一个json格式的数据结构中,ansible_facts是最上层的值 ...

    facts组件是Ansible用于采集被管理机器设备信息的一个功能。可以使用setup模块查机器的所有facts信息,可以使用filter来查看指定信息。整个facts信息被包装在一个json格式的数据结构中,ansible_facts是最上层的值

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    [root@LVS_Master playbook] # ansible 192.168.170.129 -m setup
    192.168.170.129 | SUCCESS => {
         "ansible_facts" : {
             "ansible_all_ipv4_addresses" : [
                 "192.168.170.129" ,
                 "192.168.170.188"
             ],
             "ansible_all_ipv6_addresses" : [
                 "fe80::20c:29ff:fea0:6cd4"
             ],
             "ansible_architecture" : "x86_64" ,
             "ansible_bios_date" : "07/02/2015" ,
             "ansible_bios_version" : "6.00" ,
             "ansible_cmdline" : {
                 "KEYBOARDTYPE" : "pc" ,
                 "KEYTABLE" : "us" ,
                 "LANG" : "zh_CN.UTF-8" ,
                 "quiet" : true ,
                 "rd_NO_DM" : true ,
                 "rd_NO_LUKS" : true ,
                 "rd_NO_LVM" : true ,
                 "rd_NO_MD" : true ,
                 "rhgb" : true ,
                 "ro" : true ,
                 "root" : "UUID=b42623ce-7b8d-411c-bc1b-26ba53cfc4d8"
             },
             "ansible_date_time" : {
                 "date" : "2016-11-22" ,
                 "day" : "22" ,
                 "epoch" : "1479793846" ,
                 "hour" : "13" ,
                 "iso8601" : "2016-11-22T05:50:46Z" ,
                 "iso8601_basic" : "20161122T135046459819" ,
                 "iso8601_basic_short" : "20161122T135046" ,
                 "iso8601_micro" : "2016-11-22T05:50:46.460213Z" ,
                 "minute" : "50" ,
                 "month" : "11" ,
                 "second" : "46" ,
                 "time" : "13:50:46" ,
                 "tz" : "CST" ,
                 "tz_offset" : "+0800" ,
                 "weekday" : "星期二" ,
                 "weekday_number" : "2" ,
                 "weeknumber" : "47" ,
                 "year" : "2016"
             },
             "ansible_default_ipv4" : {
                 "address" : "192.168.170.129" ,
                 "alias" : "eth0" ,
                 "broadcast" : "192.168.170.255" ,
                 "gateway" : "192.168.170.2" ,
                 "interface" : "eth0" ,
                 "macaddress" : "00:0c:29:a0:6c:d4" ,
                 "mtu" : 1500,
                 "netmask" : "255.255.255.0" ,
                 "network" : "192.168.170.0" ,
                 "type" : "ether"
             },
    --------此处省略N行-------------------

    所有数据格式都是JSON格式,facts还支持查看指定信息,如下所示:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [root@LVS_Master playbook] # ansible 192.168.170.129 -m setup -a 'filter=ansible_all_ipv4_addresses'
    192.168.170.129 | SUCCESS => {
         "ansible_facts" : {
             "ansible_all_ipv4_addresses" : [
                 "192.168.170.129" ,
                 "192.168.170.188"
             ]
         },
         "changed" : false
    }

    转载于:https://www.cnblogs.com/davidshen/p/10593349.html

    展开全文
  • friday-facts-源码

    2021-04-01 07:49:40
    friday-facts
  • cd chuck-norris-facts npm install 运行/开发 ember serve 访问您的应用程序,为 。 访问您的测试,为 。 代码生成器 利用许多生成器生成代码,尝试使用ember help generate更多详细信息 运行测试 ember test ...
  • 本地Facts

    2015-12-04 17:36:00
    我们可以通过Facts来获取目标主机的系统信息,当这些信息还不能满足我们的功能需要时,可以通过编写自定义的Facts模块来实现。当然,还有一个更简单的实现方法,就是通过本地Facts来实现。只需在目标设备 /etc/...

        我们可以通过Facts来获取目标主机的系统信息,当这些信息还不能满足我们的功能需要时,可以通过编写自定义的Facts模块来实现。当然,还有一个更简单的实现方法,就是通过本地Facts来实现。只需在目标设备 /etc/ansible/facts.d 目录自定义JSON、INI或可执行文件的JSON输出,文件扩展名要求使用 ".fact" ,这些文件都可以作为Ansible的本地Facts。

    例如,在目标设备192.168.1.21定义三个变量,供以后playbook进行引用。

    【 /etc/ansible/facts.d/preferences.fact 】

    [general]

    max_memory_size=32

    max_user_processes=3730

    open_files=65535

    然后在主控端运行 ansible 192.168.1.21 -m setup -a "filter=ansible_local"   filter作用是从setup输出的信息中摘出该 ansible_local 项。

    可看到定义的结果,返回结果如下:

    。。。

     

    注意返回JSON的层次结构,preferences(facts文件名前缀)-->general(INI的节名)-->key:value(INI的键与值),最后就可以在我们的模板或playbook中通过以下方式进行调用:

    {{ ansible_local.preferences.general.open_file }}

     

     

    参考资料:http://ju.outofmemory.cn/entry/104885

     

    转载于:https://www.cnblogs.com/wjoyxt/p/5020064.html

    展开全文
  • Ansible facts modules

    2021-01-01 16:28:12
    <p>This PR is meant to get support for Ansible facts modules started. So far, the gcp_compute_instance_facts module works. <p>There is missing documentation and I doubt linters will work on this. <p>...
  • Ansible 之 Facts

    2019-03-10 13:26:35
    Ansible facts 是远程系统的信息,主要包含IP地址,操作系统,以太网设备,mac 地址,时间/日期相关数据,硬件信息等信息。 Ansible facts 对于需要根据远程主机的信息作为执行条件操作的场景非常...

    原文来自:https://blog.csdn.net/bruce_6/article/details/81328975

    自己做了一些修改

    什么是 Ansible facts

    Ansible facts 是远程系统的信息,主要包含IP地址,操作系统,以太网设备,mac 地址,时间/日期相关数据,硬件信息等信息。

    Ansible facts 对于需要根据远程主机的信息作为执行条件操作的场景非常有用。例如,根据远程服务器使用的操作系统版本,可以安装不同版本的软件包。或者也可以显示与每台远程计算机相关的一些信息,例如每台设备上有多少 RAM 可用。


    如何获取 Ansible facts

    默认情况下,在使用 Ansible 对远程主机执行任何一个 playbook 之前,总会先通过 setup 模块获取 facts,并暂存在内存中,直至该 playbook 执行结束。

    这意味着,想要在 playbook 中引用主机变量,至少先与该主机通信一次,以便 Ansible 能够访问其 facts,尽管有时候只需要来自该主机的少量信息。

    Ansible 提供了 setup 模块来收集主机的系统信息,这些 facts 信息可以直接以变量的形式使用。

    如果想查看 setup 模块获取到的数据,可以在命令行上通过调用 setup 模块命令查看:

    ansible all -m setup

    将会返回一大大堆数据,文章篇幅有限,这里就不再展示。

    获取这么多数据是非常耗时的,通过 time 指令可以看出,获取一台主机的 facts 数据就用了 3 秒多时间:

    time ansible localhost -m setup
    
    real    0m3.321s
    user    0m1.797s
    sys 0m0.205s

    在被控主机较少的情况下,收集信息还可以容忍,如果被控主机数量非常大,收集 facts 信息会消耗掉非常多时间。

    那怎么办呢?优化 Ansible 运行速度,最简单的莫过于设置 facts 缓存了。


    设置 facts 缓存

     

    我们可以设置 gather_facts: no 来禁止 Ansible 收集 facts 信息,但是有时候又需要使用 facts 中的内容,这时候可以设置 facts 的缓存。

    ---
    - name: this is a play
      hosts: 192.168.17.134     
      remote_user: arya       
      gather_facts: no #------>这里设置为no
      tasks:
        - shell: echo hello world
          register: say_hi
        - debug: var=say_hi.stdout_lines[0]
      roles:
        - test

    例如,我们可以在空闲的时候收集 facts,缓存下来,在需要的时候直接读取缓存进行引用。

    Ansible 1.8 版本开始,引入了 facts 缓存功能。

    Ansible 的配置文件中可以修改 gathering 的值为 smart、implicit 或者 explicit。

        smart 表示默认收集 facts,但 facts 已有的情况下不会收集,即使用缓存 facts;
        implicit 表示默认收集 facts,要禁止收集,必须使用 gather_facts: False;
        explicit 则表示默认不收集,要显式收集,必须使用 gather_facts: Ture。

    在使用 facts 缓存时(即设置为 smart),Ansible 支持两种 facts 缓存:redis 和 jsonfile。
    使用 redis 缓存

    # 在/ect/ansible/ansible.cfg中设置 如下
    gathering = smart
    fact_caching_timeout = 86400
    fact_caching = redis
    fact_caching_connection = 127.0.0.1:6379
    
    # 若 redis 设置了密码
    # fact_caching_connection = localhost:6379:0:admin

    在使用 redis 缓存后,出现异常(若未出现,请忽略):TypeError: the JSON object must be str, not 'bytes',加上 -vvv 打印出调试信息后,定位到 /usr/local/lib/python3.5/dist-packages/ansible-2.5.0-py3.5.egg/ansible/plugins/cache/redis.py 文件中的 第 90 行:

    self._cache[key] = json.loads(value)

    将其修改为如下即可:

    self._cache[key] = json.loads(value.decode('utf-8'))

    使用 json 文件作为facts缓存

    在 /etc/ansible/ansible.cfg配置文件中添加
    fact_caching = jsonfile
    fact_caching_connection = /tmp/facts_cache
    然后:
    mkdir /tmp/facts_cache
    chmod 777 /tmp/facts_cache/

      注意:这个目录需要是一个可读写的目录。

    效果测试

    随便新建一个剧本,这里我们随便执行一个 command 指令:

    ---
    - hosts: 192.168.9.21
      tasks:
        - name: test ping
          command: whoami

    未使用 facts 缓存的耗时:

    # time ansible-playbook ping.yml
    
    PLAY [10.254.9.21] **********************************************************************************************************************************************************
    
    TASK [Gathering Facts] ******************************************************************************************************************************************************ok: [10.254.9.21]
    
    TASK [test ping] ************************************************************************************************************************************************************changed: [10.254.9.21]
    
    PLAY RECAP ******************************************************************************************************************************************************************10.254.9.21                : ok=2    changed=1    unreachable=0    failed=0
    
    
    real    0m15.870s
    user    0m2.766s
    sys     0m0.938s

    使用缓存的耗时:

    # time ansible-playbook ping.yml
    
    PLAY [10.254.9.21] **********************************************************************************************************************************************************
    
    TASK [test ping] ************************************************************************************************************************************************************changed: [10.254.9.21]
    
    PLAY RECAP ******************************************************************************************************************************************************************10.254.9.21                : ok=1    changed=1    unreachable=0    failed=0
    
    
    real    0m3.037s
    user    0m1.469s
    sys     0m0.813s

    可以发现,速度提升很多,由 15s 减少到只有 3s!

    运行结束后,在 redis 中可以看到有如下数据:

    $ redis-cli
    127.0.0.1:6379> keys *
    1) "ansible_facts10.254.9.21"
    2) "ansible_cache_keys"

    若使用的是 json 缓存,配置的目录中会生成如下文件:

    $ tree facts_cache/
    facts_cache/
    └── 10.254.9.21
    
    0 directories, 1 file

    其中存放的就是主机的 facts 信息。
    总结

    不同网络环境下的耗时肯定是不同的,但是设置缓存是肯定可以加快 Ansible 运行速度的,特别是 playbook 的运行。

    另外,可以在空闲时间手动进行 facts 缓存的更新,从而避免执行真正的任务时再去更新缓存。

    当然,优化 Ansible 运行速度还有其他方法,后面我再继续给大家分享。
     

    展开全文
  • Quick Facts-crx插件

    2021-04-03 10:40:58
    语言:English (UK) 此扩展允许访问Quick Facts实用程序 用于存储和检索信息花絮的实用程序。
  • Daily Facts-crx插件

    2021-04-05 16:27:24
    Daily Facts新选项卡扩展使您的浏览和搜索变得有趣而有趣! 了解历史上今天发生的事情,出生的人,死亡的人,并轻松地在网络上搜索其他信息! 请仔细阅读:安装Daily Facts扩展程序即表示您同意最终用户许可协议和...
  • ansible facts使用

    千次阅读 2020-02-02 20:29:11
    ansible facts 采集被管理设备的一个功能 ansible facts 采集被管理设备的一个功能 [root@192-168-2-250 ~]# ansible rongkang -m setup 172.20.100.108 | SUCCESS => { "ansible_facts": { "ansible_all_...
  • visual-facts-源码

    2021-04-25 05:01:52
    该存储库托管Visual Facts,这是为我在NTU的最后一个项目开发的桌面应用程序。 您需要来生成事实。 学分 该项目由Electron-React-Typescript启动,Electron-React-Typescript是使用React和Typescript开发电子应用...
  • facts_and_knowledge-源码

    2021-03-28 05:13:47
    facts_and_knowledge
  • chuck-norris-facts-源码

    2021-03-21 15:08:31
    chuck-norris-facts
  • Ansible facts详解

    千次阅读 2020-06-07 20:49:05
    Ansible是一个系列文章,我会尽量以通俗易懂、诙谐幽默的总结方式给大家呈现这些枯燥的...TASK [Gathering Facts] **************************************** ok: [192.168.1.3] 从内容来看,这是执行了一个名为Gathe.
  • Ansible facts 缓存

    2020-02-02 00:50:18
    什么是 Ansible facts Ansible facts 是远程系统的信息,主要包含IP地址,操作系统,以太网设备,mac 地址,时间/日期相关数据,硬件信息等信息。 Ansible facts 对于需要根据远程主机的信息作为执行条件操作的场景...
  • Just the facts-crx插件

    2021-04-05 05:28:21
    Just Facts以清晰,大胆的颜色突出显示关键信息(引号,名称,数字,日期),使休闲新闻阅读器和铁杆新闻迷都可以一目了然地掌握网页的要旨。 切掉杂物,直接了解冷酷的事实。 默认情况下,Just the Facts被激活以...
  • Vanilla-JS-Numbers-Facts-App --- AJAX获取 Vanilla JS Numbers Facts应用程序-AJAX和Fetch
  • Num-facts:React轴-源码

    2021-03-11 14:29:54
    Num-facts:React轴
  • Power9 Facts and Features

    2019-01-15 10:25:53
    power 9 系列小机介绍 IBM Power Systems™ servers using IBM POWER8® processors are described in a separate Facts and Features report dated February 2018 (POB03046-USEN).
  • 事实 iPhone Chardon Facts 应用程序
  • Ansible Facts 变量详解

    千次阅读 2020-04-25 23:20:39
    Ansible Facts 变量详解与使用案例
  • 提出一种基于自由权矩阵方法的多灵活交流输电系统(FACTS)抗时滞协调控制算法。该算法采用广域测量系统(WAMS)的输出反馈信号,考虑信号的传输时滞,使用自由权矩阵时滞稳定定理作为判据,同时保证时滞系统的最小...
  • FACTS在电力系统中的应用.pdf

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,413
精华内容 9,365
关键字:

facts