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

Flink Metrics監控與 RestApi

安全 應用安全
Flink 的 metrics 是 Flink 公開的一個度量系統,metrics 也可以暴露給外部系統,通過在 Flink 配置文件 conf/flink-conf.yaml 配置即可,Flink原生已經支持了很多reporter,如 JMX、InfluxDB、Prometheus 等等。

[[404556]]

本文轉載自微信公眾號「KK架構師」,作者wangkai 。轉載本文請聯系KK架構師公眾號。

 一、Flink metrics簡介

Flink 的 metrics 是 Flink 公開的一個度量系統,metrics 也可以暴露給外部系統,通過在 Flink 配置文件 conf/flink-conf.yaml 配置即可,Flink原生已經支持了很多reporter,如 JMX、InfluxDB、Prometheus 等等。

我們也可以自定義指標通過 metric 收集,實際開發時經常需要查看當前程序的運行狀況,flink 提供了 UI 界面,有比較詳細的統計信息。

但是 UI 界面也有不完善的地方,比如想要獲取 flink 的實時吞吐。本文將詳細介紹如何通過 metric 監控 flink 程序,自定義監控指標以及 metrics 在 flink 的 UI 界面的應用。

二、Metrics在UI頁面上的應用

在 flink 的 UI 的界面上我們點擊任務詳情,然后點擊 Task Metrics 會彈出如下的界面,在 add metic 按鈕上 我們可以添加我需要的監控指標。

注意:如果點擊 Task Metrics 沒有顯示 Add metics 點擊一下任務的 DAG 圖就會顯示出來,當我們點擊了 DAG 圖中某個算子的名字,那么 Add metric 顯示的就是該算子的監控指標,且按照分區顯示,算子名前置的數字就是分區號。

三、各個指標的含義

關于各個指標的含義官網上有詳細介紹:

https://ci.apache.org/projects/flink/flink-docs-release-1.7/monitoring/metrics.html#availability

四、自定義監控指標

案例:在map算子內計算輸入的總數據,設置 :

  1. DataStream<String> userData = kafkaData.map(new RichMapFunction<String, String>() { 
  2.             Counter mapDataNub; 
  3.             @Override 
  4.             public void open(Configuration parameters) throws Exception { 
  5.                 mapDataNub=  getRuntimeContext() 
  6.                        .getMetricGroup() 
  7.                        .addGroup("flink_test_metric"
  8.                        .counter("mapDataNub"); 
  9.             } 
  10.             @Override 
  11.             public String map(String s)  { 
  12.                 String s1 =""
  13.                 try { 
  14.                     String[] split = s.split(","); 
  15.                     long userID = Long.parseLong(split[0]); 
  16.                     long itemId = Long.parseLong(split[1]); 
  17.                     long categoryId = Long.parseLong(split[2]); 
  18.                     String behavior = split[3]; 
  19.                     long timestamp = Long.parseLong(split[4]); 
  20.                     Map map = new HashMap(); 
  21.                     map.put("userID", userID); 
  22.                     map.put("itemId", itemId); 
  23.                     map.put("categoryId", categoryId); 
  24.                     map.put("behavior", behavior); 
  25.                     map.put("timestamp"timestamp); 
  26.                     s1 = JSON.toJSONString(map); 
  27.                     mapDataNub.inc(); 
  28.                     System.out.println("數據"+map.toString()); 
  29.                 } catch (NumberFormatException e) { 
  30.                     e.printStackTrace(); 
  31.                 } 
  32.                 return  s1; 
  33.             } 

程序啟動之后就可以在任務的ui界面上查看

注意點:

搜索自定義或者查看某個指標需要點擊DAG圖中對應算子的名稱

指標的前綴0,1,2....是指算子的分區數

進行監控時,盡量不要對算子進行重命名,使用默認的名字,這樣一套監控程序可以監控多個flink任務,比如對sink重新命名,如果不同的flink程序對sink的命名不一樣,則一套監控無法監控多個flink程序

  1. .addSink(KafkaSink.getProducer()).name("kafka_sink"); 

五、Flink UI 不顯示算子數據接收和發送的條數

有時候我們Flink任務正常運行,數據也可以打印,而且都保存到數據庫了,但是UI上面卻不顯示數據接收和發送的條數 ,導致無法進行指標監控和查查flink任務運行的具體情況,這是什么原因導致的呢?

原因:是因為默認情況下Flink開啟了operator chain,所以當flink程序所有的算子都在一個chain里面時,也就是在一個DAG(task)里面,所有沒有向下游發送數據,所以顯示都為0。比如下圖的情況所有指標都是0;

解決方案:第一種方法:在flink程序里添加自定義metric

第二種方法:使用startNewChain和disableChainin打斷程序默認的operator chain

第三種方法:修改某個算子的并行度使其和上下游算子并行度不一致

六、Metric Reporter

Metrics可以暴露給外部系統,通過在flink配置文件conf/flink-conf.yaml配置即可,flink原生已經支持了很多reporter,如JMX、InfluxDB、Prometheus等等,同時也支持自定義reporter。

Flink自帶了很多Reporter,包括JMX、InfluxDB、Prometheus等等,接下來介紹下InfluxDB Reporter的使用。

只需在flink配置文件conf/flink-conf.yaml中配置Influxdb相關信息即可,主要包括域名、端口號、用戶密碼等等。

flink1.10之后采用

  1. metrics.reporter.influxdb.factory.class: org.apache.flink.metrics.influxdb.InfluxdbReporterFactory 
  2. metrics.reporter.influxdb.host: localhost 
  3. metrics.reporter.influxdb.port: 8086 
  4. metrics.reporter.influxdb.db: flink 
  5. metrics.reporter.influxdb.consistency: ANY 
  6. metrics.reporter.influxdb.connectTimeout: 60000 
  7. metrics.reporter.influxdb.writeTimeout: 60000 
  8. metrics.reporter.influxdb.interval: 30 SECONDS 

flink1.10之前

  1. metrics.reporters: influxdb 
  2. metrics.reporter.influxdb.class: org.apache.flink.metrics.influxdb.InfluxdbReporter 
  3. metrics.reporter.influxdb.host: localhost 
  4. metrics.reporter.influxdb.port: 8086 
  5. metrics.reporter.influxdb.db: flink_monitor 
  6. metrics.reporter.influxdb.username: flink-metrics 
  7. metrics.reporter.influxdb.password: 123 

注意事項:收集flinkSQL任務的監控指標,如果用戶書寫的sql語句 insert into 或者insert overwrite 中單引號帶有換行符,寫入influxdb會報錯

查看influxdb收集到監控信息,發現會自動給我生成數據庫和measurement,所有的指標都存儲在了具體的measurement中

七、flink metric監控程序

前面介紹了flink公共的監控指標以及如何自定義監控指標,那么實際開發flink任務我們需要及時知道這些監控指標的數據,去獲取程序的健康值以及狀態。這時候就需要我們通過 flink REST API ,自己編寫監控程序去獲取這些指標。很簡單,當我們知道每個指標請求的URL,我們便可以編寫程序通過http請求獲取指標的監控數據。

八、flink REST API監控程序

為了獲取flink任務運行狀態和吞吐量我們需要注意一下兩點:

  • flink集群模式需要知道 JobManager 的地址和端口(5004)
  • 對于 flink on yarn 模式來說,則需要知道 RM 代理的 JobManager UI 地址,例如 http://yarn-resource-manager-ui/proxy/application_155316436xxxx_xxxx

1.獲取flink任務運行狀態(我們可以在瀏覽器進行測試,輸入如下的連接)

http://yarn-resource-manager-ui/proxy/application_155316436xxxx_xxxx/jobs

返回的結果

  1.  jobs: [{ 
  2.    id: "ce793f18efab10127f0626a37ff4b4d4"
  3.    status: "RUNNING" 
  4.   } 
  5.  ] 

2.獲取 job 詳情

需要在/jobs/jobid

http://yarn-resource-manager-ui/proxy/application_155316436xxxx_xxxx/jobs/ce793f18efab10127f0626a37ff4b4d4

  1.  jid: "ce793f18efab10127f0626a37ff4b4d4"
  2.  name"Test"
  3.  isStoppable: false
  4.  state: "RUNNING"
  5.  start - time: 1551577191874, 
  6.  end - time: -1, 
  7.  duration: 295120489, 
  8.  now: 1551872312363, 
  9.  。。。。。。 
  10.       此處省略n行 
  11.     。。。。。。 
  12.    }, { 
  13.     id: "cbc357ccb763df2852fee8c4fc7d55f2"
  14.     parallelism: 12, 
  15.     operator: ""
  16.     operator_strategy: ""
  17.     description: "Source: Custom Source -&gt; Flat Map"
  18.     optimizer_properties: {} 
  19.    } 
  20.   ] 
  21.  } 

九、更靈活的方式獲取每個指標的請求連接

有人可能會問,這么多指標,難道我要把每個指標的請求的URL格式都記住嗎?

今天教大家一個小技巧,一個前端技術,就是進入flink任務的UI界面,按住F12進入開發者模式,然后我們點擊任意一個metric指標,便能立即看到每個指標的請求的URL。比如獲取flink任務的背壓情況:

如下圖我們點擊某一個task的status,按一下f12,便看到了backpressue,點開backpressue就是獲取任務背壓情況的連接如下:

http://127.0.0.1/proxy/application_12423523_133234/jobs/86eb310874aeccb37b58ae2892feced3/vertices/cbc357ccb763df2852fee8c4fc7d55f2/backpressure

請求連接返回的json字符串如下:我們可以獲取每一個分區的背壓情況,如果不是OK狀態便可以進行任務報警,其他的指標獲取監控值都可以這樣獲取 簡單而又便捷。

 

十、案例:實時獲取yarn上flink任務運行狀態

我們使用 flink REST API的方式,通過http請求實時獲取flink任務狀態,不是RUNNING狀態則進行電話或郵件報警,達到實時監控的效果。

  1. public class SendGet { 
  2.     public static String sendGet(String url) { 
  3.         String result = ""
  4.         BufferedReader in = null
  5.         try { 
  6.             String urlNameString = url; 
  7.             URL realUrl = new URL(urlNameString); 
  8.             // 打開和URL之間的連接 
  9.             URLConnection connection = realUrl.openConnection(); 
  10.             // 設置通用的請求屬性 
  11.             connection.setRequestProperty("accept""*/*"); 
  12.             connection.setRequestProperty("connection""Keep-Alive"); 
  13.             connection.setRequestProperty("user-agent"
  14.                     "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); 
  15.             // 建立實際的連接 
  16.             connection.connect(); 
  17.             in = new BufferedReader(new InputStreamReader( 
  18.                     connection.getInputStream())); 
  19.             String line; 
  20.             while ((line = in.readLine()) != null) { 
  21.                 result += line; 
  22.             } 
  23.         } catch (Exception e) { 
  24.             System.out.println("發送GET請求出現異常!" + e); 
  25.             e.printStackTrace(); 
  26.         } 
  27.         // 使用finally塊來關閉輸入流 
  28.         finally { 
  29.             try { 
  30.                 if (in != null) { 
  31.                     in.close(); 
  32.                 } 
  33.             } catch (Exception e2) { 
  34.                 e2.printStackTrace(); 
  35.             } 
  36.         } 
  37.         return result; 
  38.     } 
  39.  
  40.     public static void main(String[] args) { 
  41.         String s = sendGet("http://127.0.0.1:5004/proxy/application_1231435364565_0350/jobs"); 
  42.         JSONObject jsonObject = JSON.parseObject(s); 
  43.         String string = jsonObject.getString("jobs"); 
  44.         String substring = string.substring(1, string.length() - 1); 
  45.         JSONObject jsonObject1 = JSONObject.parseObject(substring); 
  46.         String status = jsonObject1.getString("status"); 
  47.         System.out.println(status); 
  48.     } 

結果

 

責任編輯:武曉燕 來源: KK架構師
相關推薦

2021-09-11 21:02:24

監控Sentry Web性能

2021-06-03 09:00:00

Kubernetes集群容器

2021-09-30 06:35:23

監控性能優化

2024-03-13 13:44:43

開發插件開源

2022-07-26 07:47:14

架構

2024-01-03 16:29:01

Agent性能優化

2021-09-08 10:47:33

Flink執行流程

2014-12-04 09:47:59

2015-04-13 10:13:29

2021-04-16 08:20:00

Flink CEP直播監控

2013-11-06 10:46:58

OpenStack監控監控系統

2010-09-17 10:41:27

SIP協議視頻監控

2021-04-29 08:27:06

druidundertowMetrics

2022-05-18 07:30:51

OperatorprometheusVM 集群

2022-08-25 18:23:07

攜程HBase存儲Metrics

2017-07-07 14:30:27

Flink架構拓撲

2012-10-29 10:14:07

APPHadoopSplunk

2022-07-12 16:54:54

字節跳動Flink狀態查詢

2022-06-20 05:52:27

FlinkTTL流查詢

2019-08-15 09:12:54

Redis監控內存
點贊
收藏

51CTO技術棧公眾號

男人的天堂狠狠干| 91免费综合在线| 精品亚洲aⅴ无码一区二区三区| 先锋欧美三级| 亚洲精品网站在线观看| 欧美成熟毛茸茸复古| 亚洲天堂免费av| 亚洲精品色图| 日韩视频精品在线| 成人性生活免费看| 亚洲国产aⅴ精品一区二区三区| 亚洲国产一区二区在线播放| 三级三级久久三级久久18| www.午夜激情| 奇米777欧美一区二区| 欧美精品久久久久a| 东京热无码av男人的天堂| 国产欧美一区二区三区米奇| 欧美日韩视频在线第一区 | 欧美性大战久久久| 亚洲人成无码网站久久99热国产 | 久久久午夜精品| 91丝袜脚交足在线播放| 免费精品一区二区| 国产欧美在线| 欧美日韩成人在线视频| 国产3级在线观看| 免费成人av| 亚洲成人久久电影| 91视频免费入口| 成人精品国产| 色天天综合久久久久综合片| 久操网在线观看| 在线观看午夜av| 欧美激情一区在线| 日本精品免费| 欧美套图亚洲一区| av网站一区二区三区| 99re在线观看| 国产区精品在线| 看电视剧不卡顿的网站| 国产精品第七影院| 永久免费无码av网站在线观看| 黑人一区二区| 九色成人免费视频| 丝袜 亚洲 另类 欧美 重口| 午夜影院欧美| 久久久99久久精品女同性| 少妇视频在线播放| 日本久久一二三四| 国产一区二区三区在线观看网站| 国产麻豆天美果冻无码视频 | 亚洲国产精品成人一区二区| 熟妇女人妻丰满少妇中文字幕| 四虎国产精品永久在线国在线| 欧美午夜精品一区二区蜜桃| 91人人澡人人爽人人精品| 日产精品一区| 欧美无人高清视频在线观看| 网站一区二区三区| 另类一区二区| 在线播放国产精品二区一二区四区| 天堂av在线网站| 国产成+人+综合+亚洲欧美| 欧美亚洲国产一区在线观看网站| 中国黄色片免费看| 日本成人在线网站| 欧美一区三区二区| 中文字幕在线国产| 神马日本精品| 在线成人激情视频| 日本激情视频一区二区三区| 中文字幕人成人乱码| 欧美激情免费视频| 青青操免费在线视频| 午夜在线精品| 91精品美女在线| 国产suv一区二区| 成人av第一页| 午夜精品一区二区在线观看 | 自拍视频一区| 中文字幕一区电影| 九九视频免费在线观看| 国产精品腿扒开做爽爽爽挤奶网站| 国产精品h片在线播放| 亚洲香蕉在线视频| 粉嫩av亚洲一区二区图片| 精品在线视频一区二区| 日本在线观看免费| 午夜亚洲国产au精品一区二区| 日本成人在线免费视频| 麻豆精品国产| 亚洲男人天堂久| 亚洲欧美精品aaaaaa片| 一区二区三区国产盗摄 | 姑娘第5集在线观看免费好剧| 国产在线播放一区三区四| 国产视频一区二区不卡| 国产片在线观看| 一区二区三区在线免费播放| 国产1区2区在线| 看亚洲a级一级毛片| 亚洲无线码在线一区观看| 欧洲猛交xxxx乱大交3| 性欧美精品高清| 91免费在线观看网站| 黄色毛片在线看| 亚洲一区在线观看视频| 依人在线免费视频| 日韩高清影视在线观看| 久久国产精品久久久久久久久久| 特级毛片www| 国产a区久久久| 亚洲图片小说在线| 惠美惠精品网| 精品国产污污免费网站入口| 开心激情五月网| 欧美亚洲专区| 国产日本一区二区三区| 高h视频在线观看| 欧美婷婷六月丁香综合色| 粉嫩av懂色av蜜臀av分享| 欧美99久久| 91香蕉嫩草影院入口| 国产尤物视频在线| 欧美日韩国产页| 日本人妻一区二区三区| 51精产品一区一区三区| 国产精品一区二区三| 欧美孕妇性xxxⅹ精品hd| 亚洲国产综合91精品麻豆| 91视频福利网| 99久久久久国产精品| 国产成人综合一区二区三区| 天天色综合久久| 亚洲图片欧美色图| 蜜臀视频在线观看| 欧美精品三区| 亚洲一区美女视频在线观看免费| 高清在线观看av| 91福利在线免费观看| 久久久久久久久久久国产精品| 亚洲精品在线二区| 国产精品日韩一区二区免费视频| 日本动漫理论片在线观看网站| 91麻豆精品国产91久久久更新时间| 欧美福利第一页| 日韩二区三区在线观看| 日韩中文字幕一区| 国产成人免费9x9x人网站视频| 亚洲区中文字幕| jizz国产在线观看| 国产网站一区二区三区| 男女爽爽爽视频| 成人女性视频| 国产欧美一区二区三区视频| 亚洲1卡2卡3卡4卡乱码精品| 欧美精品亚洲二区| 破处女黄色一级片| 成人午夜精品在线| 久久综合色视频| 久操国产精品| 国产伊人精品在线| 性欧美videos高清hd4k| 精品国产乱码久久久久久图片 | 国产日产一区二区| 日韩欧美一级特黄在线播放| 国产小视频在线看| av成人免费在线观看| 欧美三级午夜理伦三级| 成人情趣视频网站| 51国偷自产一区二区三区的来源| 黄页在线观看免费| 亚洲精品资源在线| 亚洲一区二区影视| 亚洲国产日日夜夜| 91视频在线网站| 韩国女主播成人在线| 欧美精品久久久久久久久久久| 久久99国内| 成人网欧美在线视频| 136福利第一导航国产在线| 亚洲欧美国产高清va在线播| 91丨九色丨丰满| 亚洲一二三四区不卡| 成人免费无遮挡无码黄漫视频| 裸体在线国模精品偷拍| 精品国产一区二区三区无码| 日韩有码一区| 91精品久久久久久久久久久久久久| 羞羞的视频在线观看| 亚洲欧美一区二区激情| 国产高清精品软件丝瓜软件| 色综合网站在线| 天堂网avav| 久久九九久精品国产免费直播| 久久久久久久久久一区| 99精品国产一区二区青青牛奶| 一本色道久久综合亚洲二区三区| 国产精品99久久免费观看| 国产精品久久久久久久久久久不卡 | 国产日本在线播放| 日本道不卡免费一区| 韩日午夜在线资源一区二区 | 欧美激情成人动漫| 中文字幕精品www乱入免费视频| 亚洲AV无码一区二区三区少妇 | 国产麻豆91视频| 色又黄又爽网站www久久| 少妇影院在线观看| 国产精品久久久久久亚洲毛片 | 91极品尤物在线播放国产| 黄色成人91| 咪咪色在线视频| 九九久久精品| 国模一区二区三区私拍视频| 精品视频成人| 91精品免费看| 91在线亚洲| 欧美主播福利视频| 久久不射影院| 久久亚洲精品小早川怜子66| 北条麻妃在线| 亚洲精品午夜精品| 秋霞欧美在线观看| 日韩网站在线看片你懂的| 91精品视频免费在线观看| 色婷婷综合久久久中文字幕| 日本午夜精品理论片a级app发布| 亚洲精品高清视频在线观看| 日本伦理一区二区三区| 欧美国产丝袜视频| 亚洲国产第一区| 91在线观看免费视频| 超碰caoprom| 成人一区在线观看| 国产精品二区视频| 国产精品自拍网站| 下面一进一出好爽视频| 国产美女av一区二区三区| 一级 黄 色 片一| 黑人精品欧美一区二区蜜桃| 在线观看国产一级片| 蜜臀久久99精品久久久久宅男| 欧美黄色一级片视频| 日韩国产欧美在线视频| aaa毛片在线观看| 久久综合图片| 超碰在线播放91| 理论电影国产精品| 亚洲美女性囗交| 国产在线视视频有精品| 亚洲精品国产久| 国产不卡一区视频| 女同性恋一区二区三区| 91视频一区二区三区| 91国模少妇一区二区三区| 国产女人18毛片水真多成人如厕 | 亚洲一区二区在线免费看| 久久久久久久久久99| 亚洲18色成人| 国产女主播喷水视频在线观看 | 91成人影院| 黄色三级中文字幕| 一本综合久久| 日本爱爱免费视频| 国产麻豆成人传媒免费观看| 麻豆短视频在线观看| 91日韩精品一区| 五月天婷婷丁香网| 亚洲精品国产a久久久久久 | 狠狠久久婷婷| 国模吧无码一区二区三区| 视频一区在线视频| 亚洲高清在线不卡| 成人18视频日本| 欧美激情久久久久久久| 亚洲男人电影天堂| 国产成人亚洲精品自产在线| 精品视频全国免费看| www.久久成人| 亚洲人成网站在线播| 老司机在线永久免费观看| 久久久久久久999| 亚洲www啪成人一区二区| 91最新在线免费观看| 日韩av不卡一区| 正在播放一区| 99精品热6080yy久久| 天天操天天干天天做| 99久久精品久久久久久清纯| 日韩一区二区三区四区视频| 亚洲最大色网站| 中文字幕码精品视频网站| 日韩欧美一级二级三级久久久| 玖玖综合伊人| 久久久久久久久91| 欧美爱爱视频| 久久免费视频1| 影音先锋成人在线电影| 国产乱子夫妻xx黑人xyx真爽| 精品影视av免费| 黄瓜视频污在线观看| 亚洲午夜视频在线| 中文字幕精品一区二| 日韩av在线网站| 超碰人人在线| 国产欧美日韩丝袜精品一区| 精品欧美午夜寂寞影院| 少妇高潮大叫好爽喷水| 久久久青草婷婷精品综合日韩| 18深夜在线观看免费视频| 国产欧美在线观看一区| 国产精品成人国产乱| 欧美一区二区三区视频| 无遮挡动作视频在线观看免费入口| 555www成人网| 国产精品qvod| 亚洲高潮无码久久| 卡一卡二国产精品 | 99久久99视频只有精品| 久久精品午夜福利| 97久久久精品综合88久久| 麻豆疯狂做受xxxx高潮视频| 欧美丰满美乳xxx高潮www| 国产中文字幕在线看| 欧美一级大片在线免费观看| 成人性生交大片免费看中文视频| 一本色道婷婷久久欧美| 日本午夜一本久久久综合| 亚洲av综合一区二区| 欧美视频在线观看 亚洲欧| 日本高清视频网站| 欧美激情网站在线观看| 日韩08精品| 中文字幕日韩精品无码内射| 国产又黄又大久久| 黄色a级片在线观看| 欧美一区国产二区| 国产在线看片| 亚洲aa在线观看| 一本一本久久a久久综合精品| 四虎1515hh.com| 亚洲男同1069视频| 精品久久在线观看| 欧美黑人性视频| 国产伦精品一区二区三区在线播放| 国产freexxxx性播放麻豆| 成人黄色一级视频| 欧美一级视频免费观看| 亚洲精品美女久久久| 青青青免费在线视频| 欧美精品久久| 日韩专区一卡二卡| 九九九视频在线观看| 欧美日韩在线播| 黄在线免费观看| 成人xxxxx色| 99精品视频免费全部在线| 国产福利短视频| 欧洲av一区二区嗯嗯嗯啊| 免费av网站在线看| 亚洲xxx视频| 亚洲精品九九| 真实乱视频国产免费观看 | 午夜精品久久久久久久99| 久久久久久97| 九九在线精品| 中文字幕精品一区二区三区在线| 伊人色综合久久天天| 黄色成人一级片| 日韩免费不卡av| 91久久夜色精品国产按摩| 欧美熟妇精品一区二区| 狠狠操狠狠色综合网| 国产黄色在线| 91精品久久久久久蜜桃| 国产精品综合色区在线观看| 天天干天天操天天拍| 欧美一级片在线看| 男女羞羞在线观看| 无码免费一区二区三区免费播放 | 无遮挡aaaaa大片免费看| 欧美日韩你懂得| 成人在线高清免费| 日韩免费三级| 国产精品一区二区在线看| 国产情侣自拍av| 精品国产依人香蕉在线精品| 国产精品对白| 国产野外作爱视频播放| 亚洲午夜久久久久| 9191在线观看| 精品视频在线观看| 国产一区二区在线电影| 国产精品一区二区三区四| 久热精品视频在线观看| 久久91成人| 日韩av手机在线播放| 欧美精品国产精品|