北京网站设计入门,江西省建设协会网站,百度升级最新版本,网站创建公司哪家好〇、虚拟机中docker安装elasticsearch 、Kibana、Logstash elasticsearch导入中文分词器 Logstash修改es数据库ip及创建索引名配置 一、elasticsearch数据库的结构 和mysql作比较#xff0c;mysql中的数据库的二维表相当于es数据库的index索引结构#xff1b;mysql数据库的二… 〇、虚拟机中docker安装elasticsearch 、Kibana、Logstash elasticsearch导入中文分词器 Logstash修改es数据库ip及创建索引名配置 一、elasticsearch数据库的结构 和mysql作比较mysql中的数据库的二维表相当于es数据库的index索引结构mysql数据库的二维表中每一条数据相当于es数据库中的document文档数据。 每个索引有主分片和副分片主分片和副分片数据保持一致类似主从关系。 index索引有不同于二维表的mappings数据结构: document文档数据存放在hits中的hits中 二、使用Kibana图形化界面命令操作es数据库 1查看索引、创建索引及mappings结构、创建文档数据 1查询所有索引 2查看指定索引goods 3创建索引并更改mapping结构 4创建索引文档 5其他命令 2对文档数据的crud操作 3检索操作 三、使用java代码连接操作es数据库 0导入依赖坐标 parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.3.12.RELEASE/version/parentdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-elasticsearch/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactId/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/dependency/dependencies 1创建实体类、并添加注解 Field 添加该注解类似于redis的json数据和实体类对象的属性映射时添加的注解name用来指定映射到es数据库中的字段名称type用来指定映射到es数据库中的类型analyzer用来指定分词器es数据库没有中文分词器需要自行下载。 Document indexName指定创建index索引时的索引名 2添加相关配置文件 别忘记编写启动类 3 在测试类中调用es数据库连接对象elasticsearchRestTemplate ①创建索引 ②增 ③改 ④删 ⑤全字段内容检索 ⑥全部搜索 ⑦匹配搜索 ⑧短语搜索 ⑨范围搜索 ⑩多条件搜索 ⑩①搜索高亮 四、使用Logstash收集日志数据到es数据库中 0依赖坐标 parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.3.12.RELEASE/version
/parentdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdnet.logstash.logback/groupIdartifactIdlogstash-logback-encoder/artifactIdversion6.3/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/dependency
/dependencies 1编写logback.xml文件 ?xml version1.0 encodingUTF-8? !--该日志将日志级别不同的log信息保存到不同的文件中 -- configuration include resourceorg/springframework/boot/logging/logback/defaults.xml / springProperty scopecontext namespringAppName sourcespring.application.name / !-- 日志在工程中的输出位置 -- property nameLOG_FILE value${BUILD_FOLDER:-build}/${springAppName} / !-- 控制台的日志输出样式 -- property nameCONSOLE_LOG_PATTERN value%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}} / !-- 控制台输出 -- appender nameconsole classch.qos.logback.core.ConsoleAppender filter classch.qos.logback.classic.filter.ThresholdFilter levelINFO/level /filter !-- 日志输出编码 -- encoder pattern${CONSOLE_LOG_PATTERN}/pattern charsetutf8/charset /encoder /appender !-- logstash远程日志配置-- appender namelogstash classnet.logstash.logback.appender.LogstashTcpSocketAppender destination192.168.8.128:4560/destination encoder charsetUTF-8 classnet.logstash.logback.encoder.LogstashEncoder / /appender !-- 日志输出级别 -- root levelDEBUG appender-ref refconsole / appender-ref reflogstash / /root /configuration 2添加日志注解 3)kibana查看日志索引文档信息 ①命令查看 ②图形化界面 五、Spring Cloud Sleuth Sleuth是在logback的基础上进行请求追踪和日志记录会标记请求添加一个id。 0依赖坐标 !-- sleuth启动器依赖 --
dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-sleuth/artifactId
/dependency
!-- logstash相关依赖用于应用中的Sleuth将采集的跟踪数据发送给logstash使用 --
dependencygroupIdnet.logstash.logback/groupIdartifactIdlogstash-logback-encoder/artifactIdversion5.0/version
/dependency 1修改logback.xml配置文件encoder标签 ?xml version1.0 encodingUTF-8?
!--该日志将日志级别不同的log信息保存到不同的文件中 --
configurationinclude resourceorg/springframework/boot/logging/logback/defaults.xml /springProperty scopecontext namespringAppNamesourcespring.application.name /!-- 日志在工程中的输出位置 --property nameLOG_FILE value${BUILD_FOLDER:-build}/${springAppName} /!-- 控制台的日志输出样式 --property nameCONSOLE_LOG_PATTERNvalue%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}} /!-- 控制台输出 --appender nameconsole classch.qos.logback.core.ConsoleAppenderfilter classch.qos.logback.classic.filter.ThresholdFilterlevelINFO/level/filter!-- 日志输出编码 --encoderpattern${CONSOLE_LOG_PATTERN}/patterncharsetutf8/charset/encoder/appender!-- logstash远程日志配置--appender namelogstash classnet.logstash.logback.appender.LogstashTcpSocketAppenderdestination192.168.222.128:4560/destinationencoderclassnet.logstash.logback.encoder.LoggingEventCompositeJsonEncoderproviderstimestamptimeZoneUTC/timeZone/timestamppatternpattern{severity: %level,service: ${springAppName:-},trace: %X{X-B3-TraceId:-},span: %X{X-B3-SpanId:-},exportable: %X{X-Span-Export:-},pid: ${PID:-},thread: %thread,class: %logger{40},rest: %message}/pattern/pattern/providers/encoder/appender!-- 日志输出级别 --root levelDEBUGappender-ref refconsole /appender-ref reflogstash //root
/configuration六、Spring Cloud Zipkin Zipkin和Sleuth集成提供请求追踪响应时间的可视化界面 -1)创建docker容器运行Zipkin服务器 0)依赖坐标 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-zipkin/artifactId
/dependency 1删除logback.xml 2)访问http://192.168.222.128:9411/zipkin