服务器资产自动收集,资产管理 cmdb之ansible 获取服务器硬件、软件等信息

cmdb抓取服务信息的方式有很多种,可以使用自动化工具saltstack、ansible、puppet,或者使用其它模块直接ssh远程连接抓取服务器信息。这里记录一下用ansible的API接口调用setup模块抓取。

实验使用两台机器

IP

系统

软件

192.168.93.137

centos6.5_x64

ansible 1.9.4

192.168.93.128

centos6.5_x64

两台机器建立好ssh信任后在192.168.93.137上执行

ansible 192.168.93.128 -m setup

将其封装成函数保存为test.py,(此处封装借鉴的一位高手,可惜忘了博客地址)

里面的参数根据各自的系统可适当修改

# -*- coding: UTF-8 -*-

import ansible.runner

def get_info(ip):

data = {}

runner = ansible.runner.Runner(module_name=’setup’, module_args=”, pattern=’all’, forks=2)

datastructure = runner.run()

sn = datastructure[‘contacted’][ip][‘ansible_facts’][‘ansible_product_serial’]

host_name = datastructure[‘contacted’][ip][‘ansible_facts’][‘ansible_hostname’]

description = datastructure[‘contacted’][ip][‘ansible_facts’][‘ansible_lsb’][‘description’]

ansible_machine = datastructure[‘contacted’][ip][‘ansible_facts’][‘ansible_machine’]

sysinfo = ‘%s %s’ % (description, ansible_machine)

os_kernel = datastructure[‘contacted’][ip][‘ansible_facts’][‘ansible_kernel’]

cpu = datastructure[‘contacted’][ip][‘ansible_facts’][‘ansible_processor’][1]

cpu_count = datastructure[‘contacted’][ip][‘ansible_facts’][‘ansible_processor_count’]

cpu_cores = datastructure[‘contacted’][ip][‘ansible_facts’][‘ansible_processor_cores’]

mem = datastructure[‘contacted’][ip][‘ansible_facts’][‘ansible_memtotal_mb’]

ipadd_in = datastructure[‘contacted’][ip][‘ansible_facts’][‘ansible_all_ipv4_addresses’][0]

disk = datastructure[‘contacted’][ip][‘ansible_facts’][‘ansible_devices’][‘sda’][‘size’]

# print sysinfo

data[‘sn’] = sn

data[‘sysinfo’] = sysinfo

data[‘cpu’] = cpu

data[‘cpu_count’] = cpu_count

data[‘cpu_cores’] = cpu_cores

data[‘mem’] = mem

data[‘disk’] = disk

data[‘ipadd_in’] = ipadd_in

data[‘os_kernel’] = os_kernel

data[‘host_name’] = host_name

return data

if __name__ == ‘__main__’:

data = get_info(”)

import pprint

pprint.pprint(data)

在192.168.93.137上执行test.py获取192.168.93.128的服务器信息

运维平台展示服务器信息

按钮的id值最后一位就是192.168.93.128在数据库表中的id

(部署新java程序,程序 错,需copy的一个包)——java使用siger 获取服务器硬件信息

mcat-siger.sh  查看是否安装siger rsync -aPuv /usr/lib64/libsigar-amd64-linux.so $i:/usr/lib64/ java使用siger …

用python获取服务器硬件信息[转]

#!/usr/bin/env python # -*- coding: utf-8 -*- import rlcompleter, readline readline.parse_and_bind(‘ …

android获取当前软件版本 和版本 名称

/** * 获取本地软件版本 */ public static int getLocalVersion(C …

dotnet 通过 WMI 获取系统安装软件

C# 获取操作系统相关的信息

C#获取当前主机硬件信息

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T …

Android开发之获取手机SIM卡信息

TelephonyManager是一个管理手机通话状态.电话 络信息的服务类.该类提供了大量的getXxx(),方法获取电话 络的相关信息. TelephonyManager类概述: 可用于訪问有关设 …

ubuntu下升级特定软件与查看软件版本信息

ubuntu 升级软件: sudo apt-get update 更新源 sudo apt-get upgrade 更新已安装的包 sudo apt-get dist-upgrade 升级系统 ubu …

调用手机在线API获取手机 码归属地信息

手机在线(www.showji.com)始创于2001年,发展至今已拥有国内最准确. 段容量最大的手机 码归属地数据库系统, 目前 段容量将近33万条,每月保持两次以上规模数据更新,合作伙伴包括:百度 …

随机推荐

WebSocket异常 通常每个套接字地址(协议/ 络地址/端口)只允许使用一次

websocket的实例:http://blog.csdn.net/for_cxc/article/details/51500185 问题: 新建一个连接通信没有问题,但是如果关闭再建立就会 错:通常 …

widows和Linux java加密注意事项

/** * @Title: EncrypAES.java * @Package com.weidinghuo.payment.util * @Description: TODO(用一句话描述该文件做什 …

使用ssh连接gitHub

github每次pull/push代码时要求推送代码的用户是合法的,所以每次推送时候都要输入账 密码用以验证用户是否为合法用户,而ssh是一种安全的传输模式,可以代替用户的这一”输入账 密码 …

(原)String类两种实例化的区别

String有两种实例化方式,一种是通过直接赋值的方式,另外一种是使用标准的new调用构造方法完成实例化. public class StringDemo { public static void m …

为 Macbook 安装 enca 命令

enca 是个查看.转换编码的开源软件, 地址: http://dl.cihar.com/enca/ 安装的步骤比安装 wget 简单多了: 1.用 wget 获取最新的enca 的 tar.gz 的 …

c#中的委托和事件(转)

引言 委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易.它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去 …

初始Hibernate框架技术

hibernate: 定义:ORM:Object Relational Mapping 对象 关系 映射 使用hibernate时几个必要的: 1.实体类 2.映射文件(类  -数据库表,属性-字段) …

android listview 加载图片错乱(错位)

写道 今天晚上一个朋友介绍我看了一篇文章,也是解决android中listview在加载图片错位的问题,看了之后,感觉写的很好,自己也遇到这个问题,但是又不知道从何下手,看到这篇文章后,我的问题 …

agile学习

https://www.flickr.com/photos/codingthearchitecture/sets/

SUSE linux升级perl及openssl

一.perl安装: 1.下载并解压软件:tar zxvf perl-5.24.0.tar.gz 2.运行./configure.gnu -help查看帮助,运行./configure.gnu -des …

相关资源:vissim电子仿真软件-嵌入式文档类资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月26日
下一篇 2021年6月26日

相关推荐