亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

SpringBoot四大神器之Actuator的使用小結

2024-07-13 10:14:00
字體:
來源:轉載
供稿:網友

Spring Boot有四大神器,分別是auto-configuration、starters、cli、actuator,本文主要講actuator。actuator是spring boot提供的對應用系統的自省和監控的集成功能,可以對應用系統進行配置查看、相關功能統計等。

spring-boot-starter-actuator模塊的實現對于實施微服務的中小團隊來說,可以有效地減少監控系統在采集應用指標時的開發量。當然,它也并不是萬能的,有時候我們也需要對其做一些簡單的擴展來幫助我們實現自身系統個性化的監控需求。下面,在本文中,我們將詳解的介紹一些關于spring-boot-starter-actuator模塊的內容,包括它的原生提供的端點以及一些常用的擴展和配置方式。

使用actuator

添加依賴

    <dependency>      <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-starter-actuator</artifactId>    </dependency>

主要暴露的功能

 

HTTP方法 路徑 描述 鑒權
GET /autoconfig 查看自動配置的使用情況 true
GET /configprops 查看配置屬性,包括默認配置 true
GET /beans 查看bean及其關系列表 true
GET /dump 打印線程棧 true
GET /env 查看所有環境變量 true
GET /env/{name} 查看具體變量值 true
GET /health 查看應用健康指標 false
GET /info 查看應用信息 false
GET /mappings 查看所有url映射 true
GET /metrics 查看應用基本指標 true
GET /metrics/{name} 查看具體指標 true
POST /shutdown 關閉應用 true
GET /trace 查看基本追蹤信息 true

 

/autoconfig

{  "positiveMatches": {    "AuditAutoConfiguration.AuditEventRepositoryConfiguration": [      {        "condition": "OnBeanCondition",         "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.audit.AuditEventRepository; SearchStrategy: all) found no beans"      }    ]  },   "negativeMatches": {    "CacheStatisticsAutoConfiguration": [      {        "condition": "OnBeanCondition",         "message": "@ConditionalOnBean (types: org.springframework.cache.CacheManager; SearchStrategy: all) found no beans"      }    ]  }}

/configprops

{  "management.health.status.CONFIGURATION_PROPERTIES": {    "prefix": "management.health.status",     "properties": {      "order": null    }  },   "multipart.CONFIGURATION_PROPERTIES": {    "prefix": "multipart",     "properties": {      "enabled": false,       "maxRequestSize": "10Mb",       "location": null,       "fileSizeThreshold": "0",       "maxFileSize": "1Mb"    }  },   "environmentEndpoint": {    "prefix": "endpoints.env",     "properties": {      "id": "env",       "enabled": true,       "sensitive": true    }  }}

/beans

[  {    "context": "application:8080",     "parent": null,     "beans": [      {        "bean": "appMain",         "scope": "singleton",         "type": "com.xixicat.AppMain$$EnhancerBySpringCGLIB$$29382b14",         "resource": "null",         "dependencies": [ ]      },       {        "bean": "videoInfoMapper",         "scope": "singleton",         "type": "com.xixicat.dao.VideoInfoMapper",         "resource": "file [/Users/xixicat/workspace/video-uber/target/classes/com/xixicat/dao/VideoInfoMapper.class]",         "dependencies": [          "sqlSessionFactory"        ]      }    ]  }]

/dump

[  {    "threadName": "Signal Dispatcher",     "threadId": 4,     "blockedTime": -1,     "blockedCount": 0,     "waitedTime": -1,     "waitedCount": 0,     "lockName": null,     "lockOwnerId": -1,     "lockOwnerName": null,     "inNative": false,     "suspended": false,     "threadState": "RUNNABLE",     "stackTrace": [ ],     "lockedMonitors": [ ],     "lockedSynchronizers": [ ],     "lockInfo": null  },   {    "threadName": "Reference Handler",     "threadId": 2,     "blockedTime": -1,     "blockedCount": 217,     "waitedTime": -1,     "waitedCount": 9,     "lockName": "java.lang.ref.Reference$Lock@45de945",     "lockOwnerId": -1,     "lockOwnerName": null,     "inNative": false,     "suspended": false,     "threadState": "WAITING",     "stackTrace": [      {        "methodName": "wait",         "fileName": "Object.java",         "lineNumber": -2,         "className": "java.lang.Object",         "nativeMethod": true      },       {        "methodName": "wait",         "fileName": "Object.java",         "lineNumber": 503,         "className": "java.lang.Object",         "nativeMethod": false      },       {        "methodName": "run",         "fileName": "Reference.java",         "lineNumber": 133,         "className": "java.lang.ref.Reference$ReferenceHandler",         "nativeMethod": false      }    ],     "lockedMonitors": [ ],     "lockedSynchronizers": [ ],     "lockInfo": {      "className": "java.lang.ref.Reference$Lock",       "identityHashCode": 73263429    }  }]

/env

{ profiles: [], server.ports: {  local.server.port: 8080 }, servletContextInitParams: {}, systemProperties: {  java.runtime.name: "Java(TM) SE Runtime Environment",   sun.boot.library.path: "/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib",   java.vm.version: "24.79-b02",   gopherProxySet: "false",   maven.multiModuleProjectDirectory: "/Users/xixicat/workspace/video-uber",   java.vm.vendor: "Oracle Corporation",   java.vendor.url: "http://java.oracle.com/",   guice.disable.misplaced.annotation.check: "true",   path.separator: ":",   java.vm.name: "Java HotSpot(TM) 64-Bit Server VM",   file.encoding.pkg: "sun.io",   user.country: "CN",   sun.java.launcher: "SUN_STANDARD",   sun.os.patch.level: "unknown",   PID: "763",   java.vm.specification.name: "Java Virtual Machine Specification",   user.dir: "/Users/xixicat/workspace/video-uber",   java.runtime.version: "1.7.0_79-b15",   java.awt.graphicsenv: "sun.awt.CGraphicsEnvironment",   java.endorsed.dirs: "/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib/endorsed",   os.arch: "x86_64",   java.io.tmpdir: "/var/folders/tl/xkf4nr61033gd6lk5d3llz080000gn/T/",   line.separator: " ",   java.vm.specification.vendor: "Oracle Corporation",   os.name: "Mac OS X",   classworlds.conf: "/Users/xixicat/devtool/maven-3.3.3/bin/m2.conf",   sun.jnu.encoding: "UTF-8",   spring.beaninfo.ignore: "true",   java.library.path: "/Users/xixicat/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.",   java.specification.name: "Java Platform API Specification",   java.class.version: "51.0",   sun.management.compiler: "HotSpot 64-Bit Tiered Compilers",   os.version: "10.10.5",   user.home: "/Users/xixicat",   user.timezone: "Asia/Shanghai",   java.awt.printerjob: "sun.lwawt.macosx.CPrinterJob",   file.encoding: "UTF-8",   java.specification.version: "1.7",   java.class.path: "/Users/xixicat/devtool/maven-3.3.3/boot/plexus-classworlds-2.5.2.jar",   user.name: "xixicat",   java.vm.specification.version: "1.7",   sun.java.command: "org.codehaus.plexus.classworlds.launcher.Launcher spring-boot:run",   java.home: "/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre",   sun.arch.data.model: "64",   user.language: "zh",   java.specification.vendor: "Oracle Corporation",   awt.toolkit: "sun.lwawt.macosx.LWCToolkit",   java.vm.info: "mixed mode",   java.version: "1.7.0_79",   java.ext.dirs: "/Users/xixicat/Library/Java/Extensions:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib/ext:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java",   sun.boot.class.path: "/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/classes",   java.awt.headless: "true",   java.vendor: "Oracle Corporation",   maven.home: "/Users/xixicat/devtool/maven-3.3.3",   file.separator: "/",   LOG_EXCEPTION_CONVERSION_WORD: "%wEx",   java.vendor.url.bug: "http://bugreport.sun.com/bugreport/",   sun.io.unicode.encoding: "UnicodeBig",   sun.cpu.endian: "little",   sun.cpu.isalist: "" }, systemEnvironment: {  TERM: "xterm-256color",  ZSH: "/Users/xixicat/.oh-my-zsh",  GVM_BROKER_SERVICE: "http://release.gvm.io",  GRIFFON_HOME: "/Users/xixicat/.gvm/griffon/current",  JAVA_MAIN_CLASS_763: "org.codehaus.plexus.classworlds.launcher.Launcher",  JAVA_HOME: "/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home",  SHLVL: "1",  MAVEN_CMD_LINE_ARGS: " spring-boot:run",  __CF_USER_TEXT_ENCODING: "0x1F5:0x19:0x34",  GROOVY_HOME: "/Users/xixicat/.gvm/groovy/current",  XPC_FLAGS: "0x0",  GVM_INIT: "true",  JBAKE_HOME: "/Users/xixicat/.gvm/jbake/current",  PWD: "/Users/xixicat/workspace/video-uber",  GVM_DIR: "/Users/xixicat/.gvm",  GVM_VERSION: "2.4.3",  MAVEN_PROJECTBASEDIR: "/Users/xixicat/workspace/video-uber",  LOGNAME: "xixicat",  SSH_AUTH_SOCK: "/private/tmp/com.apple.launchd.93xr1duECQ/Listeners",  SPRINGBOOT_HOME: "/Users/xixicat/.gvm/springboot/current",  GAIDEN_HOME: "/Users/xixicat/.gvm/gaiden/current",  LAZYBONES_HOME: "/Users/xixicat/.gvm/lazybones/current",  OLDPWD: "/Users/xixicat/workspace/video-uber",  SHELL: "/bin/zsh",  JBOSSFORGE_HOME: "/Users/xixicat/.gvm/jbossforge/current",  LC_CTYPE: "zh_CN.UTF-8",  TMPDIR: "/var/folders/tl/xkf4nr61033gd6lk5d3llz080000gn/T/",  GVM_SERVICE: "http://api.gvmtool.net",  GVM_PLATFORM: "Darwin",  CLASSPATH: ".:/Users/xixicat/.m2/repository/co/paralleluniverse/quasar-core/0.7.2/quasar-core-0.7.2.jar",  GLIDE_HOME: "/Users/xixicat/.gvm/glide/current",  PATH: "/Users/xixicat/.gvm/vertx/current/bin:/Users/xixicat/.gvm/springboot/current/bin:/Users/xixicat/.gvm/lazybones/current/bin:/Users/xixicat/.gvm/jbossforge/current/bin:/Users/xixicat/.gvm/jbake/current/bin:/Users/xixicat/.gvm/groovyserv/current/bin:/Users/xixicat/.gvm/groovy/current/bin:/Users/xixicat/.gvm/griffon/current/bin:/Users/xixicat/.gvm/grails/current/bin:/Users/xixicat/.gvm/gradle/current/bin:/Users/xixicat/.gvm/glide/current/bin:/Users/xixicat/.gvm/gaiden/current/bin:/Users/xixicat/.gvm/crash/current/bin:/Users/xixicat/.gvm/asciidoctorj/current/bin:/Users/xixicat/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/Users/xixicat/devtool/maven-3.3.3/bin:/Users/xixicat/devtool/gradle-2.6/bin:/Users/xixicat/devtool/android-sdk/platform-tools",  GRADLE_HOME: "/Users/xixicat/.gvm/gradle/current",  GROOVYSERV_HOME: "/Users/xixicat/.gvm/groovyserv/current",  GRAILS_HOME: "/Users/xixicat/.gvm/grails/current",  USER: "xixicat",  LESS: "-R",  PAGER: "less",  HOME: "/Users/xixicat",  CRASH_HOME: "/Users/xixicat/.gvm/crash/current",  XPC_SERVICE_NAME: "0",  VERTX_HOME: "/Users/xixicat/.gvm/vertx/current",  GVM_BROADCAST_SERVICE: "http://cast.gvm.io",  Apple_PubSub_Socket_Render: "/private/tmp/com.apple.launchd.y6fNwP8Sk6/Render",  LSCOLORS: "Gxfxcxdxbxegedabagacad",  ASCIIDOCTORJ_HOME: "/Users/xixicat/.gvm/asciidoctorj/current" }, applicationConfig: [classpath: /application.properties]: {  pool.acquireIncrement: "1",  pool.minPoolSize: "5",  pool.initialPoolSize: "1",  database.username: "root",  pool.maxIdleTime: "60",  database.url: "jdbc:mysql://127.0.0.1:3307/video_uber?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull",  spring.jackson.dateFormat: "yyyy-MM-dd'T'HH:mm:ss",  database.slave.username: "root",  spring.jackson.serialization.write - dates - as - timestamps: "false",  pool.idleTimeout: "30000",  database.slave.url: "jdbc:mysql://127.0.0.1:3307/demo?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull",  server.port: "8080",  database.slave.password: "******",  database.password: "******",  database.driverClassName: "com.mysql.jdbc.Driver",  pool.maxPoolSize: "50",  database.dataSourceClassName: "com.mysql.jdbc.jdbc2.optional.MysqlDataSource" }}

/health

{ status: "UP", diskSpace: {  status: "UP",  total: 249779191808,  free: 193741590528,  threshold: 10485760 }, db: {  status: "UP",  database: "MySQL",  hello: 1 }}

/info

需要自己在application.properties里頭添加信息,比如

info: contact:  email: xixicat@gmail.com  phone: 0755-82890987

然后請求就可以出來了

{ "contact": {   "phone": "0755-82890987",   "email": "xixicat@gmail.com" }}

/mappings

   {    {     [/metrics || /metrics.json], methods = [GET], produces = [application / json]    }: {     bean: "endpointHandlerMapping",     method: "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"    }, {     [/beans || /beans.json], methods = [GET], produces = [application / json]    }: {     bean: "endpointHandlerMapping",     method: "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"    }, {     [/health || /health.json], produces = [application / json]    }: {     bean: "endpointHandlerMapping",     method: "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.HealthMvcEndpoint.invoke(java.security.Principal)"    }, {     [/info || /info.json], methods = [GET], produces = [application / json]    }: {     bean: "endpointHandlerMapping",     method: "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"    }, {     [/trace || /trace.json], methods = [GET], produces = [application / json]    }: {     bean: "endpointHandlerMapping",     method: "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"    }, {     [/autoconfig || /autoconfig.json], methods = [GET], produces = [application / json]    }: {     bean: "endpointHandlerMapping",     method: "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"    }   }

/metrics

{mem: 499404,mem.free: 257591,processors: 8,instance.uptime: 4284997,uptime: 4294909,systemload.average: 1.84521484375,heap.committed: 437248,heap.init: 262144,heap.used: 179656,heap: 3728384,nonheap.committed: 62848,nonheap.init: 24000,nonheap.used: 62156,nonheap: 133120,threads.peak: 18,threads.daemon: 6,threads.totalStarted: 176,threads: 16,classes: 10294,classes.loaded: 10294,classes.unloaded: 0,gc.ps_scavenge.count: 11,gc.ps_scavenge.time: 405,gc.ps_marksweep.count: 0,gc.ps_marksweep.time: 0,datasource.primary.active: 0,datasource.primary.usage: 0,counter.status.200.autoconfig: 1,counter.status.200.beans: 1,counter.status.200.configprops: 1,counter.status.200.dump: 1,counter.status.200.env: 1,counter.status.200.health: 1,counter.status.200.info: 1,counter.status.200.mappings: 1,gauge.response.autoconfig: 81,gauge.response.beans: 15,gauge.response.configprops: 105,gauge.response.dump: 76,gauge.response.env: 4,gauge.response.health: 43,gauge.response.info: 1,gauge.response.mappings: 4}

/shutdown

要真正生效,得配置文件開啟

endpoints.shutdown.enabled: true

/trace

記錄最近100個請求的信息

[{ "timestamp": 1452955704922, "info": {  "method": "GET",  "path": "/metrics",  "headers": {   "request": {    "Accept - Encoding": "gzip, deflate, sdch",     "Upgrade - Insecure - Requests": "1",     "Accept - Language": "zh-CN,zh;q=0.8,en;q=0.6",     "User - Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36",     "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",     "Connection": "keep-alive",     "Host": "localhost:8080"   },   "response": {    "Content - Type": "application/json; charset=UTF-8",     "X - Application - Context": "application:8080",     "Date": "Sat, 16 Jan 2016 14:48:24 GMT",     "status": "200"   }  } }}, { "timestamp": 1452951489549, "info": {  "method": "GET",  "path": "/autoconfig",  "headers": {   "request": {    "Accept - Encoding": "gzip, deflate, sdch",     "Upgrade - Insecure - Requests": "1",     "Accept - Language": "zh-CN,zh;q=0.8,en;q=0.6",     "User - Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36",     "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",     "Connection": "keep-alive",     "Host": "localhost:8080"   },   "response": {    "Content - Type": "application/json; charset=UTF-8",     "X - Application - Context": "application:8080",     "Date": "Sat, 16 Jan 2016 13:38:09 GMT",     "status": "200"   }  } }}]

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美极品少妇与黑人| 日韩美女免费视频| 精品无码久久久久久国产| 性欧美视频videos6一9| 久久大大胆人体| 136fldh精品导航福利| 亚洲最大的免费| 国产欧美一区二区三区在线看| 国产精品久久97| 高跟丝袜一区二区三区| 国产精品麻豆va在线播放| 中文在线不卡视频| 国产91在线播放九色快色| 亚洲天堂影视av| 国产成人在线一区二区| 97精品国产97久久久久久| 日韩免费观看av| 日韩美女免费线视频| 红桃av永久久久| 欧美资源在线观看| 中文字幕在线国产精品| 国模吧一区二区| 韩国福利视频一区| 91丝袜美腿美女视频网站| 国产成人+综合亚洲+天堂| 精品久久久久久久久久久久久| 国产亚洲欧美aaaa| 欧美性xxxxhd| 91久久久久久久久久久| 97国产精品人人爽人人做| 欧美激情综合色| 国产精品人成电影| 亚洲最大福利视频网| 国产91精品久| 欧美视频在线观看免费网址| 亚洲欧美另类国产| 91精品视频在线播放| 亚洲福利在线视频| 中文字幕亚洲色图| 亚洲黄色成人网| 91精品视频免费观看| 国产成人亚洲综合| 7m精品福利视频导航| 色99之美女主播在线视频| 欧美性猛交丰臀xxxxx网站| 久久久久久亚洲| 91欧美激情另类亚洲| 中文字幕日韩高清| 日韩美女免费线视频| www日韩中文字幕在线看| 欧美成人激情视频| 国产精品久久久久av| 久久av资源网站| 亚洲欧美在线播放| 2024亚洲男人天堂| 欧美情侣性视频| 国产成人精品av| 91在线直播亚洲| 日韩中文字幕不卡视频| 欧美一级电影在线| www.久久撸.com| 亚洲午夜未满十八勿入免费观看全集| 国产精品久久久久久久久久ktv| 亚洲天堂一区二区三区| 欧美猛少妇色xxxxx| 国产精品入口日韩视频大尺度| 国产成人亚洲综合| 免费99精品国产自在在线| 黑人与娇小精品av专区| 成人免费激情视频| 久久久久久久香蕉网| 亚洲免费人成在线视频观看| 日本a级片电影一区二区| 亚洲一区二区三区香蕉| 欧美一级片在线播放| 三级精品视频久久久久| 国产成人一区二区| 狠狠色狠狠色综合日日小说| 国产精品自拍偷拍视频| 欧美有码在线视频| 成人免费xxxxx在线观看| 国产视频福利一区| 久久91亚洲人成电影网站| 国产日产欧美精品| 91精品久久久久久久久久| 久久天天躁夜夜躁狠狠躁2022| 欧美裸体xxxx极品少妇软件| 亚洲国产成人精品久久久国产成人一区| 国产日韩欧美夫妻视频在线观看| 成人a级免费视频| 日日噜噜噜夜夜爽亚洲精品| 日韩电影中文 亚洲精品乱码| 亚洲精品永久免费精品| 日韩av一区在线| 日韩一区二区在线视频| 午夜精品久久久久久久久久久久| 色爱精品视频一区| 国外色69视频在线观看| 亚洲色图激情小说| 欧美老肥婆性猛交视频| 伊人久久大香线蕉av一区二区| 欧美一级淫片丝袜脚交| 国产日韩中文字幕在线| 色婷婷亚洲mv天堂mv在影片| 亚洲综合中文字幕在线| 九九热视频这里只有精品| 欧美日韩激情视频| 亚洲国内精品视频| 欧美日韩亚洲高清| 国产va免费精品高清在线观看| 久久99久久亚洲国产| 亚洲丁香婷深爱综合| 亚洲精品久久久久久久久| 国产精品扒开腿爽爽爽视频| 国产不卡av在线| 成人国内精品久久久久一区| 欧美成人在线影院| 欧美日韩免费区域视频在线观看| 另类图片亚洲另类| 亚洲综合在线播放| 成人免费激情视频| 欧美视频在线看| 亚洲第一区第一页| 欧美在线性视频| 国产亚洲视频在线| 欧美日韩精品中文字幕| 在线播放日韩av| 国产欧美日韩最新| 色噜噜国产精品视频一区二区| 国产精品一区av| 国内伊人久久久久久网站视频| 久久久免费精品| 亚洲人在线观看| 97国产精品人人爽人人做| 欧美国产乱视频| 亚洲剧情一区二区| 欧美老肥婆性猛交视频| 精品视频在线播放| 国产精品视频午夜| 中文字幕欧美日韩在线| 国产精品一二三视频| 国产一区二区丝袜高跟鞋图片| 久久精品91久久香蕉加勒比| 欧美日韩国产999| 日韩精品中文字幕在线播放| 亚洲女成人图区| 一本色道久久综合亚洲精品小说| 97视频在线观看亚洲| 日韩精品亚洲精品| 97在线视频免费看| 一本久久综合亚洲鲁鲁| 国产精品扒开腿做| 久久久久久久久久久人体| 一区国产精品视频| 久热爱精品视频线路一| 色与欲影视天天看综合网| 日本久久精品视频| 亚洲成色999久久网站| 精品久久久久久国产91| 日韩av在线直播| 亚洲美女在线视频| 久久99热这里只有精品国产| 日韩欧美亚洲范冰冰与中字| 18久久久久久|