中国移动变成operator函数

实战 | Python脚本收集腾讯云CDN日志,并入ELK日志分析
限时干货下载:添加微信公众号“数据玩家「fbigdata」”
回复【7】免费获取【完整数据分析资料!(包括SPSS、SAS、SQL、EXCEL、Project)!】
来源:http://www.cnblogs.com/xiaoming279/p/6475832.html
作者:xiaoming279
(我)负责搭建公司日志分析,一直想把CDN日志也放入到日志分析,前些日志终于达成所愿,现在贴出具体做法:
1、收集日志
腾讯云CDN日志一般一小时刷新一次,也就是说当前只能下载一小时之前的日志数据,但据本人观察,有时前一小时的并下载不到,所以为了保险起见,可以下载两小时之前的日志数据。下载日志可以通过腾讯云的API获取日志列表,然后下载。
腾讯云日志下载 API 链接:
日志采集脚本:get_cdn_log.py
[root@BJVM-2-181bin]# cat get_cdn_log.py
#!/usr/bin/env python
# coding=utf-8
importhashlib
importrequests
importhmac
importrandom
importtime
importjson
importgzip
fromdatetime importdatetime, timedelta
classSign(object):
def__init__(self, secretId, secretKey):
self.secretId = secretId
self.secretKey = secretKey
# 生成签名串
defmake(self, requestHost, requestUri, params, method='GET'):
srcStr = method.upper() + requestHost + requestUri + '?'+ "&".join(k.replace("_",".") + "="+ str(params[k]) fork insorted(params.keys()))
hashed = hmac.new(self.secretKey, srcStr, hashlib.sha1)
return.b64encode(hashed.digest())
classCdnHelper(object):
SecretId='AKIDLsldjflsdjflsdjflsdjfpGSO5XoGiY9'
SecretKey='SeaHjSDFLJSLDFJQIuFJ7rMiz0lGV'
requestHost='cdn.api.qcloud.com'
requestUri='/v2/index.php'
def__init__(self, host, startDate, endDate):
self.host = host
self.startDate = startDate
self.endDate = endDate
self.params = {
'Timestamp': int(time.time()),
'Action': 'GetCdnLogList',
'SecretId': CdnHelper.SecretId,
'Nonce': random.randint(,),
'host': self.host,
'startDate': self.startDate,
'endDate': self.endDate
self.params['Signature'] = Sign(CdnHelper.SecretId, CdnHelper.SecretKey).make(CdnHelper.requestHost, CdnHelper.requestUri, self.params)
self.url = 'https://%s%s'% (CdnHelper.requestHost, CdnHelper.requestUri)
defGetCdnLogList(self):
ret = requests.get(self.url, params=self.params)
returnret.json()
classGZipTool(object):
压缩与解压gzip
def__init__(self, bufSize = 1024*8):
self.bufSize = bufSize
self.fin = None
self.fout = None
defcompress(self, src, dst):
self.fin = open(src, 'rb')
self.fout = gzip.open(dst, 'wb')
self.__in2out()
defdecompress(self, gzFile, dst):
self.fin = gzip.open(gzFile, 'rb')
self.fout = open(dst, 'wb')
self.__in2out()
def__in2out(self,):
whileTrue:
buf = self.fin.read(self.bufSize)
iflen(buf) & 1:
self.fout.write(buf)
self.fin.close()
self.fout.close()
defdownload(link, name):
r = requests.get(link)
withopen(name, 'wb') asf:
f.write(r.content)
returnTrue
returnFalse
defwritelog(src, dst):
# 保存为以天命名日志
dst = dst.split('-')[0][:-2] + '-'+ dst.split('-')[1]
withopen(src, 'r') asf1:
withopen(dst, 'a+') asf2:
forline inf1:
f2.write(line)
if__name__ == '__main__':
#startDate = " 12:00:00"
#endDate = " 12:00:00"
# 前一小时
# startDate = endDate = time.strftime('%Y-%m-%d ', time.localtime()) + str(time.localtime().tm_hour-1) + ":00:00"
tm = datetime.now() + timedelta(hours=-2)
startDate = endDate = tm.strftime("%Y-%m-%d %H:00:00")
#hosts = ['userface.51img1.com']
'pfcdn.xxx.com',
'pecdn.xxx.com',
'pdcdn.xxx.com',
'pccdn.xxx.com',
'pbcdn.xxx.com',
'pacdn.xxx.com',
'p9cdn.xxx.com',
'p8cdn.xxx.com',
'p7cdn.xxx.com',
forhost inhosts:
obj = CdnHelper(host, startDate,endDate)
ret = obj.GetCdnLogList()
link = ret['data']['list'][0]['link']
name = ret['data']['list'][0]['name']
# 下载链接保存的文件名
gzip_name = '/data/logs/cdn/cdn_log_temp/'+ name + '.gz'
# 解压后的文件名
local_name = '/data/logs/cdn/cdn_log_temp/'+ name + '.log'
# 追加的文件名
real_path = '/data/logs/cdn/'+ name + '.log'
printlocal_name, real_path
status = download(link, gzip_name)
GZipTool().decompress(gzip_name, local_name)
writelog(local_name, real_path)
# os.remove(gzip_name)
os.remove(local_name)
exceptException,e:
放到定时任务,每小时执行一次。
30*/1 * * * /usr/bin/python /root/bin/get_cdn_log.py && /dev/null
此图解压后的日志,每个域名保存为一个文件,按天分割。
2、filebeat配置(具体含义查看官方文档)
[root@BJ-2-11bin]# cat /usr/local/app/filebeat-1.2.3-x86_64/nginx-php.yml
prospectors:
- /data/logs/cdn/*.log
document_type: cdn-log
input_type: log
#tail_files: true
multiline:
negate: true
match: after
hosts: ["10.80.2.181:5048", "10.80.2.182:5048"]
3、logstash配置
日志格式:
1661.135.234.125cdn.xxx.com /game/2017/201701//a0dde02a6c53.jpg177692226200http://www.xxx.com/ 5 "Mozilla/4.0 ( MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; NetworkBench/7.0.0.282-025)" "(null)" GET HTTP/1.1 hit
日志内容依次包括:请求时间、访问域名的客户端IP、被访问域名、文件请求路径、本次访问字节数大小、省份、运营商、http返回码、referer信息、request- time(毫秒)、User-Agent、range、HTTP Method、HTTP协议标识、缓存Hit/Miss。
# /usr/local/app/logstash-2.3.4/conf.d/logstash.conf
port =& 5048
host =& "0.0.0.0"
.....(省略)
elseif[type] == "cdn-log"{
patterns_dir =& ["./patterns"]
match =& { "message"=& "%{DATESTAMP_EVENTLOG:timestamp} %{IPORHOST:client_ip} %{IPORHOST:server_name} %{NOTSPACE:request} %{NUMBER:bytes} %{NUMBER:province} %{NUMBER:operator} %{NUMBER:status} (?:%{URI:referrer}|%{WORD:referrer}) %{NUMBER:request_time} %{QS:agent} "(%{WORD:range})" %{WORD:method} HTTP/%{NUMBER:protocol} %{WORD:cache}"}
match =& [ "timestamp", "yyyyMMddHHmmss"]
target =& "@timestamp"
condrewrite =& [
"province", "22", "北京",
"province", "86", "内蒙古",
"province", "146", "山西",
"province", "1069", "河北",
"province", "1077", "天津",
"province", "119", "宁夏",
"province", "152", "陕西",
"province", "1208", "甘肃",
"province", "1467", "青海",
"province", "1468", "新疆",
"province", "145", "黑龙江",
"province", "1445", "吉林",
"province", "1464", "辽宁",
"province", "2", "福建",
"province", "120", "江苏",
"province", "121", "安徽",
"province", "122", "山东",
"province", "1050", "上海",
"province", "1442", "浙江",
"province", "182", "河南",
"province", "1135", "湖北",
"province", "1465", "江西",
"province", "1466", "湖南",
"province", "118", "贵州",
"province", "153", "云南",
"province", "1051", "重庆",
"province", "1068", "四川",
"province", "1155", "西藏",
"province", "4", "广东",
"province", "173", "广西",
"province", "1441", "海南",
"province", "0", "其他",
"province", "1", "港澳台",
"province", "1", "海外",
"operator", "2", "中国电信",
"operator", "26", "中国联通",
"operator", "38", "教育网",
"operator", "43", "长城宽带",
"operator", "1046", "中国移动",
"operator", "3947", "中国铁通",
"operator", "-1", "海外运营商",
"operator", "0", "其他运营商"
} # filter
if"_grokparsefailure"in[tags] {
file { path =& "/var/log/logstash/grokparsefailure-%{[type]}-%{+YYYY.MM.dd}.log"}
......(省略)
elseif[type] == "cdn-log"{
elasticsearch {
hosts =& ["10.80.2.13:9200","10.80.2.14:9200","10.80.2.15:9200","10.80.2.16:9200"]
sniffing =& true
manage_template =& true
template_overwrite =& true
template_name =& "cdn"
template =& "/usr/local/app/logstash-2.3.4/templates/cdn.json"
index =& "%{[type]}-%{+YYYY.MM.dd}"
document_type =& "%{[type]}"
......(省略)
} # output
4 效果图(一小时数据)
cdn使用量效果图
cdn访问情况统计
状态码统计
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
今日搜狐热点Access denied | job.com used Cloudflare to restrict access
Please enable cookies.
What happened?
The owner of this website (job.com) has banned your access based on your browser's signature (bf984d-ua98).中国移动通信gbs
按时间排序
移动定位业务的系统结构如上图所示,客户开通移动定位业务之后,客户的车机或手机通过GPRS或SMS等通信方式将其位置信息传递给移动定位系统,或者通过移动定位系统向LBS请求定位,然后客户可以通过WEB等方式来进行相应的地图操作。各系统的功能如下:   移动定位系统:向客户提供车辆定位、移动目标的电子地图显示、调度、报警、信息查询、导航等功能。   车机或手机:车机或手机是被定位的终端,通常采用GPS定位技术,也可通过中国移动LBS定位技术或者两者相结合的定位技术。   ISMG、GPRS网元:承载被定位终端与移动定位系统之间的双向数据传输。   LBS系统:中国移动基于位置业务系统,通过GSM网络获取移动终端用户的位置信息(经纬度坐标)。   省BOSS系统:负责接受客户业务受理请求,并将相关信息传递给移动定位系统。同时,省BOSS系统还完成对客户使用本业务产生的相关费用的收取。
都这样,你不想见到可以试着一直待机
  中英文对照) 数字移动电话网交换机录音通知规范1、空号:  中文:您好!您所拨打的号码是空号,请核对后再拨。  英文:Sorry! The number you dialed does not exist, please check it and dial later.  2、被叫用户关机:  中文:您好!您所拨打的电话已关机。  英文:Sorry! The subscriber you dialed is power off.  3、被叫不在服务区:  中文:对不起!您拨打的用户暂时无法接通,请稍后再拨。  英文:Sorry!The subscriber you dialed can not be connected for the moment, please redial later.  4、主叫欠费停机/单向停机  中文:对不起!您的电话已欠费,请您续交话费,谢谢!  英文:Sorry, your telephone charge is overdue, please renew it, thank you!  5、用户申请临时停机/其他原因暂时停机:  中文:对不起!您的电话已停机。详情请垂询“1860”。  英文:Sorry! Your telephone service is suspended, for more information, please dial “1860”.  6、被叫停机:  中文:对不起!您拨打的电话已停机。  英文:Sorry! The number you dialed is out of service.  7、被叫忙:  (1)被叫用户登记了呼叫等待功能  中文:您好!请不要挂机,您拨打的电话正在通话中。  英文:Sorry! Please hold on,the subscriber you dialed is busy now,.  (2)被叫用户未登记呼叫等待功能  中文:您好!您拨打的电话正在通话中,请稍后再拨。  英文:Sorry! The subscriber you dialed is busy now, please redial later.  8、中继忙/网络忙:  中文:对不起!您拨打的用户暂时无法接通,请稍后再拨。  英文:Sorry!The subscriber you dialed can not be connected for the moment, please redial later.  9、被叫用户设置了呼入限制:  中文:对不起!您拨打的用户已设置呼入限制.  英文:Sorry! The subscriber you dialed has set barring of incoming calls.  10、 国际长权限制:  中文:您好!您的电话尚未登记国际长途业务,请办理登记手续。详情请垂询“1860”。  英文:Sorry! You have not applied for IDD service, please make registrations. For more information, please dial “1860”.  11、GSM手机拨GSM手机加“0”:  中文: 请直接拨打对方手机号码,无需加“0”。  英文:Sorry! Please dial mobile phone number directly, no need to dial “0”.  12、 固定网拨本地GSM手机加“0”:  中文:请直接拨打对方手机号码,无需加“0”。  英文:Sorry! Please dial mobile phone number directly, no need to dial “0”.  13、 拨号未加长途区号:  中文:您好!请在号码前加拨长途区号。  英文:Sorry! Please dial area code before the number you dialed.  14、112紧急呼叫:  中文:您好!匪警请拨110,火警请拨119,急救中心请拨120,交通故障请拨122,市话障碍请在112前加拨长途区号。  英文:Hello! Please dial 110 for police, 119 for fire, 120 for ambulance,122 for traffic accident and dial area code before 112 for fixed-phone obstacle.  15、其它运营商方向线路故障:  中文:对不起!对方网络暂时无法接通,请稍后再拨。  英文:Sorry! The other operator’s network can not be connected for the moment, please redial later.  16、长权限制/非法主叫:  中文:对不起!您的电话尚未申请此项服务。详情请垂询“1860”。  英文:Sorry! You have not applied for this service, please dial “1860” for more information.  17、被叫久叫不应  中文:对不起,您拨打的电话暂时无人接听,请稍后再拨。  英文:Sorry! The phone you dialed is not be answered for the  moment, please redial later.
在设置中去除
感谢您为社区的和谐贡献力量请选择举报类型
经过核实后将会做出处理感谢您为社区和谐做出贡献
确定要取消此次报名,退出该活动?
请输入私信内容:怎样把iphone4上的中国移动改成我要的表情呢?之前看到别人的答案要修改注册列表,注册列表在哪里啊?_百度知道
怎样把iphone4上的中国移动改成我要的表情呢?之前看到别人的答案要修改注册列表,注册列表在哪里啊?
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
前提是你的iphone 4 已经越狱了,然后你在Cydia 中搜索一下“FakeoOperator”,下载安装后按照软件提示修改想要的内容。
下载之后,它没有提示。。。。
在“设置”--“FakeOperator”修改
采纳率:44%
为您推荐:
其他类似问题
您可能关注的内容
iphone4的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。中国移动科普:5G不用换SIM卡 流量消耗不会变快|5G|SIM卡|流量_新浪科技_新浪网
中国移动科普:5G不用换SIM卡 流量消耗不会变快
中国移动科普:5G不用换SIM卡 流量消耗不会变快
  本文来自太平洋电脑网
  根据5G推进的情况,5G将于2019年走进现实,并且部分厂商会在同年下半年推出5G手机。在4月23日,重庆市第一张5G网络已经成功开通。与些同时,国家发改委等有关部门已批准三大运营商在北京等部分城市试点建设5G网络。
  5G在2019年走进现实之后,相信很多用户都能第一时间体验到5G网络的快感。但在此之前,相信很多人都有疑惑,到底5G要不要换SIM卡?5G流量消耗会不会更快?值得一提的是,近期中国移动针对这些问题做了解答。
  首先,当前的手机并不支持5G网络制式,如果你体验5G网络,就必须要更换为5G手机。值得一提的是,在5G时代,用户可以继续使用4G SIM卡通过5G手机接入网络。也就是,在现有的条件下,如果5G网络覆盖之后,你只需要换一下5G手机,就能立即体验到5G网络,而不需要跑到中国移动营业厅更换SIM卡。
  至于5G网络会不会导致流量消耗加快的问题,中国移动官方也回答了这个问题。中国移动官方表示,5G的网速提升,提升的是上网或下载的速率,在下载同样的文件时,5G只是减少了用户的等待时间,而使用的总流量不变。
新浪科技为你带来最新鲜的科技资讯
苹果汇为你带来最新鲜的苹果产品新闻
新酷产品第一时间免费试玩
提供最新的科学家新闻,精彩的震撼图片

我要回帖

更多关于 &operator 的文章

 

随机推荐