zabbix企业应用之优化监控CDN带宽

最近介绍了很多ansible的使用案例,这次就回归正轨,介绍如何使用zabbix监控CDN带宽,做到在带宽出现异常的时候及时知晓,访问带宽异常造成的经济损失。

这里以蓝汛CDN为例,监控的方法是通过CDN给与的api接口。备注:目前蓝汛api接口只能查看单独频道的带宽,无法查看所有频道的,并且频道id还需要你自己或者客服帮你查下,十分不方便。

1、api接口信息为:

(一) 接口地址:
https://api.chinacache.com/reportdata/monitor/query?type=monitor&withtime
=true&layerdetail=true&username=xxx&pass=xxx&billingid=123&starttime=2
01009190000&endtime=201009192359
 说明:
1. 目前提供两种协议的接口:一种是HTTP,另一种是HTTPS,可根据需要自
行决定使用任何其中一种
2. 用户可以通过post 或get 方式访问协议的接口
(二) 参数说明:
type=monitor【必选参数】:查询类型
withtime=true【可选参数】:用来表明查询结果中是否显示详细时间戳
layerdetail=true【可选参数】:用来表明查询结果中是否显示分层数据
username【必选参数】:用户名,客户在portal 中的登录账号
pass【必选参数】:密码,客户在portal 中的登录密码
billingid【必选参数】:提供服务的计费单元ID, 为ChinaCache 定义的计费单元编
号。当有多个计费单元需要查询时, 需要以‘ & ’ 分隔, 例如:
billingid=123&billingid=456
starttime【必选参数】:开始时间,精确到分钟
1. 格式:年月日时分(12 位,4 位年,2 位月,2 位日,2 位小时,2 位分钟)
2. 例子:201009190000,表示2010 年9 月19 日0 点0 分
endtime【必选参数】:结束时间,精确到分钟
1. 格式:年月日时分(12 位,4 位年,2 位月,2 位日,2 位小时,2 位分钟)
2. 例如:201009192359,表示2010 年9 月19 日23 点59 分

其他的信息如何你使用蓝汛或者其他CDN,请自行管他们要api文档。

2、下面是我通过api获取某频道CDN带宽脚本(python的)

#!/bin/bash
#encoding=utf-8
import datetime
import urllib
import urllib2
api_user=‘xxxx‘
api_passwd=‘xxxx‘
billid=‘3926x‘
now_time=datetime.datetime.now()
starttime=(now_time - datetime.timedelta(seconds=300)).strftime(‘%Y%m%d%H%M‘)
endtime=(datetime.datetime.now()).strftime(‘%Y%m%d%H%M‘)
url="https://api.chinacache.com/reportdata/monitor/query?type=monitor&withtime=true&layerdetail=true&username=%s&pass=%s&billingid=%s&starttime=%s&endtime=%s"%(api_user,api_passwd,billid,starttime,endtime)
#get xxx product xml
result = urllib2.urlopen(url, timeout=5).read()
#follow is use xml
‘‘‘
from xml.etree import ElementTree as ET
from xml.dom import minidom
per=minidom.parseString(result)
per=ET.parse(‘qsmy.xml‘)
p=per.findall(‘/Total‘)
for oneper in p: 
    for child in oneper.getchildren():
	if child.tag == ‘MaxData‘:
	    value = round(int(child.text)/float(1000)/float(1000),2)
            print value
‘‘‘
#follow is use string
import xml.etree.ElementTree 
per  = xml.etree.ElementTree.fromstring(result)
p=per.findall(‘Total‘)
for oneper in p:
    for child in oneper.getchildren():
        if child.tag == ‘MaxData‘:
	    value = int(child.text)/1000/1000
            print value

上面有2种方法获取接口,一个是把api获取的信息存到一个xml文件里,然后解析xml文件,另外一个是直接通过接口获取数据后解析,默认我采取第二个方法。

同时我获取的是前5分钟最大的数据,并且单位为M。

3、下面是web里运行api获取结果展示

结果是23M

4、然后在命令行里运行结果展示

可以看到结果也是23,上面的url是我为了让大家看的更情况才输出的。

5、结合zabbix监控

A.把此脚本放到/usr/local/zabbix/bin/目录下,给与755权限与zabbix用户与组权限。

B.在zabbix_agentd.conf里配置

[[email protected] bin]# tail -n 1 /usr/local/zabbix/conf/zabbix_agentd.conf 
UserParameter=check_cdn[*],python /usr/local/zabbix/bin/qsmy_cdn.py

C.重启zabbix客户端

ps -ef|grep zabbix|grep -v grep|awk ‘{print$2}‘|xargs kill -9
/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/conf/zabbix_agentd.conf

D.在zabbix的web里,添加item如下

E.trigger配置为

F.graphs的话自己配置

G.zabbix里图像显示为

大家可以参考这个来定制自己的CDN带宽监控,有问题可以留言。

zabbix企业应用之优化监控CDN带宽

时间: 2024-10-12 03:35:01

zabbix企业应用之优化监控CDN带宽的相关文章

zabbix 监控CDN带宽

       我这边使用的是网宿的CDN做加速,然后有一堆的接口可以调用单独查询: 网宿提供所有频道一起查询:cdn上面都是钱,稍微监控还是非常有必要的. api信息格式: https://myview.chinanetcenter.com/api/bandwidth-channel.action?u=xxxx&p=xxxx&cust=xxx&date=xxxx&channel=xxxxxx;xxxxx&isExactMatch=false&region=x

zabbix企业应用:利用自动发现监控IIS站点

如果一台windows server有许多个IIS站点,我们想实现这样一个监控目标:监控每个站点的状态.请求.流量.连接数,而且以后新增加的站点也可以自动加入到监控里,不需要再手动添加. 利用zabbix的自动发现(LLD)功能结合脚本可以实现上面的需求,实现对IIS站点的动态添加,动态监控. 先看一下监控的效果: 上图中的"Web Service(wskh)"是指IIS网站名称为wskh:"Web Service(_Total)"是指IIS下所有的站点. 网站流量

Python+Mysql生成zabbix统计数据(优化)

周末重新整理了一下,把有些不合理的地方改了下,自我感觉好多了 ZabbixReport.py #!/usr/bin/python #coding:utf-8 import MySQLdb import time,datetime #zabbix数据库信息: zdbhost = '192.168.1.100' zdbuser = 'zabbix' zdbpass = 'zabbixreport' zdbport = 3306 zdbname = 'zabbix' #生成文件名称: xlsfilen

分享企业网站SEO优化思路

现在网络也成为了大部分企业的营销工具,网站SEO优化对企业的效益明显突出来了.下面介绍企业网站SEO优化思路. 一.域名检测 为了了解网站目前的状态,需要检测各项指标对网站当前的状况进行综合评估,即域名检测.检测的内容一般包括网站当前的PR值.ALEXA排名.百度和谷歌等SE的收录情况.PV.IP.反向链接数等. 1) 域名注册时间 2) 域名PR值 3) ALEXA排名 4) 百度收录 5) 谷歌收录 6) PV数 7) IP数 8) 反向链接 二.网站结构分析和优化 1)网站框架 按照网站的

zabbix源码安装,自定义监控205的用户数,有触发器但没有邮件报警

zabbix源码安装,自定义监控205的用户数,有触发器但没有邮件报警 监控端配置:(192.168.4.5) 1基础环境:(实验环境可以关闭防火墙,但生产环境不能关闭,否则不安全,要设置相应规则) [[email protected]桌面]# /etc/init.d/iptables stop [[email protected]桌面]# setenforce 0 2搭建lamp平台,(它运行在lamp平台上) [[email protected]桌面]# yum -y install htt

目前众多企业站长在优化网站时最喜欢做的一项优化

网站锚文本是企业站长最熟悉不过的了,锚文本属于内链的一种表现形式,是目前众多企业站长在优化网站时最喜欢做的一项优化,很多站长也是重视锚文字的优化,但有些时候站长如果没有控制好锚文字可能会带来降权.K站等.从当前的数据显示,大部分的企业企业站长在优化网站的时候,都认为锚文字如果优化得当就会给关键词带来排名给网站带来权重,当然内链形式的锚文本比外链形式的锚文本要好控制的多,而且只要控制好站内锚文本就会给网站带来好处.因此,站内锚文本越来越让企业站长关注,特别是一些刚入行的新手站长. 这段时间笔者在自

zabbix实现mysql数据库的监控(三)

上面一章“zabbix实现mysql数据库的监控(二)”使用MPM来监控mysql,但是遇到安装问题始终解决不了,这里改用percona-monitoring-plugins进行zabbxi上监控mysql数据库了. percona-monitoring-plugins的详细介绍请见:https://www.percona.com/software/mysql-tools/percona-monitoring-plugins 一.环境准备 php开发环境搭建 下载percona-monitori

Zabbix配置文件的参数优化和Zabbix的数据库优化

Zabbix配置文件的参数优化 StartPollers=60 StartPollersUnreacheable=80 StartTrappers=20 StartPingers=100 StartDiscoverers=120 #zabbix提示进程繁忙时修改此参数,最大二百五,建议100左右,值大消耗cpu性能大 CacheSize=1024M StartDBSyncers=16 HistoryCacheSize=1024M TrendCacheSize=1024M HistoryTextC

zabbix入门到精通之Zabbix对linux主机的监控

我们大概了解了怎么对台主机进行监控,主要步骤设计到添加主机,并且为主机添加监控项,这里主要为item,然后在item的基础上对item进行绘图并且通过screen的方式把不同的监控图像汇总到一张screen上.通过对quick章节我们认识到item监控项在zabbix中是非常重要的,而item的监控是通过key来定义的,key又分为系统预定义好的key和自定义的key组成,这一节,我们通过对zabbix预定义的内存key来了解一下key到底是怎么组成和怎么使用的. Key 参数 类型 单位 举例