精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

精品国产av一区二区三区| 亚洲自拍高清视频网站| 免费黄色三级网站| 爱啪啪综合导航| 2014亚洲片线观看视频免费| 国产区精品视频| 国产精品不卡av| 精品日韩欧美一区| 精品美女一区二区| 欧美精品性生活| 手机在线免费看av| 亚洲国产精品成人综合色在线婷婷 | 午夜婷婷国产麻豆精品| 日韩欧美一区二区三区四区五区| jizz中国女人| 美女尤物国产一区| 国产91对白在线播放| 欧美 日韩 国产 一区二区三区| 九九热hot精品视频在线播放| 欧美三级日本三级少妇99| 欧美综合在线播放| 91精选在线| 国产精品久线在线观看| 美乳视频一区二区| 亚洲免费国产视频| 国产一区视频导航| 国产精品一区二区久久久久| 成年人视频在线免费看| 国内在线观看一区二区三区| 最新国产精品亚洲| 无码h肉动漫在线观看| 99a精品视频在线观看| 欧美日韩一区二区三区四区| 97国产精东麻豆人妻电影 | 国产一区国产二区国产三区| 欧美电影免费观看完整版| 亚洲 欧美 日韩系列| 午夜伦理福利在线| 亚洲国产精品久久一线不卡| 欧美性受黑人性爽| 日本视频在线| 国产精品亲子乱子伦xxxx裸| 久久综合精品一区| 日本人妖在线| 99久久综合精品| 国产精品12| 亚洲国产精品视频在线| 国产成人小视频| 92国产精品视频| 国产日韩免费视频| 国产一区二区三区国产| 成人精品视频在线| 国产精品一区二区人人爽| 蜜桃视频在线观看一区| 国产精品亚洲激情| 亚洲专区在线播放| 精品午夜久久福利影院| 91精品国产综合久久香蕉| 91久久精品国产91性色69| 日本成人中文字幕在线视频 | www.久久久.com| 911国产精品| 香蕉网在线视频| 8x国产一区二区三区精品推荐| 欧美变态凌虐bdsm| 一级黄色片毛片| 一本色道久久综合亚洲精品酒店| 亚洲欧美国产精品| 亚洲精品国产精品国自| 日韩黄色大片| 久久天天躁夜夜躁狠狠躁2022| 暗呦丨小u女国产精品| 欧美成人精品| 97在线看免费观看视频在线观看| 中文字幕日韩一级| 久热国产精品| 91精品在线播放| 亚洲第一大网站| 久久久精品国产免费观看同学| 色噜噜狠狠一区二区三区| 欧美激情免费| 午夜精品福利一区二区蜜股av| 欧美日韩在线视频一区二区三区| 素人一区二区三区| 欧美一区二区在线观看| 你懂的在线观看网站| 国产一区毛片| 九九热精品视频| 亚洲欧美综合另类| 久久成人免费电影| 国产亚洲一区在线播放| 韩国精品视频| 亚洲午夜一区二区| www.四虎成人| 日韩中文字幕视频网| 亚洲精品自拍第一页| 男人av资源站| 国产婷婷精品| 91夜夜未满十八勿入爽爽影院| 天堂av在线免费| 中文字幕亚洲一区二区va在线| 国产自产在线视频| 欧美亚洲人成在线| 亚洲精品国产精品乱码不99按摩| 黑人と日本人の交わりビデオ| 在线欧美视频| 国产日韩欧美在线看| 午夜视频免费在线| 一区二区三区四区精品在线视频 | 日韩精品在线影院| 久久国产精品国语对白| 性久久久久久| 国产免费一区| av在线官网| 欧洲一区在线观看| 少妇精品一区二区三区| 欧美精品18| 国产欧美精品一区二区| 欧美日韩国产亚洲沙发| 亚洲午夜精品一区二区三区他趣| 黄色小视频免费网站| 免费毛片在线不卡| 久久久最新网址| 国产不卡精品视频| 国产精品久久久久久久久免费丝袜| 免费欧美一级视频| 中文字幕视频精品一区二区三区| 日韩在线视频观看| 免费在线不卡av| 26uuu亚洲综合色| 成人一区二区免费视频| 欧美精品三级在线| 北条麻妃一区二区三区中文字幕 | 午夜精品福利一区二区| 国产福利电影在线播放| 精品对白一区国产伦| 三级在线观看免费大全| 精品一区二区三区欧美| 日韩在线国产| av成人在线观看| 在线国产精品视频| 波多野结衣二区三区| 91麻豆精品视频| 亚洲色欲综合一区二区三区| 美日韩黄色大片| 97久久伊人激情网| 天堂在线视频免费观看| 亚洲电影在线播放| 青青草视频网站| 亚洲久久视频| 久久亚洲综合网| 97se综合| 最近2019免费中文字幕视频三| 最新中文字幕第一页| 中文字幕av一区二区三区免费看 | 久久午夜国产精品| 免费观看精品视频| 韩日一区二区三区| 国产精品视频最多的网站| 日本在线播放| 日韩欧美一区在线| 日韩精品一区二区三| 99精品欧美一区二区蜜桃免费 | 麻豆91精品视频| 精品日韩在线播放| 国产厕拍一区| 热久久免费国产视频| 国产福利小视频在线观看| 欧美日韩一区二区在线观看| 国产一二三四区| 成人精品在线视频观看| 波多野结衣家庭教师视频| 精品视频国产| 51蜜桃传媒精品一区二区| 超级碰碰不卡在线视频| 国产视频在线观看一区二区| 国产又粗又猛又爽又| 成人欧美一区二区三区1314| 国产在线观看免费播放| 亚洲欧洲综合| 神马影院午夜我不卡| 警花av一区二区三区 | 粉嫩91精品久久久久久久99蜜桃| 北条麻妃久久精品| 日本韩国在线观看| 欧美性色综合网| 免费在线黄色片| 久久久久99精品国产片| av噜噜在线观看| 国产精品久久久免费| 伊人久久大香线蕉成人综合网| 永久免费精品视频| 国产精品美女久久久久av超清| 成a人片在线观看| 亚洲女人天堂成人av在线| 91午夜交换视频| 欧美色视频日本版| 午夜国产福利一区二区| 91女人视频在线观看| 在线视频日韩欧美| 日日夜夜免费精品| 成人av在线不卡| 色135综合网| 精品伦理一区二区三区| 亚洲伊人精品酒店| 国产91色在线免费| 国产美女一区视频| 精品国产一区二区三区四区在线观看 | 午夜亚洲性色视频| 国产91沈先生在线播放| 91久久夜色精品国产按摩| 久久精品国产理论片免费| 狂野欧美xxxx韩国少妇| 国产精品免费一区二区三区都可以 | 久久综合伊人77777麻豆最新章节| 国产精品啊啊啊| 正在播放一区| 国产在线观看91一区二区三区 | 欧美视频在线观看免费| 国产一级性生活| 亚洲欧美日韩在线不卡| 国产真人做爰视频免费| 93久久精品日日躁夜夜躁欧美| 午夜诱惑痒痒网| 蜜桃精品在线观看| 亚洲福利精品视频| 久久中文欧美| 欧美视频第三页| 国产精品毛片在线| 91视频 -- 69xx| 好看的亚洲午夜视频在线| 精品日韩在线播放| 亚洲午夜精品一区二区国产| 亚洲日本japanese丝袜| 成人在线免费观看视频| 日产精品久久久一区二区| 精品一区亚洲| 欧美日韩电影一区二区三区| 日韩人体视频| 美女被啪啪一区二区| 日韩欧美ww| 久久久久久久久久久久久久一区 | 国产精品久久乐| 国产精品高清网站| 国产成人精品一区二区三区免费| 国产精品亚洲精品| 99国内精品久久久久| 91香蕉嫩草影院入口| 欧美h版在线观看| 97超碰资源| 国产欧美自拍一区| 黄色99视频| 国产影视精品一区二区三区| 秋霞久久久久久一区二区| 激情婷婷综合| 一区不卡视频| 中国成人一区| 日韩xxxx视频| 久久精品三级| 香蕉视频999| 国产91精品露脸国语对白| 制服丝袜av在线| 91丨porny丨户外露出| 男女做爰猛烈刺激| 国产精品久久久久四虎| 精品国产乱码久久久久久鸭王1| 亚洲影视在线观看| 国产无遮挡呻吟娇喘视频| 欧美亚洲国产bt| 99久久精品日本一区二区免费 | 亚洲黄色免费| 国产精品动漫网站| 久久99久久99| 日韩无码精品一区二区| 国产女人水真多18毛片18精品视频| 色撸撸在线视频| 亚洲国产一区在线观看| 三级视频在线观看| 欧美高清一级片在线| 欧美熟妇另类久久久久久不卡| 99精品欧美一区二区三区小说 | 亚洲国产不卡| 阿v天堂2018| 久久精品人人| 99热这里只有精品2| 99re这里只有精品首页| 日韩不卡av在线| 亚洲综合久久av| 4438国产精品一区二区| 3751色影院一区二区三区| 天堂网2014av| 日韩网站免费观看| 9999精品成人免费毛片在线看| 国产精品久久久久久搜索| 网站一区二区| 欧美一区二区三区电影在线观看| 一区二区三区网站| 欧美aⅴ在线观看| 国产成人精品免费| 手机看片国产日韩| 欧美日韩国产精品专区| 91麻豆国产视频| 亚洲精品一区中文字幕乱码| 在线你懂的视频| 国产精品一区二区久久| 天堂一区二区三区四区| 欧美一区二区三区综合| 蜜桃av一区二区三区电影| 女尊高h男高潮呻吟| 一区二区三区四区不卡在线| 中文av免费观看| 亚洲精选在线观看| 女同视频在线观看| 91精品国产自产在线观看永久| 亚洲视频分类| 免费人成在线观看视频播放| 精品一区二区三区影院在线午夜| 亚洲专区区免费| 亚洲一区二区三区在线看| 91肉色超薄丝袜脚交一区二区| 亚洲人成电影网站色www| yellow字幕网在线| 99国产在线视频| 午夜国产精品视频| 黄色手机在线视频| 久久久天堂av| 九九热在线视频播放| 欧美本精品男人aⅴ天堂| 粗大黑人巨茎大战欧美成人| 国产精品视频久| 精品产国自在拍| 激情网站五月天| www国产精品av| 日本特级黄色片| 日韩av在线网址| 电影在线观看一区| 国产一级二级三级精品| 在线看片成人| 日韩中文一区| 大乳在线免费观看| 欧美日韩第一视频| 日韩免费成人| 欧美一级特黄aaaaaa在线看片| 精品一区在线看| 91成人福利视频| 日韩欧美一区在线| 欧美人与动牲性行为| 成人性色av| 激情欧美一区| 免费的av网站| 色综合久久88色综合天天| 黄色av网站在线| 国产精品美女主播在线观看纯欲| jiujiure精品视频播放| 五月婷婷六月丁香激情| 亚洲欧洲一区二区三区| 国产农村妇女毛片精品久久| 操日韩av在线电影| 91综合久久爱com| 久激情内射婷内射蜜桃| 久久只精品国产| 日韩国产亚洲欧美| 久久国内精品一国内精品| 国产高清视频一区二区| 台湾无码一区二区| 91毛片在线观看| 精品国产青草久久久久96| 精品激情国产视频| 影音先锋欧美激情| 日本wwww视频| 日韩一区在线看| 亚洲国产精品成人久久蜜臀| 欧美在线播放视频| 色欧美自拍视频| 亚洲少妇一区二区| 欧美日韩国产综合视频在线观看中文| 免费在线超碰| 成人精品网站在线观看| 亚洲久久一区| 手机看片日韩av| 精品久久久久久久久久久久久久久| sm捆绑调教国产免费网站在线观看| 欧洲亚洲一区二区| 国产精品一区二区果冻传媒| 中文字幕亚洲精品在线| 中文字幕欧美专区| 国产极品模特精品一二| 日韩久久一级片| 亚洲三级在线播放| 日韩a级作爱片一二三区免费观看| 国产精品视频自拍| 亚洲三级色网| 97精品在线播放| 亚洲精品国产精品久久清纯直播| 青青在线精品| av7777777| 亚洲精品大片www| 搞黄视频在线观看| 国产精品一区二区三区四区五区| 免费欧美日韩国产三级电影|