IDC网络质量监控之(七)需求设计篇(prometheus+blackbox)


项目背景及项目所需软件

#项目背景
    一家IDC公司在全球维护着多个数据中心,每个数据中心提供差异性的带宽产品(如直连中国三大运营商的大陆优化型以及国际带宽等等),在基于各IDC内部对全球多地进行网络质量监控外,
多少应维护一套基于用户角度的外部网络质量监控,这能直观的反应某个地方的某个运营商在与某IDC机房互访的网络质量情况,在此基础之上完善告警体系,也能在第一时间发现IDC机房是否存在网络异常。
    在这个行业同样存在激烈的竞争,要求能用这套监控系统将竞争对手纳入质量监控,对促进主动优化网络质量有积极作用,使本公司产品才同行业中始终保持较为领先的地位。
    这套监控完善后,还能从侧面体系公共路径的拥塞问题,如海缆质量等,这个系列连续几篇文章将会围绕这个项目进行展开。

#项目所需软件
    Prometheus: 安装在集中管控点上,用于向blackbox拉取数据,并基于时序数据库进行存储
    blackbox_exporter:安装在探测点上,用于在分布式探测点上对指定目标执行icmp,tcp,dns,udp的探测
    grafanas:可以安装在集中管控点上,用于图表展示与临时监控告警
    alertmanager:可以安装在集中管控点上,这是Prometheus配套的告警管理套件,用于将告警信息推送出去
    prometheus-webhook-dingtalk:可以部署在集中管控点上,这是基于国内办公软件钉钉,制作的webhook推送程序

项目目标 及 探测点分布状态

#项目目标
    1、基于用户的角度,监控 用户至公司机房,用户至供应商机房,用户至竞争对手机房
    2、在探测到 用户至 公司机房网路链路出现异常时,推送告警通知,即故障发现

#全球数据中心分布情况
    大陆区域:上海,深圳,北京,贵阳
    海外区域:香港,日本,洛杉矶,圣何塞

#全球探测点分布情况
    大陆区域:广州移动,保定百度云,东莞电信,陕西联通
    海外区域:BWG洛杉矶,google日本,aws韩国,ikg菲律宾

#探测原则(暂时只针对ICMP协议的设计,其他dns,tcp等效访即可)
    大陆探测点:对大陆区域数据中心及其供应商进行监控,,大陆DNSIP,海外数据中心,海外竞争对手,海外供应商进行监控
    海外探测点:对海外数据中心,海外供应商,海外竞争对手,海外DNSIP进行监控

Prometheus 配置目标文件 & labels 设计规则

#注意(label名字中不能用"-"符号,可以使用"_",例如:labels 不能用 DNS-minitor 可以用这样的形式 DNS_monitor)

1、job探测点分组(job名字与配置文件用_下划线,labels用-)
    大陆:DL_陕西联通,DL_深圳易信,DL_广州移动,DL_保定百度云
    海外:HW_BWG洛杉矶,HW_IKG香港,HW_IKG圣何塞,

    job             分为大陆和海外分组,分别用 DL,HW 指代。
    datacenter:     表示数据中心位置及名字
    ISP:            国内机房表示运营商,海外机房表示带宽产品,以及香港的站群带宽
    user:           表示用户客户
    foe:            主要用于海外机房,表示竞争对手
    DNS_monitor:    表示监控的是DNS,后面跟上DNS,格式为 DL-云南电信DNS
    other:          用于其他记录,如海外有过墙和不过墙IP这一说

2:Prometheus 目标探测文件(不同类别独立文件,见名知意 DC表示datacenter)
    大陆:大陆DNS,大陆机房,海外机房
    海外:海外DNS,大陆主流运营商IP,海外机房
    /root/prometheus/targets/targets_DL_DNS.yml
    /root/prometheus/targets/targets_HW_DNS.yml
    /root/prometheus/targets/targets_DL_DC.yml
    /root/prometheus/targets/targets_HW_DC.yml
    /root/prometheus/targets/targets_DL_Monitir.yml

3:设置自己的默认采集精度,6s一次,一分钟10个数据,监控便于计算丢包率

4:Prometheus重载,而不是每次重启服务(当你修改了Prometheus文件后,使用下面的curl命令重载配置)
请注意,从Prometheus 2.0开始,--web.enable-lifecycle 必须传递命令行标志,HTTP重新加载才能正常工作。
    curl -X POST http://localhost:9090/-/reload

5:Prometheus数据清理有点麻烦,默认不能删除数据,只能用api进行删除,这是相关的文档介绍
    https://prometheus.io/docs/prometheus/latest/querying/api/
    https://blog.csdn.net/weixin_33827965/article/details/92105986
声明:本文为原创,作者为 辣条①号,转载时请保留本声明及附带文章链接:https://boke.wsfnk.com/archives/900.html
微信打赏微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

最后编辑于:2020/2/19作者: 辣条①号

2 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

  1. huajx huajx说道:
    -49#

    BWG洛杉矶是什么意思呀?