需求
目前有很多运维需求场景是基于CMDB配置信息的监控、自动化处理等等,需要梳理IT资产的信息,包括操作系统参数、软件参数、进程信息等等。本文就模拟一个Windows虚拟内存数据的采集
实现
根据不同的IT环境,选择不同的实现方式很重要
- 脚本实现:缺点是需要选择合理的认证方式,如果是比较严格的生产系统的话,这种方式就会遇到挑战,对比其他几种方式,优势在于比较单纯,不需要了解太多其他技术细节。
- Agent实现:目前生产系统上都会有一些比较成熟的商业监控软件Agent,比如一些监控软件Zabbix、Solarwinds、APM等等,都会支持一些自定义监控指标的上报功能,有插件或者脚本多种模式,优点就在于有成熟插件可使用或者平台承载自定义脚本,缺点其实就是需要了解这类监控
- 端口扫描:也就是根据一些协议如SNMP、TCP\IP、SYSLOG等等,优点就是数据格式都比较规范,缺点在于只有这些标准规范的数据
综合上述实现方式,选择适合自己企业的IT运行环境,比如下文中我要继续表述的为什么要基于Splunk,因为对象是金融保险企业,IT生产合规性要求高,不允许随意运行脚本,有严格的认证控制和准入机制,但正因为合规性要求高,所以已经有一些成熟监控软件比如Solarwinds和Splunk,但Solarwinds实现的NPM功能非SAM,所以采用Splunk的方式
环境
- Splun