当前位置: 首页 > news >正文

济南网站开发灵山县建设局网站

济南网站开发,灵山县建设局网站,天安节能科技园公司做网站,域名换到另外一个wordpressPrometheus node的监控数据如链接展示,我们希望能更加方便的看到监控数据,shodan对Prometheus metrics 的数据做了格式化处理。172.96.3.215:9100/metricshttp://172.96.3.215:9100/metrics 本文我自己实现了一个命令行工具,可以输出类shodan…

Prometheus node的监控数据如链接展示,我们希望能更加方便的看到监控数据,shodan对Prometheus metrics 的数据做了格式化处理。172.96.3.215:9100/metricsicon-default.png?t=N7T8http://172.96.3.215:9100/metrics

 本文我自己实现了一个命令行工具,可以输出类shodan数据格式监控数据。以下是代码示例

// ExtractMsg 提取信息
/*1.node_dmi_info2.node_exporter_build_info3.node_network_info4.node_os_info5.node_uname_info按照顺序从前到后寻找
*/
func ExtractMsg(resp string) {//(1)提取node_dmi_info信息的子串tmpindex := 0dmiResult, dmiEndindex := common(resp, "node_dmi_info{")tmpindex += dmiEndindex//(2)提取node_exporter_build_info信息的子串buildResult, buildEndindex := common(resp[tmpindex:], "node_exporter_build_info{")tmpindex += buildEndindexnetworkStartIndex := tmpindex//(3)提取node_os_info信息的子串osResult, osEndindex := common(resp[tmpindex:], "node_os_info{")tmpindex += osEndindex// 提取node_network_info信息的子串,特殊模块network(resp[networkStartIndex:], "node_network_info{")//(4)提取node_uname_info信息的子串unameResult, _ := common(resp[tmpindex:], "node_uname_info{")// 逐个序列化json.Unmarshal([]byte(dmiResult), &prometheus.NodeDmiInfo)json.Unmarshal([]byte(buildResult), &prometheus.NodeExporterBuildInfo)json.Unmarshal([]byte(osResult), &prometheus.NodeOsInfo)json.Unmarshal([]byte(unameResult), &prometheus.NodeUnameInfo)
}// common 公共模块
func common(resp, findstr string) (result string, endIndex int) {startIndex := strings.Index(resp, findstr)// 找不到的情况if startIndex == -1 {return "", 0}endIndex = strings.Index(resp[startIndex:], "} 1")endIndex = endIndex + startIndex + 1// 提取子串的内容result = strings.ReplaceAll(resp[startIndex+len(findstr)-1:endIndex], "=", ":")re := regexp.MustCompile(`(\w+):([^,]+)`)result = re.ReplaceAllString(result, `"$1":$2`)return
}// network 单独的网络模块
func network(resp, findstr string) {count := strings.Count(resp, findstr)prometheus.NodeNetworkInfo = make([]Response.NodeNetworkInfo, count)//找到第一个开始位置startIndex := strings.Index(resp, findstr)for i := 0; i < count; i++ {//找到结束位置endIndex := strings.Index(resp[startIndex:], "} 1")//算出结束位置endIndex = endIndex + startIndex + 1// 提取子串的内容result := strings.ReplaceAll(resp[startIndex+len(findstr)-1:endIndex], "=", ":")// 把多余的部分截掉,使其可以被反序列化为对象result = strings.TrimLeft(result, "nfo")// 正则并且加引号,使其称为JSON格式re := regexp.MustCompile(`(\w+):([^,]+)`)result = re.ReplaceAllString(result, `"$1":$2`)// 反序列化err := json.Unmarshal([]byte(result), &prometheus.NodeNetworkInfo[i])if err != nil {panic(err)}startIndex = endIndex}
}

效果如下:

 

 完整代码详见GitHub

FrankZhang63/Promethues: Promethues metrics 类shodan数据格式 (github.com)

http://www.yayakq.cn/news/172630/

相关文章:

  • 百石网怎么做网站网站备案要营业执照吗
  • 可以做女的游戏视频网站如何建个人网站教程
  • 怎么做自己的网站弄商城佣金折扣券网站怎么做
  • 手机可播放的网站招聘网页设计师
  • 无锡华士镇网站建设个体户怎么做购物网站
  • 网站换空间不换域名对seo有影响吗建设网站成都
  • 值得买网站模板试分析网站推广和优化的原因
  • 网站邮箱设置网站优化建设苏州
  • 网站建设公司做前端浏览器网页版进入
  • 大兴网站建设制作宝安区网站建设培训
  • 网站建设优化安徽宜兴建设局官方网站
  • 自己做网站导航页专业定制网红柴火灶
  • 这几年做哪个网站能致富有没有专业收费做网站优化的
  • 人网站建站wordpress 繁简
  • 网站做问卷调查的问题网页建设
  • 西安做网站公司魔盒下列哪些属于网络营销的特点
  • 用discuz做的大网站免费移动网站模板
  • 中山网站建设哪家好个人网站的设计与实现的主要内容
  • 网站外链软件通讯设备东莞网站建设
  • 柬埔寨网站建设运营维护分销小程序开发找哪家好
  • 20个外国平面设计网站还有做网站的必要吗
  • 郴州网站建设公司简介网站建设与实践步骤
  • 专业的网站开发服务梧州单身相亲网站
  • 汉中做网站的电话常宁市网站建设
  • 新乡手机网站建设电话网站备案如何申请
  • 简历在线制作网站免费购买域名搭建网站
  • 网站设计的主要内容ui设计师对学历要求
  • 河北住房城乡建设厅官方网站一台服务器如何做两个网站
  • 网站开发研究生wordpress crm分销插件
  • 找人做短视频网站如何在第三方网站做推广