当前位置: 首页 > news >正文

安徽论坛网站建设网站开发方式有哪些

安徽论坛网站建设,网站开发方式有哪些,在合肥做网站前端月薪大概多少,id链接wordpress文章目录 前言一、日志组件介绍 1.1 Loki组件1.2 Loki4j组件1.3 Grafana 二、组件下载安装运行 Loki下载安装运行Grafana下载安装运行 三、创建springboot项目总结 前言 日志在任何一个web应用中都是不可忽视的存在#xff0c;它已经成为大部分系统的标准组成部分。搭建日志…文章目录 前言一、日志组件介绍 1.1 Loki组件1.2 Loki4j组件1.3 Grafana 二、组件下载安装运行 Loki下载安装运行Grafana下载安装运行 三、创建springboot项目总结 前言 日志在任何一个web应用中都是不可忽视的存在它已经成为大部分系统的标准组成部分。搭建日志可视化的主要目的是为了更好地理解和管理应用程序产生的大量日志数据。日志数据对于了解系统的运行状态、诊断问题以及优化性能至关重要。笔者之前有一篇文章有介绍搭建ELK日志可视化系统但是这个日志系统太重太麻烦安装的东西很多本文介绍一款新的轻量级日志系统基本组成部分为这几个组件——springbootLokiLoki4jGrafana下面笔者分别介绍Loki、Loki4j、Grafana这几个组件然后创建一个简单的springboot项目来演示如何集成使用这几个组件搭建一个轻量级的日志系统。 本文源码仓库地址Gitee 本文涉及到的组件资源已全部上传请于文章顶部下载 一、日志组件介绍 1.1 Loki组件 Loki 是一个开源的日志聚合系统由 Grafana Labs 开发和维护。Loki 的设计目标是提供一种高效、可扩展的方式来收集、索引和查询结构化日志数据。Loki 专注于日志数据与传统的日志管理系统如 ELK Stack相比它采用了不同的方法来处理日志数据。 Loki 的特点 标签查询 Loki 使用类似于 Prometheus 的标签查询模型允许用户通过标签来过滤和聚合日志数据。这种模型非常适合大规模的日志数据查询和分析。 无索引日志存储 Loki 不对原始日志数据进行全文索引而是将日志数据按流存储并使用标签来标识每个流。这种方法降低了存储成本并提高了查询性能。 水平可扩展性 Loki 能够水平扩展通过增加更多的节点来处理更多的日志数据。这使得 Loki 非常适合处理大规模的日志数据集。 高可用性 Loki 支持高可用性部署可以配置多个实例来确保数据的持久性和服务的连续性。 多租户支持 Loki 支持多租户部署不同的组织或团队可以在同一套基础设施上独立管理自己的日志数据。 与 Grafana 集成 Loki 与 Grafana 紧密集成可以直接在 Grafana 中查询和可视化 Loki 中的日志数据。这使得 Loki 成为了 Grafana 生态系统的一个重要组成部分。 低资源消耗 相比于 ELK StackLoki 对资源的需求较低更适合中小规模的团队使用。 Loki 的架构 Loki 的架构主要包括以下几个组件 Loki Server 主服务器负责接收日志数据、存储数据和处理查询。 Promtail 一个轻量级的日志代理用于收集日志文件并将日志数据发送给 Loki。 Grafana 用于查询和显示 Loki 中的日志数据的界面。 Storage Loki 使用对象存储如 S3 或 GCS来持久化日志数据以降低存储成本。 使用场景 Loki 特别适用于以下场景 大规模日志收集适用于需要处理大量日志数据的环境。实时日志查询需要快速查询和分析日志数据的场景。低成本日志存储希望降低日志存储成本的项目。 总之Loki 是一个现代的日志管理系统它简化了日志数据的收集、存储和查询过程特别适合那些需要高性能、可扩展性和成本效益的日志管理解决方案。 1.2 Loki4j组件 Loki4j 是一个基于 Java 的日志框架它提供了一种简单的方式来将日志数据发送到 Loki。Loki4j 旨在与 Loki 日志聚合系统无缝集成使得 Java 应用程序能够轻松地将日志数据发送到 Loki 以进行集中管理和分析。 Loki4j 的特点 易于集成 Loki4j 提供了一个简单的 API可以很容易地与现有的 Java 应用程序集成。支持 SLF4J 和 Logback 等流行的 Java 日志框架。 标签支持 Loki4j 支持 Loki 的标签查询模型允许用户在日志消息中添加标签以便更好地组织和查询日志数据。 异步日志记录 Loki4j 支持异步日志记录可以提高应用程序的性能因为它不会阻塞应用程序线程。 配置灵活 Loki4j 提供了灵活的配置选项可以根据需要定制日志级别、日志格式等。 错误处理 Loki4j 包含了错误处理机制可以处理网络问题或其他异常情况确保日志数据能够可靠地发送到 Loki。 1.3 Grafana Grafana 是一款开源的数据可视化和分析平台主要用于可视化时间和序列数据如监控指标、日志文件、应用程序跟踪等。它支持多种数据源包括Prometheus、InfluxDB、MySQL、PostgreSQL、Elasticsearch、CloudWatch、Graphite等以及自定义数据源。Grafana被广泛应用于IT基础架构监控、应用性能监控(APM)、物联网(IoT)数据分析、业务指标监控等多个领域。 主要特点 直观的界面Grafana提供了一个用户友好的界面用于创建和编辑仪表盘使得数据可视化变得非常简单无需编程知识。 丰富的图表类型支持多种图表类型如折线图、柱状图、饼图、热力图、仪表盘、表格等适合不同类型的视觉展示需求。 动态和交互式面板面板可以配置为具有时间选择器、下拉菜单、查询编辑器等交互元素使用户能更灵活地探索数据。 报警功能Grafana支持基于规则的报警系统当数据达到预设的阈值时可以通过电子邮件、Slack、PagerDuty等多种方式发送通知。 注释和事件用户可以在图表上添加注释记录特定时间点发生的重要事件有助于理解数据波动的原因。 模板变量通过使用模板变量可以创建动态仪表盘允许用户在不修改仪表盘的情况下快速切换查看不同数据源或视角。 插件生态Grafana拥有强大的社区支持提供了大量的数据源插件、面板插件和应用插件大大扩展了其功能和适用场景。 API和脚本支持Grafana提供了完善的API接口允许用户通过脚本和外部应用自动化创建和管理仪表盘、数据源和用户权限。 团队协作和权限管理支持多用户访问可以为不同用户或团队分配不同的权限促进团队间的协作。 应用场景 IT运维监控实时监控服务器性能、网络流量、应用程序健康状况等。 业务分析展现用户行为、销售数据、营销活动效果等业务指标。 物联网数据可视化分析设备传感器数据监控物联网系统运行状态。 日志分析结合Loki等日志管理系统进行日志数据的实时查询和可视化展示。 Grafana凭借其灵活性和易用性成为了数据分析和监控领域的首选工具之一帮助企业更好地理解数据、发现问题和制定决策。 二、组件下载安装运行 笔者是在windows系统下演示所用的组件都是windows系统下的linux系统中安装配置自行网上搜索教程即可。 Loki下载安装运行 下载地址Loki下载地址 把下载的loki-windows-amd64.exe.zip压缩包解压得到loki-windows-amd64.exe文件进入这个文件中可以看到有一个可执行的程序不用去点点了也会闪退创建一个config文件夹 再进入config文件夹中创建loki-config.yaml配置文件文件内容如下 server:# Loki 服务监听的 HTTP 端口号http_listen_port: 3100schema_config:configs:- from: 2024-07-01# 使用 BoltDB 作为索引存储store: boltdb# 使用文件系统作为对象存储object_store: filesystem# 使用 v11 版本的 schemaschema: v11index:# 索引前缀prefix: index_# 索引周期为 24 小时period: 24hingester:lifecycler:# 设置本地 IP 地址address: 127.0.0.1ring:kvstore:# 使用内存作为 kvstorestore: inmemory# 复制因子设置为 1replication_factor: 1# 生命周期结束后的休眠时间final_sleep: 0s# chunk 的空闲期为 5 分钟chunk_idle_period: 5m# chunk 的保留期为 30 秒chunk_retain_period: 30sstorage_config:boltdb:# BoltDB 的存储路径directory: D:softwareloki-windows-amd64.exeBoltDBfilesystem:# 文件系统的存储路径directory: D:softwareloki-windows-amd64.exeileStorelimits_config:# 不强制执行指标名称enforce_metric_name: false# 拒绝旧样本reject_old_samples: true# 最大拒绝旧样本的年龄为 168 小时reject_old_samples_max_age: 168h# 每个用户每秒的采样率限制为 32 MBingestion_rate_mb: 32# 每个用户允许的采样突发大小为 64 MBingestion_burst_size_mb: 64chunk_store_config:# 最大可查询历史日期为 28 天672 小时这个时间必须是 schema_config 中 period 的倍数否则会报错max_look_back_period: 672htable_manager:# 启用表的保留期删除功能retention_deletes_enabled: true# 表的保留期为 28 天672 小时retention_period: 672h注意yaml文件中的 BoltDB 的存储路径和 文件系统的存储路径这个自行替换为自己的路径 yaml文件内容保存好后使用cmd进入 loki-windows-amd64.exe可执行程序所在目录下执行下面的启动命令这个启动命令是以后启动Loki组件的专用命令指定了配置文件 loki-windows-amd64.exe --config.fileconfig/loki-config.yaml执行结果如下 下面的这几个文件夹都是根据配置自动生成的 注意yaml配置文件配置的Loki监听端口号如下这个记好后面集成时需要使用 # Loki 服务监听的 HTTP 端口号http_listen_port: 3100Grafana下载安装运行 下载地址Grafana下载 把下载后的压缩文件夹grafana-enterprise-11.1.0.windows-amd64.zip解压得到grafana-v11.1.0文件进入bin目录找到grafana-server.exe程序双击运行 会自动弹出一个cmd窗口打印出花花绿绿的日志信息很好看 程序运行成功后访问http://localhost:3000初始账户 admin/admin 登录后需重置密码笔者没有改变密码还是使用原来的下面是登录进去后的操作 添加Loki数据源 选择添加数据源后出现了很多数据源找到Loki点击即可 设置名称和监听的数据源地址 之前安装Loki配置文件里设置的http://localhost:3100 设置Header和Value HeaderX-Scope-OrgID Valueuser1 save test 注意如果savetest报错可能是Loki服务初始化还未完成验证Loki初始化是否完成访问http://localhost:3100/ready如果显示ready即初始化完成 三、创建springboot项目 添加pom依赖 !--Loki 日志收集--dependencygroupIdcom.github.loki4j/groupIdartifactIdloki-logback-appender/artifactIdversion1.5.1/version/dependency!--Loki 日志发送http请求和响应工具--dependencygroupIdorg.apache.httpcomponents/groupIdartifactIdhttpclient/artifactIdversion4.5.13/version/dependency在Resources文件夹下创建**logback-spring.xml**文件 ?xml version1.0 encodingUTF-8? configuration!-- 彩色控制台控制 --substitutionProperty namelog.pattern value%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p) ${PID:-} %clr(---){faint} %clr(%-80.80logger{79}){cyan} %clr(:){faint} %m%n%wEx/substitutionProperty namelog.pattern.no value%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p) ${PID:-} %clr(---){faint} %clr(%-80.80logger{79}){cyan} %clr(:){faint} %m%n%wEx/conversionRule conversionWordclr converterClassorg.springframework.boot.logging.logback.ColorConverter/conversionRule conversionWordwex converterClassorg.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter/conversionRule conversionWordwEx converterClassorg.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter/springProperty scopecontext nameLOG_FILE_DIR sourcelogback.log-file-dir defaultValuelog/!-- 控制台输出 --appender nameSTDOUT classch.qos.logback.core.ConsoleAppenderencoder classch.qos.logback.classic.encoder.PatternLayoutEncoderpattern${log.pattern}/pattern/encoder/appenderspringProperty scopecontext nameurl sourceloki.url defaultValuehttp://localhost:3100/loki/api/v1/push/springProperty scopecontext nameenv sourceloki.label.env defaultValuedev/springProperty scopecontext namejobName sourceloki.label.job-name defaultValuemy-app/springProperty scopecontext namehostIp sourceloki.label.host-ip defaultValuelocalhost/springProperty scopecontext nameorgId sourceloki.org-id defaultValuedefault-org/appender nameLOKI classcom.github.loki4j.logback.Loki4jAppenderhttp classcom.github.loki4j.logback.ApacheHttpSenderurl${url}/urltenantId${orgId}/tenantId/httpformatlabelpatternapplication${jobName},env${env},host${hostIp},level%level/pattern/labelmessagepattern{timestamp: %d{yyyy-MM-dd HH:mm:ss.SSS}, level: %level, logger: %logger{36}, thread: %thread, message: %msg%n}/pattern/messagesortByTimetrue/sortByTime/format/appender!-- 使用异步方式将日志推送至Loki --appender nameASYNC_LOKI classch.qos.logback.classic.AsyncAppender!-- 队列大小设置根据实际需要调整 --queueSize512/queueSize!-- 丢弃策略当队列满时采取的操作 --discardingThreshold0/discardingThresholdneverBlocktrue/neverBlock!-- 实际的Loki Appender --appender-ref refLOKI //appenderappender namefileInfoLog classch.qos.logback.core.rolling.RollingFileAppenderfilter classch.qos.logback.classic.filter.LevelFilterlevelERROR/levelonMatchDENY/onMatchonMismatchACCEPT/onMismatch/filterencoder classch.qos.logback.classic.encoder.PatternLayoutEncoderpattern${log.pattern.no}/pattern/encoder!--滚动策略--rollingPolicy classch.qos.logback.core.rolling.TimeBasedRollingPolicy!--路径--fileNamePattern${LOG_FILE_DIR}/info.%d.log/fileNamePattern!--保留30天日志--maxHistory30/maxHistory/rollingPolicy/appenderappender namefileErrorLog classch.qos.logback.core.rolling.RollingFileAppenderfilter classch.qos.logback.classic.filter.ThresholdFilterlevelERROR/level/filterencoder classch.qos.logback.classic.encoder.PatternLayoutEncoderpattern${log.pattern.no}/pattern/encoder!--滚动策略--rollingPolicy classch.qos.logback.core.rolling.TimeBasedRollingPolicy!--路径--fileNamePattern${LOG_FILE_DIR}/error.%d.log/fileNamePattern!--保留30天日志--maxHistory30/maxHistory/rollingPolicy/appenderroot levelinfoappender-ref refSTDOUT /appender-ref reffileInfoLog /appender-ref reffileErrorLog /appender-ref refASYNC_LOKI //root/configurationapplication.yml配置文件内容如下 spring:application:name: Grafana-Project# Loki 日志配置 loki:# Loki 服务的 URL用于推送日志数据url: http://localhost:3100/loki/api/v1/push# 标签配置用于标识日志来源的额外信息label:# 环境标签标识当前运行的环境例如开发环境env: dev# 服务名称标签标识日志来源的服务名称job-name: my-service# 主机 IP 标签标识日志来源的主机 IP 地址host-ip: localhost# 组织 ID用于多租户环境中标识日志所属的组织org-id: user1启动类加上如下日志 启动后去Grafana查询日志信息 由上图可以看到日志已经发送到Grafana了但是只有log方式记录的才会控制台输出的不会记录 注意刚启动组件时后台需要一定时间加载这时候是无法记录日志的。 总结 本篇文章详细介绍了使用springbootLokiLoki4jGrafana搭建轻量级日志系统的步骤整体环境为windows环境Linux环境下的组件安装配置也类似。
http://www.w-s-a.com/news/889409/

相关文章:

  • 做仿站如何获取网站源码windows2012做网站
  • 网站建设最好的公司东莞外贸网站
  • 普兰店网站建设一般做网站什么价格
  • 网站建设的发展目标甘肃网站设计公司
  • 常州西站建设规划室内装修设计学校哪里好
  • 大连网站制作选择ls15227如何编辑网站
  • 网站发稿平台迪士尼网站是谁做的
  • 常州有哪些好的网站建设案例wordpress 360 插件
  • 模板网站有后台么柳城网站建设
  • 地方门户网站制作一级做c爱片的网站
  • 自己上传图片做动漫图网站北京福田汽车
  • 一级a做爰片免费网站录像ps做网站图片水印
  • 网页广告投放成都优化推广公司
  • 网站开发 印花税网页制作站点
  • 创建个人网站有什么好处国外建站系统
  • 桂林学校网站制作2018年网站设计公司
  • 建网站不想用怎样撤销搜狗收录提交入口网址
  • 做简单网站需要学什么软件有哪些南通优普网站建设
  • 网站排版尺寸湖北交投建设集团集团网站
  • 南京网站设计公司有哪些公司看动漫是怎么做视频网站
  • vs做网站怎么做窗体怎么在电脑上自己做网站吗
  • 做网站应该学什么网站编程 外包类型
  • 双鱼儿 网站建设站群系统哪个好用
  • 怎样自己做刷赞网站电商设计需要学什么软件有哪些
  • 关注城市建设网站居众装饰
  • 网站建设的语言优化企业网站
  • 成都旅游网站建设规划女性门户资讯类网站织梦dedecms模板
  • 二手车为什么做网站网站建设合作合同范文
  • 网站建设维护和网页设计做网站都需要服务器吗
  • 成都网站设计报告书系统平台