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

在SpringBoot中自定義指標(biāo)并使用Prometheus監(jiān)控報(bào)警

開(kāi)發(fā) 前端
在/data/prometheus/alertmanager目錄下,新增告警模板notify-template.tmpl,此目錄映射到altermanager 的/etc/alertmanager目錄,模板包含告警和自愈兩部分,2006-01-02 15:04:05是go語(yǔ)言的日志格式,固定值,加28800e9表示轉(zhuǎn)換為東八區(qū)時(shí)間,即北京時(shí)間。

在10 分鐘教你使用Prometheus監(jiān)控Spring Boot工程中介紹了如何使用Prometheus監(jiān)控Spring Boot提供的默認(rèn)指標(biāo),這篇介紹如何自定義業(yè)務(wù)指標(biāo),并使用Prometheus進(jìn)行監(jiān)控并報(bào)警,同時(shí)在 Grafana 進(jìn)行展現(xiàn)

示例介紹

我們模擬一個(gè)賬務(wù)系統(tǒng),主要功能有:充值與提現(xiàn),其中會(huì)定義5 個(gè)業(yè)務(wù)指標(biāo),如下

  • 充值次數(shù)
  • 充值金額
  • 提現(xiàn)次數(shù)
  • 提現(xiàn)金額
  • 余額

針對(duì)以上5 業(yè)務(wù)指標(biāo),會(huì)使用prometheus的三種Metrics類型,如下

  1. Counter:只增不減的計(jì)數(shù)器,用作定義充值次數(shù)、提現(xiàn)次數(shù)
  2. Gauge:可增可減的儀表盤(pán),側(cè)重于反應(yīng)系統(tǒng)的當(dāng)前狀態(tài),用作定義余額
  3. Summary:用于記錄某些東西的平均大小,也可以計(jì)算總和,用作定義充值金額、提現(xiàn)金額

最終我們對(duì)以上指標(biāo)進(jìn)行 grafana 進(jìn)行展現(xiàn),同時(shí)對(duì)余額小于500 進(jìn)行告警通知,效果如下

圖片圖片

圖片圖片

監(jiān)控與驗(yàn)證

Spring Boot 工程配置

  1. 添加 maven 依賴
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
  1. 在application.properties,開(kāi)啟監(jiān)控的端點(diǎn)
#監(jiān)控的端點(diǎn)
management.endpoints.web.exposure.include=*
#應(yīng)用程序名稱,在prometheus 上會(huì)顯示
management.metrics.tags.applicatinotallow=${spring.application.name}
#tomcat 指標(biāo)需要開(kāi)啟
server.tomcat.mbeanregistry.enabled=true
  1. 編寫(xiě)業(yè)務(wù)代碼,提供體現(xiàn)和充值方法,并在init方法中定義五個(gè)業(yè)務(wù)指標(biāo),使用了三種Metrics類型
@Service
@Slf4j
public class AccountServiceImpl implements IAccountService {
    @Autowired
    private MeterRegistry registry;
    //入金筆數(shù)
    private Counter depositCounter; 
    // 出金筆數(shù)
    private Counter withdrawCounter; 
   //入金金額
    private DistributionSummary depositAmountSummary;
   // 出金金額
    private DistributionSummary withdrawAmountSummary; 
   //余額
    private BigDecimal balance = new BigDecimal(1000);

    @PostConstruct
    private void init() {
        depositCounter = registry.counter("deposit_counter", "currency", "btc");
        withdrawCounter = registry.counter("withdraw_counter", "currency", "btc");
        depositAmountSummary = registry.summary("deposit_amount", "currency", "btc");
        withdrawAmountSummary = registry.summary("withdraw_amount", "currency", "btc");
        Gauge.builder("balanceGauge", () -> balance)
                .tags("currency", "btc")
                .description("余額")
                .register(registry);
    }


    @Override
    // 充值操作
    public void depositOrder(BigDecimal amount) {
        log.info("depositOrder amount:{}", amount);
        try {
            //余額增加
            balance = balance.add(amount);
            //充值筆數(shù)埋點(diǎn)
            depositCounter.increment();
            //充值金額埋點(diǎn)
            depositAmountSummary.record(amount.doubleValue());

        } catch (Exception e) {
            log.info("depositOrder error", e);
        } finally {
            log.info("depositOrder result:{}", amount);
        }
    }

    @Override
    //提現(xiàn)操作
    public void withdrawOrder(BigDecimal amount) {
        log.info(" withdrawOrder amount:{}", amount);
        try {
            if (balance.subtract(amount).compareTo(BigDecimal.ZERO) < 0) {
                throw new Exception("提現(xiàn)金額不足,提現(xiàn)失敗");
            }
            //余額減少
            balance = balance.subtract(amount);
            // 提現(xiàn)筆數(shù)埋點(diǎn)數(shù)據(jù)
            withdrawCounter.increment();
            // 提現(xiàn)金額埋點(diǎn)
            withdrawAmountSummary.record(amount.doubleValue());
        } catch (Exception e) {
            log.info("withdrawOrder error", e);
        } finally {
            log.info("withdrawOrder result:{}", amount);
        }
    }

}
  1. Controller 方法,定義了充值和提現(xiàn)接口
@RestController
@RequestMapping(ControllerConstants.PATH_PREFIX + "/account")
public class AccountController {

    @Autowired
    IAccountService accountService;

    /**
     * 充值
     */
    @RequestMapping(value = "/deposit", method = RequestMethod.GET)
    public void deposit(@RequestParam("amount") BigDecimal amount) {
        accountService.depositOrder(amount);
    }

    /**
     * 提現(xiàn)
     */
    @RequestMapping(value = "/withdraw", method = RequestMethod.GET)
    public void withdraw(@RequestParam("amount") BigDecimal amount) {
        accountService.withdrawOrder(amount);
    }

}
  1. 啟動(dòng)服務(wù)查看,訪問(wèn)actuator/prometheus接口,如果能查詢以下指標(biāo)則配置成功
##充值筆數(shù)
deposit_counter_total
## 充值總金額
deposit_amount_sum
##提現(xiàn)筆數(shù)
withdraw_counter_total
##提現(xiàn)總金額
withdraw_amount_sum
## 余額
balanceGauge

Promethues 配置

在prometheus.yml文件中進(jìn)行配置業(yè)務(wù)系統(tǒng)采集點(diǎn),5s 拉取一次指標(biāo),由于prometheus server 部署在docker 中,所以訪問(wèn)主機(jī)IP 用host.docker.internal

#業(yè)務(wù)系統(tǒng)監(jiān)控          
  - job_name: 'SpringBoot'
    # Override the global default and
    scrape_interval: 5s
    metrics_path: '/actuator/prometheus'
    static_configs:
      - targets: ['host.docker.internal:8080']

圖片圖片

告警規(guī)則配置,在容器啟動(dòng)時(shí)用主機(jī)的/data/prometheus目錄映射到容器的/prometheus目錄,因此在主機(jī)/data/prometheus/目錄創(chuàng)建rules文件夾,并創(chuàng)建告警文件business-alert.rules,這里告警對(duì)余額小于 500 則進(jìn)行告警

groups:
- name: businessAlert
  rules:
  - alert: balanceAlert
    expr: balanceGauge{applicatinotallow="backend"} < 500
    for: 20s
    labels:
      severity: page
      team: g2park
    annotations:
      summary: "{{ $labels.currency }} balance is insufficient "
      description: "{{ $labels.currency }} balance : {{ $value }}"

啟動(dòng)Prometheus,進(jìn)行驗(yàn)證,查詢采集目標(biāo),已生效

圖片圖片

查詢充值次數(shù),已采集點(diǎn)擊Alters,可以看到業(yè)務(wù)告警已經(jīng)生效

AlterManager配置

在/data/prometheus/alertmanager目錄下,新增告警模板notify-template.tmpl,此目錄映射到altermanager 的/etc/alertmanager目錄,模板包含告警和自愈兩部分,2006-01-02 15:04:05是go語(yǔ)言的日志格式,固定值,加28800e9表示轉(zhuǎn)換為東八區(qū)時(shí)間,即北京時(shí)間

{{ define "test.html" }} 
{{- if gt (len .Alerts.Firing) 0 -}}
{{ range .Alerts }}
<h1 align="left" style="color:red;">告警</h1>
<pre>
告警級(jí)別: {{ .Labels.severity }} 級(jí) <br>
告警類型: {{ .Labels.alertname }} <br>
故障主機(jī): {{ .Labels.instance }} <br>
告警主題: {{ .Annotations.summary }} <br>
告警詳情: {{ .Annotations.description }} <br>
告警時(shí)間:{{ (.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}<br>  
</pre>
{{ end }}
{{ end }}
{{- if gt (len .Alerts.Resolved) 0 -}}
{{ range .Alerts }}
<h1 align="left" style="color:green;">恢復(fù)</h1>
<pre>
告警名稱:{{ .Labels.alertname }}<br>
告警級(jí)別:{{ .Labels.severity }}<br>
告警機(jī)器:{{ .Labels.instance }}<br>
告警主題:{{ .Annotations.summary }}<br>
告警主題:{{ .Annotations.description }}<br>
告警時(shí)間:{{ (.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}<br> 
恢復(fù)時(shí)間:{{ (.EndsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}<br> 
</pre>
{{- end }}
{{- end }}
{{- end }}

修改alertmanager.yml為以下內(nèi)容,替換對(duì)應(yīng)賬號(hào)即可

global:
  smtp_smarthost: smtp.qq.com:465
  smtp_from: 9238223@qq.com
  smtp_auth_username: 9238223@qq.com
  smtp_auth_identity: 9238223@qq.com
  smtp_auth_password: 123
  smtp_require_tls: false
templates: #添加模板
  - '/etc/alertmanager/notify-template.tmpl'   #指定路徑    
route:
  group_by: ['alertname']
  receiver: 'default-receiver'
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 1h
receivers:
  - name: default-receiver
    email_configs:
      - to: abc123@foxmail.com
        html: '{{ template "test.html" . }}'
        send_resolved: true
        headers: { Subject: "系統(tǒng)監(jiān)控告警{{- if gt (len .Alerts.Resolved) 0 -}}恢復(fù){{ end }}" }

global: 這是一個(gè)全局配置部分,用于配置全局的Alertmanager設(shè)置。

route: 用于配置警報(bào)的路由規(guī)則。

receivers: 接收者部分,用于配置接收告警通知的收件人。

  • to: abc123@foxmail.com: 這是收件人的郵件地址,即接收警報(bào)通知的郵箱地址。
  • send_resolved: true: 這是一個(gè)布爾值,指示是否發(fā)送已解決的警報(bào)通知。在這個(gè)例子中,設(shè)置為true,表示發(fā)送已解決的警報(bào)通知。
  • name: default-receiver: 這是默認(rèn)接收者的名稱。
  • email_configs: 用于指定接收郵件通知的收件人和其他相關(guān)設(shè)置。
  • group_by: ['alertname']: 這是一個(gè)標(biāo)簽列表,用于按照警報(bào)名稱(alertname)進(jìn)行分組。
  • receiver: 'default-receiver': 這是指定默認(rèn)接收者的名稱,即接收警報(bào)通知的收件人。
  • group_wait: 30s: 在發(fā)送警報(bào)通知前等待的時(shí)間,以便將相同的警報(bào)分組在一起。
  • group_interval: 5m: 這是發(fā)送同一組警報(bào)通知之間的最小時(shí)間間隔。
  • repeat_interval: 1h: 這是在重復(fù)發(fā)送未解決的警報(bào)通知之前等待的時(shí)間間隔。
  • smtp_smarthost: 這是SMTP服務(wù)器的地址和端口,用于發(fā)送郵件通知。
  • smtp_from: 這是郵件發(fā)送方的郵件地址,即發(fā)送郵件的地址。

啟動(dòng)Altermanager,進(jìn)行驗(yàn)證

docker start alertmanager

訪問(wèn)stauts,如果出現(xiàn)以下結(jié)果則成功

告警驗(yàn)證,系統(tǒng)默認(rèn)余額為1000,調(diào)用backend/account/withdraw提現(xiàn)接口,使余額降至500,進(jìn)行報(bào)警

圖片

等待20s 左右,prometheus 收到報(bào)警會(huì)推送至Altermanager

圖片圖片

Altermanager則會(huì)根據(jù)我們配置時(shí)間等待 30s,進(jìn)行通知告警

圖片圖片

自愈驗(yàn)證,調(diào)用充值backend/account/deposit接口,使余額大于500,等待6m 左右會(huì)收到自愈告警,如果嫌時(shí)間比較長(zhǎng),修改alertmanager.yml中  group_wait、group_interval參數(shù)值即可

Grafana配置

啟動(dòng) Grafana,點(diǎn)擊新增面板,創(chuàng)建三種圖表,分別為余額走勢(shì)、提現(xiàn)與充值金額占比、提現(xiàn)與充值筆數(shù)走勢(shì)圖,如下

圖片圖片

余額走勢(shì),報(bào)表類型為Stat

sum(balanceGauge{applicatinotallow="backend"})

圖片圖片

提現(xiàn)與充值金額占比,報(bào)表類型為Pie chart

withdraw_amount_sum{applicatinotallow="backend"}
deposit_amount_sum{applicatinotallow="backend"}

提現(xiàn)與充值筆數(shù)走勢(shì)圖,報(bào)表類型為T(mén)ime series

increase(deposit_counter_total{applicatinotallow="backend"}[5m])
increase(withdraw_counter_total{applicatinotallow="backend"}[5m])

總結(jié)

以上介紹了如何在Spring Boot中自定義業(yè)務(wù)指標(biāo)以及對(duì)指標(biāo)進(jìn)行監(jiān)控和告警,希望對(duì)你所幫助,注意以上示例只是為了簡(jiǎn)單便于理解才是這樣寫(xiě),真實(shí)使用中,指標(biāo)可以與數(shù)據(jù)庫(kù)或者緩存進(jìn)行結(jié)合,比如余額報(bào)警,調(diào)用查詢余額接口即可。

責(zé)任編輯:武曉燕 來(lái)源: 架構(gòu)成長(zhǎng)指南
相關(guān)推薦

2021-03-26 20:37:14

Prometheus監(jiān)控指標(biāo)

2021-10-28 08:39:22

Node Export自定義 監(jiān)控

2020-12-14 10:26:48

Prometheus 監(jiān)控Services

2023-09-06 08:46:47

2022-05-19 08:21:02

vmalert監(jiān)控

2021-05-28 08:58:41

Golang網(wǎng)卡metrics

2022-07-08 08:00:31

Prometheus監(jiān)控

2022-05-12 08:01:26

vmagentprometheus

2011-06-15 09:24:36

Qt Widget Model

2011-06-20 16:54:40

Qt Widget model

2023-03-26 08:41:37

2022-05-11 10:45:21

SpringMVC框架Map

2021-03-16 10:39:29

SpringBoot參數(shù)解析器

2022-11-23 15:26:25

Ubuntu程序塢

2015-06-10 10:54:24

自定義路PHP

2021-08-09 10:31:33

自定義授權(quán)響應(yīng)

2023-05-28 13:11:43

Plotly指標(biāo)圖表

2021-10-14 08:07:33

Go 應(yīng)用Prometheus監(jiān)控

2022-02-26 19:16:08

Promoter報(bào)警通知監(jiān)控圖表

2023-11-01 08:01:04

SpringWeb容器
點(diǎn)贊
收藏

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

乱妇乱女熟妇熟女网站| 国产精品99免视看9| 任你躁av一区二区三区| 性欧美18~19sex高清播放| 日本一区二区免费在线观看视频| 成人亚洲欧美一区二区三区| 国产真实的和子乱拍在线观看| 免费看成人哺乳视频网站| 欧美乱妇20p| 狠狠干 狠狠操| 免费**毛片在线| 成人午夜精品在线| 国产欧美一区二区三区四区| 青青草av在线播放| 亚洲成人精选| 亚洲午夜色婷婷在线| 国产xxx在线观看| 中日韩脚交footjobhd| 亚洲另类在线制服丝袜| 日韩亚洲一区在线播放| 日韩在线观看视频一区| 国产一区欧美一区| 国产精品美女网站| 成人午夜视频在线播放| 欧美午夜电影在线观看 | 国产精品无码一区二区三| 中文字幕综合| 在线中文字幕一区二区| 国产一区二区在线视频播放| 香蕉成人app免费看片| 国产精品久久三区| 日韩精品国内| 国产尤物视频在线| 99精品久久久久久| 国产精品毛片一区视频| 成人黄色免费视频| 国产在线精品视频| 国产精品一区二区在线| 午夜精品免费观看| 性色一区二区三区| 91成品人片a无限观看| 久久久久无码国产精品| 欧美成人有码| 欧美成人四级hd版| 国产盗摄x88av| 欧美激情1区2区| 久久福利视频网| 国产一二三区精品| 亚洲激情五月| 欧美乱妇高清无乱码| 成年人av电影| 国内精品嫩模av私拍在线观看| 不卡av在线网站| 91嫩草丨国产丨精品| 久久久久国产| 欧美xxxx18国产| 妺妺窝人体色www婷婷| 欧美国产高清| 韩国欧美亚洲国产| 日韩在线观看第一页| 久久福利一区| 国产精品久久综合av爱欲tv| 中文字幕无线码一区| 美女脱光内衣内裤视频久久网站 | 日本在线xxx| 理论不卡电影大全神| 欧美午夜视频一区二区| 老头吃奶性行交视频| 开心久久婷婷综合中文字幕| 这里只有精品视频在线观看| 深夜视频在线观看| 国产精品白丝av嫩草影院| 日韩高清av在线| 色噜噜噜噜噜噜| 在线看片不卡| 97超碰国产精品女人人人爽| 国产99免费视频| 狠狠狠色丁香婷婷综合激情| 国产精品播放| 国产三级视频在线播放线观看| 中文子幕无线码一区tr| 无码人妻aⅴ一区二区三区日本| 日本片在线看| 日韩欧美精品免费在线| 色啦啦av综合| 黄色欧美在线| 日韩在线精品一区| 国产亚洲精久久久久久无码77777| 国产美女一区| 成人黄色免费看| 老熟妇高潮一区二区高清视频| 久久综合色一综合色88| 中文字幕超清在线免费观看| 美女91在线看| 91超碰这里只有精品国产| 亚洲天堂小视频| 嫩草影视亚洲| 欧美日韩国产va另类| 无码视频在线观看| 国产福利精品一区| 日韩久久久久久久久久久久久| 欧美日韩经典丝袜| 在线观看一区二区视频| 高清中文字幕mv的电影| 日韩一区三区| 欧美亚洲国产成人精品| www.日韩在线观看| 国产精品素人视频| 欧美日韩亚洲一| 深夜福利一区二区三区| 国产亚洲一区二区精品| 不卡的免费av| 国产一区二区三区综合| 亚洲国产欧美一区二区三区不卡| 24小时免费看片在线观看| 在线不卡欧美精品一区二区三区| 亚洲av无码国产精品久久| 99久久精品费精品国产风间由美 | av动漫在线播放| 国产精品久久久久久妇女| 日韩av综合网站| 久久高清无码视频| 激情偷乱视频一区二区三区| 欧美在线播放一区二区| 国产美女高潮在线观看| 日韩欧美区一区二| 熟女av一区二区| 免费高清不卡av| 欧美一区二区视频17c| 国产精选在线| 亚洲国产精品一区二区三区| 青青草偷拍视频| 国内精品国产三级国产a久久| 视频一区二区在线| 欧美三区四区| 一本色道久久88综合日韩精品| aaa人片在线| 99久久精品免费看国产| www.亚洲视频.com| 粉嫩av一区二区| 久久久久久国产| 天天干天天摸天天操| 亚洲高清久久久| 最新版天堂资源在线| 悠悠资源网久久精品| 国产欧美亚洲日本| 在线观看爽视频| 亚洲美女www午夜| 免费的毛片视频| 久久精品人人做人人爽97| 欧洲av无码放荡人妇网站| 网友自拍一区| 日韩免费观看在线观看| 成人免费在线观看| 欧美日韩午夜在线视频| 欧美性x x x| 国产69精品一区二区亚洲孕妇| 精品无码国产一区二区三区av| 福利在线一区| 欧美亚洲成人网| 国产爆初菊在线观看免费视频网站| 在线影视一区二区三区| 在线观看日本黄色| 国产乱人伦偷精品视频免下载 | 欧美aaa级片| 国产在线视频一区二区| 国产美女在线一区| 亚洲男人都懂第一日本| 国产美女91呻吟求| 18av在线播放| 国产午夜精品理论片a级探花| 亚洲精品91天天久久人人| 国产精品理伦片| 亚洲一区和二区| 亚洲资源av| 一本色道久久99精品综合| 日韩第一区第二区| 欧美一级高清免费| 秋霞影院午夜丰满少妇在线视频| 日韩欧美国产综合一区 | 精品亚洲成av人在线观看| 佐佐木明希av| 一道在线中文一区二区三区| 国产精品直播网红| 大香伊人久久| 在线亚洲欧美视频| 91精品国产欧美一区二区| 亚洲女人毛茸茸高潮| 国产老妇另类xxxxx| 国产乱子伦农村叉叉叉| 国产jzjzjz丝袜老师水多| 有码一区二区三区| 亚洲男人在线天堂| 老司机午夜精品| 免费观看美女裸体网站| 日本女优一区| 国产自产精品| 天天综合91| 青草青草久热精品视频在线网站| 麻豆免费在线观看| 国产视频精品在线| av中文字幕在线免费观看| 一本一本大道香蕉久在线精品| 国产精品 欧美激情| 国产视频一区二区三区在线观看| xxxx视频在线观看| 蜜臀av一区二区在线免费观看| 国内精品在线观看视频| 91成人免费| 亚洲 日韩 国产第一区| 九九热hot精品视频在线播放| 国产主播喷水一区二区| 成人影院av| 高清欧美性猛交| 成人在线播放| 在线观看日韩av| 天堂在线中文| 亚洲国产精品免费| a级片在线视频| 欧美日本视频在线| 成年人视频免费| 欧美性色视频在线| 日韩精品一区三区| 亚洲一区欧美一区| 国产免费久久久久| 国产精品嫩草影院com| 天堂久久精品忘忧草| av一区二区不卡| 日本50路肥熟bbw| 国产成人精品一区二区三区四区| 黄色一级片免费的| 老司机午夜精品99久久| 九热视频在线观看| 日韩激情在线观看| 无码人妻丰满熟妇区毛片18| 亚洲一区日韩| 黄色影院一级片| 国产精品主播| 久久久久久久久久久久久国产精品| 亚洲麻豆av| 亚洲熟妇av日韩熟妇在线| 在线电影一区| 国产69精品久久久久久久| 亚洲国产99| 极品美女扒开粉嫩小泬| 宅男噜噜噜66国产日韩在线观看| 免费不卡av在线| 一本久道久久综合婷婷鲸鱼| 国产老熟妇精品观看| 国产日韩欧美一区在线| 啊啊啊一区二区| 久久久噜噜噜久久狠狠50岁| 欧美日韩亚洲一二三| 日韩在线卡一卡二| 在线观看岛国av| 国内成人精品2018免费看| av在线网站免费观看| 国产成人啪午夜精品网站男同| 91成人在线观看喷潮蘑菇| 成人av资源在线| 亚洲第一香蕉网| 欧美激情综合在线| 九九精品视频免费| 亚洲综合偷拍欧美一区色| 国产高潮久久久| 欧美又粗又大又爽| 国产免费黄色片| 精品久久久久一区二区国产| 天天av综合网| 在线播放日韩欧美| 影音先锋在线播放| 性视频1819p久久| 久久xxx视频| 91久久国产综合久久91精品网站 | 97超碰人人在线| 日韩视频免费大全中文字幕| 色帝国亚洲欧美在线| 17婷婷久久www| 婷婷激情成人| 国产精品视频福利| 精品少妇av| 青青青在线观看视频| 日韩影院免费视频| 国产又黄又嫩又滑又白| 99久久国产综合精品麻豆| 久久日免费视频| 午夜久久久久久| 中文 欧美 日韩| 久久av综合| 日本午夜精品一区二区| 亚洲色图88| 日韩欧美精品在线观看视频| 国产精品一区二区久久不卡 | 国产精品剧情在线亚洲| 久操视频免费在线观看| 91福利视频网站| 亚洲女同志亚洲女同女播放| 国产一区二区动漫| 国产探花视频在线观看| 国产精品视频区1| 欧美综合自拍| 2022中文字幕| 精品影视av免费| 无码一区二区三区在线| 亚洲国产日韩精品| 国产一区二区三区成人| 亚洲毛片在线看| 999精品网| 91亚洲一区精品| 精品一区不卡| 东京热加勒比无码少妇| 成人午夜av电影| 神马久久精品综合| 欧美性欧美巨大黑白大战| 性感美女一级片| 欧美激情xxxx| 国产精品亚洲欧美日韩一区在线| 日韩久久在线| 久久美女性网| 自拍视频一区二区| 亚洲图片欧美色图| 精品二区在线观看| xvideos亚洲| 日韩国产大片| 亚洲精蜜桃久在线| 日韩中文字幕亚洲一区二区va在线| 成年人的黄色片| 亚洲大片一区二区三区| 丰满少妇在线观看bd| 久久成人精品视频| 成人国产精品一区二区网站| 亚洲三区四区| 久久激情五月婷婷| 992在线观看| 欧美军同video69gay| 在线观看h片| 国产精品美乳一区二区免费| 精品国产一级毛片| 国产免费999| 国产精品另类一区| 亚洲天堂中文在线| 久久久国产视频| 欧美电影院免费观看| 超碰97在线看| 成人午夜视频免费看| 日本五十路女优| 日韩电视剧在线观看免费网站| 福利在线免费视频| 久久av一区二区三区亚洲| 免费在线欧美黄色| 国产肥白大熟妇bbbb视频| 在线观看精品一区| 91在线网址| 亚洲一区免费网站| 亚洲午夜电影| 国产中文字幕一区二区| 色综合一个色综合亚洲| av在线第一页| 91麻豆国产精品| 国产精品大片| 国产精品伦子伦| 色噜噜偷拍精品综合在线| 在线日本中文字幕| 91嫩草视频在线观看| 夜久久久久久| 国产农村妇女精品一区| 日韩一级成人av| 华人av在线| 欧美午夜欧美| 韩国视频一区二区| 久久精品国产亚洲AV无码麻豆| 亚洲精品在线看| 久久久久久一区二区三区四区别墅| 在线免费观看成人| 成人高清视频在线| 超碰在线免费97| 欧美成aaa人片免费看| 香蕉久久精品| 爱豆国产剧免费观看大全剧苏畅 | 国产亚洲欧美在线| 国产精品久久久久久免费| 欧美激情综合色| 成人羞羞网站| 无码人妻精品一区二区三| 色域天天综合网| www国产在线观看 | 亚洲a在线视频| 草草影院第一页| 欧美一区二区三区免费观看视频| 台湾佬中文娱乐网欧美电影| 夜夜爽www精品| av在线不卡免费看| 一本到在线视频| 538国产精品一区二区在线| 999国产精品| 日韩人妻无码一区二区三区| 欧美一级午夜免费电影| 亚洲第一会所| 亚洲熟妇国产熟妇肥婆| 亚洲美女偷拍久久|