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

遠(yuǎn)程寫(xiě)入prometheus存儲(chǔ)

運(yùn)維 系統(tǒng)運(yùn)維
prometheus一般都是采用pull方式獲取數(shù)據(jù),但是有一些情況下,不方便配置exporter,就希望能通過(guò)push的方式上傳指標(biāo)數(shù)據(jù)。

[[410873]]

簡(jiǎn)介

prometheus一般都是采用pull方式獲取數(shù)據(jù),但是有一些情況下,不方便配置exporter,就希望能通過(guò)push的方式上傳指標(biāo)數(shù)據(jù)。

1、可以采用pushgateway的方式,推送到pushgateway,然后prometheus通過(guò)pushgateway拉取數(shù)據(jù)。

2、在新版本中增加了一個(gè)參數(shù):--enable-feature=remote-write-receiver,允許遠(yuǎn)程通過(guò)接口/api/v1/write,直接寫(xiě)數(shù)據(jù)到prometheus里面。

pushgateway在高并發(fā)的情況下還是比較消耗資源的,特別是開(kāi)啟一致性檢查,高并發(fā)寫(xiě)入的時(shí)候特別慢。

第二種方式少了一層轉(zhuǎn)發(fā),速度應(yīng)該比較快。

遠(yuǎn)程寫(xiě)入prometheus存儲(chǔ)

接口

可以通過(guò)prometheus的http接口/api/v1/write提交數(shù)據(jù),這個(gè)接口的數(shù)據(jù)格式有有要求:

  • 使用POST方式提交
  • 需要經(jīng)過(guò)protobuf編碼,依賴github.com/gogo/protobuf/proto
  • 可以使用snappy進(jìn)行壓縮,依賴github.com/golang/snappy

步驟:

  1. 收集指標(biāo)名稱,時(shí)間戳,值和標(biāo)簽
  2. 將數(shù)據(jù)轉(zhuǎn)換成prometheus需要的數(shù)據(jù)格式
  3. 使用proto對(duì)數(shù)據(jù)進(jìn)行編碼,并用snappy進(jìn)行壓縮
  4. 通過(guò)httpClient提交數(shù)據(jù)
  1. package prome 
  2.  
  3. import ( 
  4.     "bufio" 
  5.     "bytes" 
  6.     "context" 
  7.     "io" 
  8.     "io/ioutil" 
  9.     "net/http" 
  10.     "net/url" 
  11.     "regexp" 
  12.     "time" 
  13.  
  14.     "github.com/gogo/protobuf/proto" 
  15.     "github.com/golang/snappy" 
  16.     "github.com/opentracing-contrib/go-stdlib/nethttp" 
  17.     opentracing "github.com/opentracing/opentracing-go" 
  18.     "github.com/pkg/errors" 
  19.     "github.com/prometheus/common/model" 
  20.     "github.com/prometheus/prometheus/pkg/labels" 
  21.     "github.com/prometheus/prometheus/prompb" 
  22.  
  23. type RecoverableError struct { 
  24.     error 
  25.  
  26. type HttpClient struct { 
  27.     url     *url.URL 
  28.     Client  *http.Client 
  29.     timeout time.Duration 
  30.  
  31. var MetricNameRE = regexp.MustCompile(`^[a-zA-Z_:][a-zA-Z0-9_:]*$`) 
  32.  
  33. type MetricPoint struct { 
  34.     Metric  string            `json:"metric"` // 指標(biāo)名稱 
  35.     TagsMap map[string]string `json:"tags"`   // 數(shù)據(jù)標(biāo)簽 
  36.     Time    int64             `json:"time"`   // 時(shí)間戳,單位是秒 
  37.     Value   float64           `json:"value"`  // 內(nèi)部字段,最終轉(zhuǎn)換之后的float64數(shù)值 
  38.  
  39. func (c *HttpClient) remoteWritePost(req []byte) error { 
  40.     httpReq, err := http.NewRequest("POST", c.url.String(), bytes.NewReader(req)) 
  41.     if err != nil { 
  42.         return err 
  43.     } 
  44.     httpReq.Header.Add("Content-Encoding""snappy"
  45.     httpReq.Header.Set("Content-Type""application/x-protobuf"
  46.     httpReq.Header.Set("User-Agent""opcai"
  47.     httpReq.Header.Set("X-Prometheus-Remote-Write-Version""0.1.0"
  48.     ctx, cancel := context.WithTimeout(context.Background(), c.timeout) 
  49.     defer cancel() 
  50.  
  51.     httpReq = httpReq.WithContext(ctx) 
  52.  
  53.     if parentSpan := opentracing.SpanFromContext(ctx); parentSpan != nil { 
  54.         var ht *nethttp.Tracer 
  55.         httpReq, ht = nethttp.TraceRequest( 
  56.             parentSpan.Tracer(), 
  57.             httpReq, 
  58.             nethttp.OperationName("Remote Store"), 
  59.             nethttp.ClientTrace(false), 
  60.         ) 
  61.         defer ht.Finish() 
  62.     } 
  63.  
  64.     httpResp, err := c.Client.Do(httpReq) 
  65.     if err != nil { 
  66.         // Errors from Client.Do are from (for example) network errors, so are 
  67.         // recoverable. 
  68.         return RecoverableError{err} 
  69.     } 
  70.     defer func() { 
  71.         io.Copy(ioutil.Discard, httpResp.Body) 
  72.         httpResp.Body.Close() 
  73.     }() 
  74.  
  75.     if httpResp.StatusCode/100 != 2 { 
  76.         scanner := bufio.NewScanner(io.LimitReader(httpResp.Body, 512)) 
  77.         line := "" 
  78.         if scanner.Scan() { 
  79.             line = scanner.Text() 
  80.         } 
  81.         err = errors.Errorf("server returned HTTP status %s: %s", httpResp.Status, line) 
  82.     } 
  83.     if httpResp.StatusCode/100 == 5 { 
  84.         return RecoverableError{err} 
  85.     } 
  86.     return err 
  87.  
  88. func buildWriteRequest(samples []*prompb.TimeSeries) ([]byte, error) { 
  89.  
  90.     req := &prompb.WriteRequest{ 
  91.         Timeseries: samples, 
  92.     } 
  93.     data, err := proto.Marshal(req) 
  94.     if err != nil { 
  95.         return nil, err 
  96.     } 
  97.     compressed := snappy.Encode(nil, data) 
  98.     return compressed, nil 
  99.  
  100. type sample struct { 
  101.     labels labels.Labels 
  102.     t      int64 
  103.     v      float64 
  104.  
  105. const ( 
  106.     LABEL_NAME = "__name__" 
  107.  
  108. func convertOne(item *MetricPoint) (*prompb.TimeSeries, error) { 
  109.     pt := prompb.TimeSeries{} 
  110.     pt.Samples = []prompb.Sample{{}} 
  111.     s := sample{} 
  112.     s.t = item.Time 
  113.     s.v = item.Value 
  114.     // name 
  115.     if !MetricNameRE.MatchString(item.Metric) { 
  116.         return &pt, errors.New("invalid metrics name"
  117.     } 
  118.     nameLs := labels.Label{ 
  119.         Name:  LABEL_NAME, 
  120.         Value: item.Metric, 
  121.     } 
  122.     s.labels = append(s.labels, nameLs) 
  123.     for k, v := range item.TagsMap { 
  124.         if model.LabelNameRE.MatchString(k) { 
  125.             ls := labels.Label{ 
  126.                 Name:  k, 
  127.                 Value: v, 
  128.             } 
  129.             s.labels = append(s.labels, ls) 
  130.         } 
  131.     } 
  132.  
  133.     pt.Labels = labelsToLabelsProto(s.labels, pt.Labels) 
  134.     // 時(shí)間賦值問(wèn)題,使用毫秒時(shí)間戳 
  135.     tsMs := time.Unix(s.t, 0).UnixNano() / 1e6 
  136.     pt.Samples[0].Timestamp = tsMs 
  137.     pt.Samples[0].Value = s.v 
  138.     return &pt, nil 
  139.  
  140. func labelsToLabelsProto(labels labels.Labels, buf []*prompb.Label) []*prompb.Label { 
  141.     result := buf[:0] 
  142.     if cap(buf) < len(labels) { 
  143.         result = make([]*prompb.Label, 0, len(labels)) 
  144.     } 
  145.     for _, l := range labels { 
  146.         result = append(result, &prompb.Label{ 
  147.             Name:  l.Name
  148.             Value: l.Value, 
  149.         }) 
  150.     } 
  151.     return result 
  152.  
  153. func (c *HttpClient) RemoteWrite(items []MetricPoint) (err error) { 
  154.     if len(items) == 0 { 
  155.         return 
  156.     } 
  157.     ts := make([]*prompb.TimeSeries, len(items)) 
  158.     for i := range items { 
  159.         ts[i], err = convertOne(&items[i]) 
  160.         if err != nil { 
  161.             return 
  162.         } 
  163.     } 
  164.     data, err := buildWriteRequest(ts) 
  165.     if err != nil { 
  166.         return 
  167.     } 
  168.     err = c.remoteWritePost(data) 
  169.     return 
  170.  
  171. func NewClient(ur string, timeout time.Duration) (c *HttpClient, err error) { 
  172.     u, err := url.Parse(ur) 
  173.     if err != nil { 
  174.         return 
  175.     } 
  176.     c = &HttpClient{ 
  177.         url:     u, 
  178.         Client:  &http.Client{}, 
  179.         timeout: timeout, 
  180.     } 
  181.     return 

測(cè)試

prometheus啟動(dòng)的時(shí)候記得加參數(shù)--enable-feature=remote-write-receiver

  1. package prome 
  2.  
  3. import ( 
  4.     "testing" 
  5.     "time" 
  6.  
  7. func TestRemoteWrite(t *testing.T) { 
  8.     c, err := NewClient("http://localhost:9090/api/v1/write", 10*time.Second
  9.     if err != nil { 
  10.         t.Fatal(err) 
  11.     } 
  12.     metrics := []MetricPoint{ 
  13.         {Metric: "opcai1"
  14.             TagsMap: map[string]string{"env""testing""op""opcai"}, 
  15.             Time:    time.Now().Add(-1 * time.Minute).Unix(), 
  16.             Value:   1}, 
  17.         {Metric: "opcai2"
  18.             TagsMap: map[string]string{"env""testing""op""opcai"}, 
  19.             Time:    time.Now().Add(-2 * time.Minute).Unix(), 
  20.             Value:   2}, 
  21.         {Metric: "opcai3"
  22.             TagsMap: map[string]string{"env""testing""op""opcai"}, 
  23.             Time:    time.Now().Unix(), 
  24.             Value:   3}, 
  25.         {Metric: "opcai4"
  26.             TagsMap: map[string]string{"env""testing""op""opcai"}, 
  27.             Time:    time.Now().Unix(), 
  28.             Value:   4}, 
  29.     } 
  30.     err = c.RemoteWrite(metrics) 
  31.     if err != nil { 
  32.         t.Fatal(err) 
  33.     } 
  34.     t.Log("end..."

使用go test進(jìn)行測(cè)試

  1. go test -v 

總結(jié)

這個(gè)方法也是在看夜鶯v5的代碼的時(shí)候發(fā)現(xiàn)的,剛好有需要統(tǒng)一收集redis的監(jiān)控指標(biāo),剛好可以用上,之前用pushgateway寫(xiě)的實(shí)在是慢。

 

責(zé)任編輯:姜華 來(lái)源: 今日頭條
相關(guān)推薦

2022-04-27 08:22:43

Prometheus監(jiān)控數(shù)據(jù)庫(kù)

2023-08-09 08:18:22

2023-03-02 08:00:26

后端存儲(chǔ)InfluxDB

2025-01-03 08:08:56

2021-03-01 10:20:52

存儲(chǔ)

2021-02-22 10:37:47

存儲(chǔ)Prometheus

2018-02-28 14:04:08

RMIJDBC存儲(chǔ)

2012-02-13 10:02:20

虛擬化vmware ESXilinux

2022-07-06 08:02:51

undo 日志數(shù)據(jù)庫(kù)

2020-10-14 08:33:23

Prometheus監(jiān)控體系

2020-08-12 11:11:04

云計(jì)算云存儲(chǔ)存儲(chǔ)

2021-12-22 10:29:23

Prometheus elasticsear運(yùn)維

2021-03-31 08:02:34

Prometheus 監(jiān)控運(yùn)維

2021-08-27 07:06:10

應(yīng)用

2018-04-16 08:44:51

InfluxDB TS時(shí)序數(shù)據(jù)庫(kù)存儲(chǔ)

2022-09-27 09:17:40

數(shù)據(jù)監(jiān)控

2020-04-08 17:27:00

西部數(shù)據(jù)

2021-11-08 09:00:00

PrometheusKubernetes集群

2009-01-11 09:59:30

遠(yuǎn)程服務(wù)摩卡遠(yuǎn)程管理

2025-05-23 08:37:26

點(diǎn)贊
收藏

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

色国产精品一区在线观看| 激情五月婷婷综合网| 日韩国产高清视频在线| 日韩精品一区二区三区色欲av| 男人天堂综合| 另类人妖一区二区av| 久久99久久99精品免观看粉嫩| 手机在线成人av| 久久91视频| 亚洲一二三区在线观看| 色一情一乱一伦一区二区三欧美 | 欧美日韩中文字幕在线| 欧美精品七区| 国产视频www| 久久av最新网址| 久久国产精品久久久久久| 欧美丰满少妇人妻精品| 亚洲成人1区| 丰满岳妇乱一区二区三区| 三年中文高清在线观看第6集| 四季av日韩精品一区| 久久激情五月激情| 热久久99这里有精品| 九九热国产精品视频| 欧美亚洲国产一区| 亚洲黄色www网站| 免费黄色一级网站| 看黄在线观看| 一区二区三区加勒比av| 五月天国产一区| 亚洲色图21p| 成人国产精品免费观看动漫| 成人做爰www免费看视频网站| 日韩一级在线视频| 亚洲青涩在线| 欧美国产在线电影| 国产3级在线观看| 激情五月色综合国产精品| 亚洲а∨天堂久久精品喷水| 成人免费黄色av| 深夜成人福利| 欧美午夜片在线免费观看| 黄色三级中文字幕| 超碰超碰在线| 亚洲视频一二区| 中文字幕成人一区| av在线资源网| 国产蜜臀av在线一区二区三区| 精品视频一区在线| 少妇人妻一区二区| 不卡视频一二三| 国产精品综合久久久久久| 国产成人三级在线播放| 国产一区二区三区久久悠悠色av| 国产欧美久久久久久| 小泽玛利亚一区二区三区视频| 久久在线91| 国产成人涩涩涩视频在线观看| 国产无遮挡呻吟娇喘视频| 99在线|亚洲一区二区| 高清一区二区三区四区五区| 国产午夜精品一区二区理论影院| 激情欧美丁香| 97在线视频一区| 免费在线不卡视频| 午夜亚洲精品| 国产精品成熟老女人| 中文av免费观看| 精品无人码麻豆乱码1区2区| 亚洲中国色老太| 亚洲精品911| 91在线视频播放| 欧美一二三四五区| 色哟哟免费在线观看| 亚洲色欲色欲www| 成年人深夜视频| 深夜福利视频一区二区| 欧美在线一区二区三区| 第一区免费在线观看| 午夜视频在线观看精品中文| 日韩精品一区二区三区swag| 黄色网址在线视频| 精品久久影视| 久久偷看各类女兵18女厕嘘嘘| 久久免费在线观看视频| 午夜一级在线看亚洲| 国产精品爽爽爽| 性生活三级视频| 久久精品夜夜夜夜久久| 久久久国产精华液999999| 免费av不卡在线观看| 色综合视频一区二区三区高清| 91制片厂毛片| 风间由美一区二区av101| 亚洲色图美腿丝袜| 日韩国产第一页| 在线精品一区| 国产精品一区二区三区毛片淫片| wwwav网站| 亚洲国产精华液网站w| 成人国产在线看| 日韩av首页| 精品国产露脸精彩对白| 少妇太紧太爽又黄又硬又爽小说| 欧美二区不卡| 国产精品久久久久久超碰| 精品久久久久成人码免费动漫| 91色porny在线视频| 久久免费视频2| 成人性生活av| 精品欧美一区二区久久| 国产三级在线观看完整版| 激情视频一区| 成人亲热视频网站| 九色在线播放| 亚洲高清久久久| 国产福利精品一区二区三区| 伊人久久大香线蕉| 欧美激情亚洲精品| 国产精品久久久久毛片| 久久精品一区蜜桃臀影院| 国产精品自拍合集| 99热这里有精品| 亚洲欧美综合图区| 日本视频www| 国产一区二三区| 亚洲乱码一区二区三区三上悠亚| 美女91在线看| 精品成人a区在线观看| 26uuu成人网| 日本不卡视频一二三区| 欧美精品久久| 中文字幕在线免费观看视频| 欧美精品一区二区蜜臀亚洲| 欧美另类视频在线观看| 精品亚洲免费视频| 亚洲欧美国产一区二区| 播放一区二区| 国产亚洲欧美日韩美女| 久久久精品福利| 99久久婷婷国产综合精品电影| 97超碰在线视| 日韩08精品| 欧美成在线观看| a级片在线视频| 亚洲精品成人天堂一二三| 三级av免费看| 亚洲老妇激情| 99re在线观看| 后进极品白嫩翘臀在线播放| 日韩欧美另类在线| 欧美丰满艳妇bbwbbw| 国产精品1区二区.| 日本中文字幕一级片| 日韩欧美中文在线观看| 久久国产精彩视频| 亚洲av无码国产精品永久一区 | 久久久久免费看| 国产精品一区二区你懂的| 亚洲区成人777777精品| 精品一区二区三区中文字幕视频 | 咪咪网在线视频| 日韩av网站在线| 日韩一级在线视频 | 青青草手机在线观看| 国产精品羞羞答答xxdd| 青草网在线观看| 日本欧美高清| 国产精品日韩久久久久| 欧美69xxx| 精品少妇一区二区| 国产精品视频久久久久久久| 久久久久国产精品人| 亚洲第一狼人区| 午夜欧美精品| 精品国产综合久久| 日韩欧美一区二区三区免费观看 | 日韩电影天堂视频一区二区| 99亚洲伊人久久精品影院| 久久精品视频在线播放| 亚洲精品一区二区三区区别| 欧美午夜激情小视频| 亚洲欧美精品久久| 风间由美性色一区二区三区| 免费观看日韩毛片| 97人人精品| 国产亚洲欧美另类一区二区三区| 亚洲承认视频| 欧美多人乱p欧美4p久久| 亚洲欧美丝袜中文综合| 欧美另类久久久品| 亚洲精品www久久久久久| 中文字幕乱码一区二区免费| 国产chinesehd精品露脸| 美女视频一区免费观看| 波多野结衣激情| 台湾佬综合网| 91在线免费网站| 范冰冰一级做a爰片久久毛片| 久久综合九色九九| 久久精品国产亚洲a∨麻豆| 91精品国产一区二区三区| 午夜影院在线看| 亚洲三级久久久| 中文字幕国产专区| 国产不卡一区视频| 国产嫩草在线观看| 在线亚洲自拍| 国产香蕉一区二区三区| 欧美人与牛zoz0性行为| 99精品国产一区二区| 巨胸喷奶水www久久久免费动漫| 欧美日韩高清在线观看| a√资源在线| 精品视频www| 性欧美一区二区三区| 在线观看日韩av先锋影音电影院| 精品在线免费观看视频| 中文字幕在线不卡一区| 内射中出日韩无国产剧情| 国产精品系列在线观看| www午夜视频| 日韩在线观看一区二区| 欧美a v在线播放| 极品少妇一区二区三区| 国产免费一区二区三区四在线播放| 久久99国产精品视频| 国产在线一区二区三区播放| 日韩成人久久| 91精品视频在线| 美女视频一区| 国产精品久久久久久久久男| 玛雅亚洲电影| 国产91对白在线播放| 国产www视频在线观看| 米奇精品一区二区三区在线观看| 在线观看h片| 中文字幕国产亚洲| 国产高清免费av在线| 亚洲女人天堂视频| 色吊丝在线永久观看最新版本| 亚洲国产高清高潮精品美女| 黑人乱码一区二区三区av| 欧美一区二区久久| 99久久精品无免国产免费| 欧美一区永久视频免费观看| 97免费观看视频| 91精品蜜臀在线一区尤物| 国产精品视频无码| 91精品免费在线观看| 国产成人精品一区二三区四区五区| 欧美一区二区三区四区五区| av加勒比在线| 欧美一区二区精美| 亚洲av无码一区二区三区dv| 欧美v国产在线一区二区三区| 国产黄色一级大片| 精品国产一区二区三区久久影院 | 极品尤物久久久av免费看| 亚洲毛片在线观看| 国产系列在线观看| 在线观看日韩www视频免费| av在线日韩国产精品| 日日骚久久av| caopo在线| 91精品国产99| 88xx成人免费观看视频库 | 在线综合色站| 国产女人水真多18毛片18精品| 欧洲亚洲视频| 色播亚洲视频在线观看| 国产精品97| 久草免费福利在线| 91久久亚洲| 久久久久久久少妇| 国模大尺度一区二区三区| 无码人妻丰满熟妇啪啪网站| 91视视频在线观看入口直接观看www | 日本一级淫片色费放| 色婷婷精品久久二区二区蜜臀av| 亚洲天堂aaa| 精品国产乱码久久久久久老虎 | 51社区在线成人免费视频| 国产综合动作在线观看| 成人久久综合| 800av在线免费观看| 久久久噜噜噜久久狠狠50岁| jizz18女人| 成av人片一区二区| 免费观看a级片| 亚洲免费观看高清完整版在线观看 | 久久久黄色大片| 欧美日韩精品一区二区| 亚洲av无码片一区二区三区| 亚洲欧洲中文天堂| 在线观看的网站你懂的| 2019中文字幕全在线观看| 日韩电影精品| 久久综合一区| 中文字幕亚洲精品乱码| 国产免费毛卡片| 国产伦精品一区二区三区在线观看| 日韩aaaaa| 亚洲人成精品久久久久| 亚洲视频免费播放| 欧美日韩一级视频| 五月婷婷丁香六月| 久久久www成人免费精品张筱雨| 热色播在线视频| 亚洲www视频| 欧美日韩国产在线观看网站| 男女日批视频在线观看| 久久国产精品色| 特大黑人巨人吊xxxx| 一区二区三区在线播| 91porny九色| 精品国产一区二区国模嫣然| 老司机在线视频二区| 国产va免费精品高清在线| 91蝌蚪精品视频| 樱花www成人免费视频| 久久国产主播| 五月开心播播网| 亚洲无人区一区| 国产美女三级无套内谢| 揄拍成人国产精品视频| 超碰aⅴ人人做人人爽欧美| 不卡视频一区| 黄色不卡一区| 黄色国产小视频| 久久亚洲欧美国产精品乐播| 四虎免费在线视频| 在线播放中文一区| 日韩在线免费电影| 国产精品久久久久久久av大片 | 免费一区二区三区四区| 久久久久久九九| 国产一区二区三区自拍| 中文字幕avav| 亚洲激情图片小说视频| 99国产成人精品| 欧美成在线视频| 中文字幕区一区二区三| japanese在线播放| 国产精品一区二区三区99| 男女做暖暖视频| 91精品国产高清一区二区三区| 九七久久人人| 亚洲精品日韩av| 欧美精品97| 中文字幕乱视频| 亚洲国产精品久久久男人的天堂| 性网爆门事件集合av| 国内精久久久久久久久久人| 国内精品免费| 男人天堂网视频| 久久精品男人天堂av| 国产成人精品一区二区色戒| 在线亚洲欧美视频| 日韩大陆av| 4444亚洲人成无码网在线观看| 国产高清亚洲一区| 国产无遮挡免费视频| 日韩久久免费视频| 91国内外精品自在线播放| 一区二区不卡在线观看| 精品亚洲国产成人av制服丝袜| 国产1区2区3区4区| 亚洲成成品网站| 美女的胸无遮挡在线观看 | 黑丝av在线播放| 色婷婷综合五月| 黄网页免费在线观看| 成人性色av| 免费视频久久| 成人一级黄色大片| 欧美不卡一区二区三区四区| 无码小电影在线观看网站免费| 天堂社区 天堂综合网 天堂资源最新版| 精品一区免费av| 日韩精品视频免费看| 亚洲天堂男人天堂| 国产日韩在线观看视频| 国产69精品久久久久999小说| 国产午夜精品久久| 国产精品欧美激情在线| 久久全球大尺度高清视频| 黄色不卡一区| av电影在线播放| 欧美私模裸体表演在线观看| 在线观看h网| 亚洲v国产v| 成人国产亚洲欧美成人综合网| 日本一区二区三区久久| 国内精品久久久久久影视8| 日本在线电影一区二区三区| 任你躁av一区二区三区| 欧美日韩一区二区在线视频| 日本动漫理论片在线观看网站 | 成人性生交大片免费看视频直播 |