精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

AWS CloudWatch監(jiān)控之釘釘告警

安全 應(yīng)用安全
前提條件:本機(jī)安裝awscli工具,需要修改的是區(qū)域信息、ip_list、實(shí)例id、sns_arn信息,通過腳本自動在CloudWatch上添加監(jiān)控配置EC2監(jiān)控。

圖片


一、CloudWatch服務(wù)安裝

Amazon Linux 2系統(tǒng)安裝Agent。

圖片

Bash
#!/bin/bash
rpm -ivh https://s3.amazonaws.com/amazoncloudwatch-agent/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm

sudo tee -a /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json <<-'EOF'
{
"logs": {
"logs_collected": {
"files": {
"collect_list": [
{
"file_path": "/logArchive/hcaextension/info*.log",
"log_group_name": "RGC-Prod-3in1oven",
"log_stream_name": "info.logs"
},
{
"file_path": "/logArchive/hcaextension/http*.log",
"log_group_name": "RGC-Prod-3in1oven",
"log_stream_name": "http.logs"
}
]
}
}
},
"metrics": {
"aggregation_dimensions": [
[
"InstanceId"
]
],
"append_dimensions": {
"AutoScalingGroupName": "${aws:AutoScalingGroupName}",
"ImageId": "${aws:ImageId}",
"InstanceId": "${aws:InstanceId}",
"InstanceType": "${aws:InstanceType}"
},
"metrics_collected": {
"cpu": {
"measurement": [
"cpu_usage_idle",
"cpu_usage_iowait",
"cpu_usage_user",
"cpu_usage_system"
],
"metrics_collection_interval": 180,
"resources": [
"*"
],
"totalcpu": false
},
"disk": {
"measurement": [
"used_percent"
],
"metrics_collection_interval": 180,
"resources": [
"/"
]
},
"diskio": {
"measurement": [
"io_time",
"write_bytes",
"read_bytes",
"writes",
"reads"
],
"metrics_collection_interval": 180,
"resources": [
"/"
]
},
"mem": {
"measurement": [
"mem_used_percent"
],
"metrics_collection_interval": 180
},
"netstat": {
"measurement": [
"tcp_established",
"tcp_time_wait"
],
"metrics_collection_interval": 180
},
"statsd": {
"metrics_aggregation_interval": 60,
"metrics_collection_interval": 180,
"service_address": ":8125"
},
"swap": {
"measurement": [
"swap_used_percent"
],
"metrics_collection_interval": 180
}
}
}
}

EOF

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json

systemctl restart amazon-cloudwatch-agent.service
systemctl enable amazon-cloudwatch-agent.service

二、AWS-CLI批量下發(fā)監(jiān)控

前提條件:本機(jī)安裝awscli工具。

需要修改的是區(qū)域信息、ip_list、實(shí)例id、sns_arn信息。

通過腳本自動在CloudWatch上添加監(jiān)控配置EC2監(jiān)控。

Python
#!/usr/bin/python
# -*- coding: utf-8 -*-

import os
import json
import subprocess

# 1. 配置cli路徑和region
Contants = {
"AWSCLI": '"C:\\Program Files\\Amazon\\AWSCLI\\bin\\aws.exe" --output json',
"AWSREGION": ['eu-central-1'] # 新加坡
}


# 構(gòu)造字典
class CreateDict(dict):
def __getitem__(self, item):
try:
return dict.__getitem__(self, item)
except KeyError:
value = self[item] = type(self)()
return value


#########################################################################################################
# 配置告警

# CPUUtilization,3分鐘檢查3次,平均值大于或等于80%,就告警。
def getCPUUtilizationComm(name, action, instance_id):
mertic = 'CPUUtilization'
print("#####開始配置 %s#####" % mertic)
return '''{cli} cloudwatch put-metric-alarm \
--alarm-name "AWS_EC2_{name}_{mertic}" \
--alarm-description "aws ec2 {mertic}" \
--metric-name {mertic} \
--namespace AWS/EC2 \
--statistic Average \
--period 60 \
--threshold 80 \
--evaluation-periods 3 \
--datapoints-to-alarm 3 \
--comparison-operator GreaterThanOrEqualToThreshold \
--treat-missing-data notBreaching \
--alarm-actions "{action}" \
--ok-actions "{action}" \
--unit Percent \
--dimensions "Name=InstanceId,Value={id}"'''.format(cli=Contants['AWSCLI'], name=name, actinotallow=action, id=instance_id, mertic=mertic)


# MEMUtilization,3分鐘檢查3次,平均值大于或等于80%,就告警。
def getmem_used_percentComm(name, action, instance_id, instancetype, imageid):
mertic = 'mem_used_percent'
print("#####開始配置 %s#####" % mertic)
return '''{cli} cloudwatch put-metric-alarm \
--alarm-name "AWS_EC2_{name}_{mertic}" \
--alarm-description "aws ec2 {mertic}" \
--metric-name {mertic} \
--namespace CWAgent \
--statistic Average \
--period 60 \
--threshold 80 \
--evaluation-periods 3 \
--datapoints-to-alarm 3 \
--comparison-operator GreaterThanOrEqualToThreshold \
--treat-missing-data missing \
--alarm-actions "{action}" \
--ok-actions "{action}" \
--dimensions Name=InstanceId,Value={id} Name=ImageId,Value={imageid} Name=InstanceType,Value={instancetype}'''.format(cli=Contants['AWSCLI'], name=name, actinotallow=action, id=instance_id, mertic=mertic,instancetype=instancetype, imageid=imageid)


# DISKUtilization,3分鐘檢查3次,平均值大于或等于80%,就告警。
def getdisk_used_percentComm(name, action, instance_id, instancetype, imageid):
mertic = 'disk_used_percent'
print("#####開始配置 %s#####" % mertic)
return '''{cli} cloudwatch put-metric-alarm \
--alarm-name "AWS_EC2_{name}_{mertic}" \
--alarm-description "aws ec2 {mertic}" \
--metric-name {mertic} \
--namespace CWAgent \
--dimensions "Name=path,Value=/" \
--statistic Average \
--period 60 \
--threshold 80 \
--evaluation-periods 3 \
--datapoints-to-alarm 3 \
--comparison-operator GreaterThanOrEqualToThreshold \
--treat-missing-data missing \
--alarm-actions "{action}" \
--ok-actions "{action}" \
--dimensions Name=InstanceId,Value={id} Name=ImageId,Value={imageid} Name=InstanceType,Value={instancetype} Name=device,Value=nvme0n1p1 Name=fstype,Value=ext4 "Name=path,Value=/"'''.format(cli=Contants['AWSCLI'], name=name, actinotallow=action, id=instance_id, mertic=mertic,instancetype=instancetype, imageid=imageid)
#注意因?yàn)榇疟P無法獲取到值和指定變量所以磁盤的值需要在cloudwatch上看下類型值來填寫 device和fstype


# NetworkIn,3分鐘檢查3次,平均值大于或等于5m,就告警。
def getNetworkInComm(name, action, instance_id):
mertic = 'NetworkIn'
print("#####開始配置 %s#####" % mertic)
return '''{cli} cloudwatch put-metric-alarm \
--alarm-name "AWS_EC2_{name}_{mertic}" \
--alarm-description "aws ec2 {mertic}" \
--metric-name {mertic} \
--namespace AWS/EC2 \
--statistic Average \
--period 60 \
--threshold 5000000 \
--evaluation-periods 3 \
--datapoints-to-alarm 3 \
--comparison-operator GreaterThanOrEqualToThreshold \
--treat-missing-data notBreaching \
--alarm-actions "{action}" \
--ok-actions "{action}" \
--dimensions "Name=InstanceId,Value=%s"'''.format(cli=Contants['AWSCLI'], name=name, actinotallow=action, id=instance_id, mertic=mertic)


# NetworkOut,3分鐘檢查3次,平均值大于或等于5m,就告警。
def getNetworkOutComm(name, action, instance_id):
mertic = 'NetworkOut'
print("#####開始配置 %s#####" % mertic)
return '''{cli} cloudwatch put-metric-alarm \
--alarm-name "AWS_EC2_{name}_{mertic}" \
--alarm-description "aws ec2 {mertic}" \
--metric-name {mertic} \
--namespace AWS/EC2 \
--statistic Average \
--period 60 \
--threshold 5000000 \
--evaluation-periods 3 \
--datapoints-to-alarm 3 \
--comparison-operator GreaterThanOrEqualToThreshold \
--treat-missing-data notBreaching \
--alarm-actions "{action}" \
--ok-actions "{action}" \
--dimensions "Name=InstanceId,Value={id}"'''.format(cli=Contants['AWSCLI'], name=name, actinotallow=action, id=instance_id, mertic=mertic)


# 執(zhí)行命令函數(shù)
def execCommand(comm):
try:
print(comm)
(status, stdout) = subprocess.getstatusoutput(comm)
print(status)
return stdout
except Exception as e:
print(e)


# 獲取當(dāng)前可用區(qū)內(nèi)所有EC2的基礎(chǔ)信息
def getAll(get_server_id_list):
# instanceids = ["i-0f24b7bf904ea9563" ,"i-0ce745e06c12cbde1"]
# for instanceid in instanceids:
# print(instanceid)
# comm1 = "%s ec2 describe-instances --instance-ids %s" % (Contants['AWSCLI'],instanceid)
comm1 = "%s ec2 describe-instances" % Contants['AWSCLI']


all_data = json.loads(execCommand(comm1))

instance_list = []
instance_list_modify = []
for r in all_data['Reservations']:
data = {}
for i in r['Instances']:
data['id'] = i['InstanceId']
data['imageid'] = i['ImageId']
data['instancetype'] = i['InstanceType']
for t in i['Tags']:
if t['Key'] == 'Name':
data['name'] = t['Value']
if not data['name']:
data['name'] = i['InstanceId']
instance_list.append(data)
# print(instance_list)
for instance_id in instance_list:
print(instance_id)
if instance_id.get("id") in get_server_id_list:
instance_list_modify.append(instance_id)
#print(instance_list)
print(instance_list_modify)
return instance_list_modify


# 添加報(bào)警
def add_alert(data, action):
for i in data:
instance_id = i['id']
name = i['name']
imageid = i['imageid']
instancetype = i['instancetype']
print(instance_id, name, imageid, instancetype)
#print(instance_id, name)
execCommand(getCPUUtilizationComm(name, action, instance_id))
#execCommand(getNetworkInComm(name, action, instance_id))
#execCommand(getNetworkOutComm(name, action, instance_id))
#execCommand(getmem_used_percentComm(name, action, instance_id, instancetype, imageid))
#execCommand(getdisk_used_percentComm(name, action, instance_id, instancetype, imageid))



def get_server_info(instance_list):
server_info = []
# print(server_dict)
for i in instance_list:
# print(i)
# 顯示執(zhí)行命令
print("aws ec2 describe-instances --output json --instance-ids {0}".format(i))
# print(cmd)
server_dict = {}
data = os.popen("aws ec2 describe-instances --output json --instance-ids {0}".format(i)).read()
json_str = json.loads(data)
"""
# print(json_str["Reservations"][0]["Instances"][0])
server_dict['id']=json_str["Reservations"][0]["Instances"][0]["InstanceId"]
server_dict['imageid']=json_str["Reservations"][0]["Instances"][0]["ImageId"]
server_dict['instancetype']=json_str["Reservations"][0]["Instances"][0]["InstanceType"]
if not json_str["Reservations"][0]["Instances"][0]["Tags"][0]["Value"]:
server_dict['name'] = json_str["Reservations"][0]["Instances"][0]["InstanceId"]
else:
server_dict['name']=json_str["Reservations"][0]["Instances"][0]["Tags"][0]["Value"]
server_info.append(server_dict)
"""
for Reservations_list in json_str["Reservations"]:
for Instances_list in Reservations_list["Instances"]:
server_dict['id'] = Instances_list["InstanceId"]
server_dict['imageid'] = Instances_list["ImageId"]
server_dict['instancetype'] = Instances_list["InstanceType"]
# if not Instances_list["Tags"][0]["Value"]:
# server_dict['name'] = Instances_list["InstanceId"]
# else:
# server_dict['name'] = Instances_list["Tags"][0]["Value"]
for tag_item in Instances_list["Tags"]:
name=tag_item["Key"]
if name == "Name":
server_dict['name'] = tag_item["Value"]
break
if i == server_dict["id"]:
print(server_dict)
server_info.append(server_dict)
return server_info

if __name__ == '__main__':
# 2. 配置sns的arn
sns_arn = "arn:aws:sns:eu-central-1:643xxxxx:xxxx-CloudWatch-Lambda-DingTalk"
ip_list = ["i-010bxxxx","i-00xxxxx"]
cli = Contants['AWSCLI']
for i in Contants['AWSREGION']:
print('[Region] ', i)
Contants['AWSCLI'] = cli + ' --region ' + i
add_alert(get_server_info(ip_list), sns_arn)

三、Amazon SNS創(chuàng)建主題

創(chuàng)建sns主題關(guān)聯(lián)LAMBDA 釘釘程序。

圖片

四、Lambda釘釘函數(shù)通知腳本

圖片

上傳如下腳本,通過cloudwatch調(diào)式EC2設(shè)定的規(guī)則來觸發(fā)告警測試。

Prolog
# _*_coding:utf-8_*_
# python 3.8
# Creation time: 2021/11/18
import time
import hmac
import hashlib
import base64
import urllib.parse
import json
import os
import requests
import datetime


def lambda_handler(event, context):
headers = {'Content-Type': 'application/json;charset=utf-8'}
token = 'ca5533c8cb976c21'
timestamp = str(round(time.time() * 1000))
secret = 'SEC8d1a31ec5e8e91'
secret_enc = secret.encode('utf-8')
string_to_sign = '{}\n{}'.format(timestamp, secret)
string_to_sign_enc = string_to_sign.encode('utf-8')
hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()
sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))

# get url
api_url = "https://oapi.dingtalk.com/robot/send?access_token={}×tamp={}&sign={}".format(token, timestamp, sign)

# msg setting
#message = event['Records'][0]['SNS']
message = event['Records'][0]['Sns']
Timestamp = message['Timestamp']
Subject = message['Subject']
# sns_message = message['Message']
sns_message = json.loads(message['Message'])
NewStateReason = json.loads(event['Records'][0]['Sns']['Message'])['NewStateReason']
current_time = (datetime.datetime.now() + datetime.timedelta(hours=8)).strftime('%Y-%m-%d %H:%M:%S')


if "ALARM" in Subject:
title = '![1.png](https://xxx.oss-cn.aliyuncs.com/dingding-image/1.png)'
elif "OK" in Subject:
title = '![2.png](https://xxx.oss-cn-shanghai.aliyuncs.com/dingding-image/2.png)'
else:
title = '![3.png](https://xxx.oss-cn-shanghai.aliyuncs.com/dingding-image/3.png)'

_value = sns_message['Trigger']['Dimensions'][0]['value']
if _value.startswith('/'):
_value = sns_message['Trigger']['Dimensions'][1]['value']
content = "### {title}".format(title=title) + \
"\n> #### **時間**: " + current_time + \
"\n> #### **狀態(tài)**: " + sns_message['OldStateValue'] + " => " + sns_message['NewStateValue'] + \
"\n> #### **告警名稱**: " + sns_message['AlarmName'] + \
"\n> #### **賬戶ID**: " + sns_message['AWSAccountId'] + \
"\n> #### **AWS區(qū)域**: " + sns_message['Region'] + \
"\n> #### **描述**: " + sns_message['AlarmDescription'] + \
"\n> #### **產(chǎn)品資源**: " + sns_message['Trigger']['Namespace'] + \
"\n> #### **實(shí)例ID**: " + _value + \
"\n> #### **指標(biāo)名稱**: " + sns_message['Trigger']['MetricName'] + \
"\n> #### **報(bào)警詳情**: " + sns_message['NewStateReason']

msg = {
"msgtype": "markdown",
"markdown": {
"title": title,
"text": content
},
"at": {
"isAtAll": "true"
}
}

# request
request = requests.post(url=api_url, data=json.dumps(msg), headers=headers).content.decode("utf8")
return request

Aws子賬戶權(quán)限調(diào)式工具。

https://policysim.aws.amazon.com/

責(zé)任編輯:武曉燕 來源: 新鈦云服
相關(guān)推薦

2021-06-02 08:47:03

Zabbix5.2釘釘機(jī)器人告警圖運(yùn)維

2020-02-17 15:17:57

釘釘

2021-05-29 14:14:16

阿里云釘釘低代碼開發(fā)

2023-08-22 20:48:06

模型釘釘阿里云

2018-08-10 12:56:00

大數(shù)據(jù)

2020-06-10 14:01:46

阿里云釘釘Windows

2016-09-06 18:20:43

存儲

2018-07-16 12:22:42

白熊視頻

2018-04-18 07:20:12

微信騰訊阿里巴巴

2020-04-10 16:41:27

微信釘釘APP

2020-09-18 15:05:24

阿里政務(wù)釘釘

2022-05-13 11:47:42

前端框架實(shí)踐

2021-09-27 19:41:31

監(jiān)控Sentry Alerts

2018-08-07 11:51:27

釘釘

2016-01-21 11:05:38

太平洋電腦網(wǎng)

2016-05-13 16:54:06

阿里云辦公

2021-07-12 06:36:08

釘釘Argo CDPrometheus

2018-08-15 16:15:35

釘釘
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

凹凸日日摸日日碰夜夜爽1| 久久国产精品久久| 欧美日韩国产精品综合 | 91成人精品观看| 亚洲影院在线观看| 久久影院理伦片| 91影院在线播放| 日韩视频一区| 超在线视频97| 中文字幕 自拍| 视频精品一区| 欧美日韩中文一区| 乱人伦xxxx国语对白| 欧美午夜电影一区二区三区| 成人免费av在线| 国产精品日韩欧美大师| 亚洲精品77777| 99re6这里只有精品| 亚洲国产精品999| 宇都宫紫苑在线播放| 成人网ww555视频免费看| 亚洲一区二区在线观看视频 | 最新亚洲精品| 欧美成人性福生活免费看| 久久久久久久片| 男人av在线播放| 一区二区三区在线视频免费观看 | av一区二区在线播放| 精品国产三级a在线观看| 中文字幕 91| xx欧美视频| 黄色成人av在线| 在线观看污视频| 老司机福利在线视频| 欧美极品另类videosde| 九九九九久久久久| 日本免费网站在线观看| 国产精品888| 成人中心免费视频| 在线免费看91| 另类小说综合欧美亚洲| 国产精品久久久久久久久久东京| 精品一区二区三区人妻| 亚洲精品久久| 久久久91精品国产| 欧美色视频一区二区三区在线观看| 欧美一区自拍| 亚洲国产精品免费| 怡红院一区二区| 成人av婷婷| 亚洲福利视频专区| 少妇激情一区二区三区视频| 亚洲精品黑牛一区二区三区| 91精品国产免费久久综合| 奇米影音第四色| 主播大秀视频在线观看一区二区| 欧美性猛交xxxx黑人猛交| 天天夜碰日日摸日日澡性色av| 在线视频国产区| 亚洲美女视频一区| 国产高清www| 97蜜桃久久| 精品福利樱桃av导航| 欧美视频在线播放一区| 在线免费三级电影网站| 色婷婷综合久久久久中文一区二区| 国产h视频在线播放| 成av人片在线观看www| 婷婷成人激情在线网| av天堂永久资源网| abab456成人免费网址| 777精品伊人久久久久大香线蕉| 国产福利在线免费| 国产一区二区三区视频在线| 欧美成人女星排名| 国产美女喷水视频| 成人亚洲一区| 九九久久精品一区| 国产精品suv一区二区三区| 久久高清一区| 国产欧美久久一区二区| 中文字幕免费在线看| 国产乱码精品一区二区三区五月婷| 亚洲最大av在线| 无码精品人妻一区二区| 欧美国产欧美亚州国产日韩mv天天看完整| 日本在线观看不卡| 精品51国产黑色丝袜高跟鞋| 亚洲国产精品一区二区久久 | 男人操女人的视频在线观看欧美| 日本欧美一级片| 91丨九色丨蝌蚪丨对白| 成人高清在线视频| 天堂va久久久噜噜噜久久va| 4438x成人网全国最大| 黑人狂躁日本妞一区二区三区| 蜜臀久久99精品久久久酒店新书 | 91在线网站视频| 午夜影院免费视频| 综合久久国产九一剧情麻豆| 欧美日韩在线中文| 国产一区一区| 国产一区二区三区精品久久久| 美女网站视频色| 亚洲国内欧美| 成人精品视频久久久久| 你懂的在线看| 亚洲一区在线看| 亚洲高清免费在线观看| 欧洲亚洲一区二区三区| 久久的精品视频| 亚洲欧美偷拍视频| 国产69精品久久久久毛片| 亚洲一区二区四区蜜桃| 日韩国产在线看| 国产一级淫片久久久片a级| 今天的高清视频免费播放成人| 91精品国产高清久久久久久91| 好看的av在线| 免费无码国产v片在线观看| 日韩a在线播放| 欧美日韩午夜爽爽| 免费看国产曰批40分钟| 久久免费视频1| 国产美女直播视频一区| 97人洗澡人人免费公开视频碰碰碰| 亚洲精品一区在线观看| 亚洲精品第一页| 欧美日韩精品一区二区三区蜜桃 | 无码人妻精品一区二区蜜桃网站| 深夜成人在线| 亚洲国产精品va在线| 少妇影院在线观看| 另类调教123区| 日韩av影视| 亚洲高清黄色| 亚洲欧美日韩精品| 成人免费区一区二区三区| 国产成人自拍在线| 神马午夜伦理影院| 91麻豆精品一二三区在线| 中文字幕少妇一区二区三区| 黄色av网站免费观看| www一区二区| aa在线免费观看| 综合亚洲自拍| 日韩美女av在线免费观看| 日本高清中文字幕二区在线| 欧美日韩人人澡狠狠躁视频| 玖玖爱在线精品视频| 日韩一级精品| 精品视频一区二区三区四区| 国内激情视频在线观看| 亚洲精品国产拍免费91在线| 91精品国产乱码在线观看| 成人免费毛片app| 无码专区aaaaaa免费视频| 日韩电影在线观看完整免费观看| 国色天香2019中文字幕在线观看| 亚洲黄色在线观看视频| 亚洲成在线观看| 免费成人蒂法网站| 久久久久.com| 亚洲巨乳在线观看| 成人黄色理论片| 欧美激情videos| 污视频在线免费观看| 色综合婷婷久久| 999福利视频| 国产福利91精品| 大陆极品少妇内射aaaaa| 少妇一区二区视频| 成人黄色网免费| 国产精品186在线观看在线播放| 欧美大片在线观看一区二区| 成人精品免费在线观看| 中文字幕第一区综合| 91人妻一区二区三区| 亚洲永久免费精品| 污视频在线免费观看一区二区三区| 国产伊人久久| 久久久在线免费观看| 国产粉嫩一区二区三区在线观看 | 国产精品久久久久久免费免熟| 国产精品入口麻豆九色| 亚洲免费观看在线| 可以看av的网站久久看| 亚洲国产一区二区三区在线| 午夜久久av| 国产suv精品一区二区| 成人区精品一区二区不卡| 亚洲国产精品999| 国产精品久久久久久久久久久久久久久久久久| 一区二区三区不卡视频 | 国产三级在线观看视频| 岛国av一区二区| 91香蕉一区二区三区在线观看| 国产福利一区二区三区在线视频| 国产黄视频在线| 国产精品二区不卡| 久久99精品久久久久久青青日本 | 96精品久久久久中文字幕| 蜜桃视频在线观看免费视频| 久久久91精品国产一区不卡| 暖暖视频在线免费观看| 欧美哺乳videos| 在线观看国产精品入口男同| 午夜精品一区在线观看| 三级黄色免费观看| 久久久久久日产精品| 熟女人妻一区二区三区免费看| 丝袜美腿亚洲综合| 久久综合久久网| 91精品国产调教在线观看| 欧美日韩另类丝袜其他| 粉嫩av一区二区| 91原创国产| 在线观看欧美| 国产精品久久久久久久久影视| 欧美videosex性欧美黑吊| 色偷偷av一区二区三区| 精品欧美不卡一区二区在线观看| 日韩精品一区二区三区老鸭窝| 久久久久久av无码免费看大片| 亚洲午夜在线视频| 国产极品国产极品| 国产精品久久久久久久久动漫| 800av在线播放| 成人午夜激情在线| 欧美一级片在线免费观看| 国产一区二区在线看| 精品亚洲一区二区三区四区| 久久久久国产精品一区二区| 99爱视频在线| 亚洲欧美久久久| 欧美v在线观看| 国产欧美日韩一级| 日韩中文字幕在线视频观看 | 久久精品国产96久久久香蕉| www.亚洲资源| 最近2019年日本中文免费字幕 | 亚洲午夜精品视频| 欧美偷拍视频| 亚洲女人天堂色在线7777| 五月婷婷丁香花| 日韩av在线网| 水莓100在线视频| 亚洲精品一区二区精华| 蜜桃在线一区二区| 亚洲精品国产美女| 蝌蚪视频在线播放| 国产一区二区三区视频免费| 成人在线免费看| 国产亚洲精品美女久久久| h网站在线免费观看| 日韩小视频网址| 最爽无遮挡行房视频在线| 欧美极品美女视频网站在线观看免费 | 亚洲国产最新| 蜜桃久久影院| 日韩av二区| 中文字幕精品在线播放| 欧美日本三区| 欧美精品久久久久久久自慰| 99精品热6080yy久久| 日韩免费一级视频| 日韩av一二三| 亚洲色图欧美自拍| 成人亚洲一区二区一| 亚洲黄色免费在线观看| 久久精品一区蜜桃臀影院| 在线观看免费黄色网址| 亚洲理论在线观看| 天天操天天操天天操天天| 欧美性受xxxx| 亚洲国产视频一区二区三区| 亚洲男人第一网站| 老司机精品影院| 91极品女神在线| 成人免费一区| aa成人免费视频| 久久91精品| 99久re热视频精品98| 国产精品最新自拍| 亚洲天堂伊人网| 久久综合色综合88| 三级在线观看免费大全| 狠狠色狠狠色综合日日小说| 69av视频在线观看| 欧美不卡视频一区| porn亚洲| 欧美在线视频一区二区| 台湾天天综合人成在线| 久草一区二区| 午夜国产欧美理论在线播放| 成人小视频在线看| 国产成人在线免费观看| 69xxx免费| 欧美日韩在线看| 国产黄色大片网站| 一个人看的www久久| 超级碰碰不卡在线视频| 国产欧美日韩亚洲精品| 日韩福利视频一区| 台湾无码一区二区| 蜜臀av性久久久久蜜臀aⅴ流畅 | 久久电影一区二区| 蜜桃精品在线| 精品国产综合久久| 91精品国产自产拍在线观看蜜| 日本福利视频一区| 久久99久国产精品黄毛片色诱| 国产一精品一aⅴ一免费| 国产精品视频一二三区| 97人人澡人人爽人人模亚洲| 欧美一级专区免费大片| 天堂аⅴ在线地址8| 日本一区二区在线播放| 国产精品色在线网站| 欧美美女黄色网| 精品一区二区三区日韩| 日韩不卡av在线| 91久久精品一区二区二区| 香蕉视频网站在线| 久久久久久国产精品| 涩爱av色老久久精品偷偷鲁| 亚洲综合欧美日韩| 老司机久久99久久精品播放免费| 台湾佬美性中文| 亚洲欧美另类久久久精品| 一级全黄裸体免费视频| 一本一道久久a久久精品逆3p| 欧美男男tv网站在线播放| 国产亚洲二区| 亚洲国产日本| 精品熟女一区二区三区| 亚洲福利一二三区| 欧美一级视频免费| 97精品久久久中文字幕免费| 成人看片爽爽爽| 亚洲 欧美 综合 另类 中字| 高清国产一区二区三区| 国产精品.www| 亚洲成人久久久久| 第一福利在线视频| 久久精品国产精品青草色艺| 亚洲影音一区| 老熟妇一区二区| 欧美午夜不卡视频| 欧美激情免费| 亚洲自拍偷拍视频| 国内久久精品| 国产又黄又粗又猛又爽的视频 | 欧美在线观看不卡| 亚洲精品视频中文字幕| 成人激情综合| 亚洲免费视频一区| 激情偷乱视频一区二区三区| 少妇被躁爽到高潮无码文| 日韩欧美电影在线| jizzjizz中国精品麻豆| 麻豆成人av| 免费看欧美女人艹b| www.av成人| 精品国产99国产精品| a欧美人片人妖| 亚洲精品一品区二品区三品区| 黄色在线网站| 欧美日韩久久一区二区| 国产原厂视频在线观看| av一区二区三区免费| 激情久久婷婷| av电影网站在线观看| 欧美日本韩国一区二区三区视频| 国产高清av在线| 成人亲热视频网站| 1024成人| 免费一级特黄3大片视频| 欧美一区二区三区白人| 91破解版在线观看| 亚洲高清不卡一区| 高清不卡一区二区| 无码视频在线观看| 久久福利网址导航| 偷拍视屏一区| 男女视频在线观看网站| 偷拍一区二区三区四区| 一区二区三区视频网站 | 欧美日韩亚洲第一| 国产精品夫妻自拍| 无码精品人妻一区二区三区影院| 欧美整片在线观看| 66久久国产| 人妻少妇无码精品视频区| 日韩欧美一级二级| 欧美日一区二区三区| 黄色国产一级视频| 综合亚洲深深色噜噜狠狠网站| 天天干,夜夜操| 亚洲一区二区三区777|