国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

社交媒體 網(wǎng)站網(wǎng)址seo關鍵詞

社交媒體 網(wǎng)站,網(wǎng)址seo關鍵詞,加急網(wǎng)站備案,廣州企業(yè)網(wǎng)站建設費用文章目錄 前言一、日志組件介紹 1.1 Loki組件1.2 Loki4j組件1.3 Grafana 二、組件下載安裝運行 Loki下載安裝運行Grafana下載安裝運行 三、創(chuàng)建springboot項目總結 前言 日志在任何一個web應用中都是不可忽視的存在,它已經(jīng)成為大部分系統(tǒng)的標準組成部分。搭建日志…
文章目錄
  • 前言
  • 一、日志組件介紹
    • 1.1 Loki組件
    • 1.2 Loki4j組件
    • 1.3 Grafana
  • 二、組件下載安裝運行
    • Loki下載安裝運行
    • Grafana下載安裝運行
  • 三、創(chuàng)建springboot項目
  • 總結

前言

日志在任何一個web應用中都是不可忽視的存在,它已經(jīng)成為大部分系統(tǒng)的標準組成部分。搭建日志可視化的主要目的是為了更好地理解和管理應用程序產(chǎn)生的大量日志數(shù)據(jù)。日志數(shù)據(jù)對于了解系統(tǒng)的運行狀態(tài)、診斷問題以及優(yōu)化性能至關重要。筆者之前有一篇文章有介紹搭建ELK日志可視化系統(tǒng),但是這個日志系統(tǒng)太重太麻煩,安裝的東西很多,本文介紹一款新的輕量級日志系統(tǒng),基本組成部分為這幾個組件——springboot+Loki+Loki4j+Grafana,下面筆者分別介紹Loki、Loki4j、Grafana這幾個組件,然后創(chuàng)建一個簡單的springboot項目,來演示如何集成使用這幾個組件搭建一個輕量級的日志系統(tǒng)。

本文源碼倉庫地址:Gitee

本文涉及到的組件資源已全部上傳,請于文章頂部下載


一、日志組件介紹

1.1 Loki組件

Loki 是一個開源的日志聚合系統(tǒng),由 Grafana Labs 開發(fā)和維護。Loki 的設計目標是提供一種高效、可擴展的方式來收集、索引和查詢結構化日志數(shù)據(jù)。Loki 專注于日志數(shù)據(jù),與傳統(tǒng)的日志管理系統(tǒng)(如 ELK Stack)相比,它采用了不同的方法來處理日志數(shù)據(jù)。

Loki 的特點

  • 標簽查詢

    • Loki 使用類似于 Prometheus 的標簽查詢模型,允許用戶通過標簽來過濾和聚合日志數(shù)據(jù)。
    • 這種模型非常適合大規(guī)模的日志數(shù)據(jù)查詢和分析。
  • 無索引日志存儲

    • Loki 不對原始日志數(shù)據(jù)進行全文索引,而是將日志數(shù)據(jù)按流存儲,并使用標簽來標識每個流。
    • 這種方法降低了存儲成本,并提高了查詢性能。
  • 水平可擴展性

    • Loki 能夠水平擴展,通過增加更多的節(jié)點來處理更多的日志數(shù)據(jù)。
    • 這使得 Loki 非常適合處理大規(guī)模的日志數(shù)據(jù)集。
  • 高可用性

    • Loki 支持高可用性部署,可以配置多個實例來確保數(shù)據(jù)的持久性和服務的連續(xù)性。
  • 多租戶支持

    • Loki 支持多租戶部署,不同的組織或團隊可以在同一套基礎設施上獨立管理自己的日志數(shù)據(jù)。
  • 與 Grafana 集成

    • Loki 與 Grafana 緊密集成,可以直接在 Grafana 中查詢和可視化 Loki 中的日志數(shù)據(jù)。
    • 這使得 Loki 成為了 Grafana 生態(tài)系統(tǒng)的一個重要組成部分。
  1. 低資源消耗
    • 相比于 ELK Stack,Loki 對資源的需求較低,更適合中小規(guī)模的團隊使用。

Loki 的架構

Loki 的架構主要包括以下幾個組件:

  1. Loki Server

    • 主服務器,負責接收日志數(shù)據(jù)、存儲數(shù)據(jù)和處理查詢。
  2. Promtail

    • 一個輕量級的日志代理,用于收集日志文件并將日志數(shù)據(jù)發(fā)送給 Loki。
  3. Grafana

    • 用于查詢和顯示 Loki 中的日志數(shù)據(jù)的界面。
  4. Storage

    • Loki 使用對象存儲(如 S3 或 GCS)來持久化日志數(shù)據(jù),以降低存儲成本。

使用場景

Loki 特別適用于以下場景:

  • 大規(guī)模日志收集:適用于需要處理大量日志數(shù)據(jù)的環(huán)境。
  • 實時日志查詢:需要快速查詢和分析日志數(shù)據(jù)的場景。
  • 低成本日志存儲:希望降低日志存儲成本的項目。

總之,Loki 是一個現(xiàn)代的日志管理系統(tǒng),它簡化了日志數(shù)據(jù)的收集、存儲和查詢過程,特別適合那些需要高性能、可擴展性和成本效益的日志管理解決方案。

1.2 Loki4j組件

Loki4j 是一個基于 Java 的日志框架,它提供了一種簡單的方式來將日志數(shù)據(jù)發(fā)送到 Loki。Loki4j 旨在與 Loki 日志聚合系統(tǒng)無縫集成,使得 Java 應用程序能夠輕松地將日志數(shù)據(jù)發(fā)送到 Loki 以進行集中管理和分析。

Loki4j 的特點

  1. 易于集成

    • Loki4j 提供了一個簡單的 API,可以很容易地與現(xiàn)有的 Java 應用程序集成。
    • 支持 SLF4J 和 Logback 等流行的 Java 日志框架。
  2. 標簽支持

    • Loki4j 支持 Loki 的標簽查詢模型,允許用戶在日志消息中添加標簽,以便更好地組織和查詢日志數(shù)據(jù)。
  3. 異步日志記錄

    • Loki4j 支持異步日志記錄,可以提高應用程序的性能,因為它不會阻塞應用程序線程。
  4. 配置靈活

    • Loki4j 提供了靈活的配置選項,可以根據(jù)需要定制日志級別、日志格式等。
  5. 錯誤處理

    • Loki4j 包含了錯誤處理機制,可以處理網(wǎng)絡問題或其他異常情況,確保日志數(shù)據(jù)能夠可靠地發(fā)送到 Loki。

1.3 Grafana

Grafana 是一款開源的數(shù)據(jù)可視化和分析平臺,主要用于可視化時間和序列數(shù)據(jù),如監(jiān)控指標、日志文件、應用程序跟蹤等。它支持多種數(shù)據(jù)源,包括Prometheus、InfluxDB、MySQL、PostgreSQL、Elasticsearch、CloudWatch、Graphite等,以及自定義數(shù)據(jù)源。Grafana被廣泛應用于IT基礎架構監(jiān)控、應用性能監(jiān)控(APM)、物聯(lián)網(wǎng)(IoT)數(shù)據(jù)分析、業(yè)務指標監(jiān)控等多個領域。

主要特點

  1. 直觀的界面:Grafana提供了一個用戶友好的界面,用于創(chuàng)建和編輯儀表盤,使得數(shù)據(jù)可視化變得非常簡單,無需編程知識。

  2. 豐富的圖表類型:支持多種圖表類型,如折線圖、柱狀圖、餅圖、熱力圖、儀表盤、表格等,適合不同類型的視覺展示需求。

  3. 動態(tài)和交互式面板:面板可以配置為具有時間選擇器、下拉菜單、查詢編輯器等交互元素,使用戶能更靈活地探索數(shù)據(jù)。

  4. 報警功能:Grafana支持基于規(guī)則的報警系統(tǒng),當數(shù)據(jù)達到預設的閾值時,可以通過電子郵件、Slack、PagerDuty等多種方式發(fā)送通知。
    注釋和事件:用戶可以在圖表上添加注釋,記錄特定時間點發(fā)生的重要事件,有助于理解數(shù)據(jù)波動的原因。

  5. 模板變量:通過使用模板變量,可以創(chuàng)建動態(tài)儀表盤,允許用戶在不修改儀表盤的情況下,快速切換查看不同數(shù)據(jù)源或視角。

  6. 插件生態(tài):Grafana擁有強大的社區(qū)支持,提供了大量的數(shù)據(jù)源插件、面板插件和應用插件,大大擴展了其功能和適用場景。

  7. API和腳本支持:Grafana提供了完善的API接口,允許用戶通過腳本和外部應用自動化創(chuàng)建和管理儀表盤、數(shù)據(jù)源和用戶權限。

  8. 團隊協(xié)作和權限管理:支持多用戶訪問,可以為不同用戶或團隊分配不同的權限,促進團隊間的協(xié)作。

應用場景

  • IT運維監(jiān)控:實時監(jiān)控服務器性能、網(wǎng)絡流量、應用程序健康狀況等。

  • 業(yè)務分析:展現(xiàn)用戶行為、銷售數(shù)據(jù)、營銷活動效果等業(yè)務指標。

  • 物聯(lián)網(wǎng)數(shù)據(jù)可視化:分析設備傳感器數(shù)據(jù),監(jiān)控物聯(lián)網(wǎng)系統(tǒng)運行狀態(tài)。

  • 日志分析:結合Loki等日志管理系統(tǒng),進行日志數(shù)據(jù)的實時查詢和可視化展示。

Grafana憑借其靈活性和易用性,成為了數(shù)據(jù)分析和監(jiān)控領域的首選工具之一,幫助企業(yè)更好地理解數(shù)據(jù)、發(fā)現(xiàn)問題和制定決策。

二、組件下載安裝運行

筆者是在windows系統(tǒng)下演示,所用的組件都是windows系統(tǒng)下的,linux系統(tǒng)中安裝配置自行網(wǎng)上搜索教程即可。

Loki下載安裝運行

下載地址:Loki下載地址

在這里插入圖片描述

把下載的loki-windows-amd64.exe.zip壓縮包解壓,得到loki-windows-amd64.exe文件,進入這個文件中可以看到有一個可執(zhí)行的程序(不用去點,點了也會閃退),創(chuàng)建一個config文件夾

在這里插入圖片描述
再進入config文件夾中,創(chuàng)建loki-config.yaml配置文件,文件內容如下:

server:# Loki 服務監(jiān)聽的 HTTP 端口號http_listen_port: 3100schema_config:configs:- from: 2024-07-01# 使用 BoltDB 作為索引存儲store: boltdb# 使用文件系統(tǒng)作為對象存儲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:# 文件系統(tǒng)的存儲路徑directory: D:softwareloki-windows-amd64.exeileStorelimits_config:# 不強制執(zhí)行指標名稱enforce_metric_name: false# 拒絕舊樣本reject_old_samples: true# 最大拒絕舊樣本的年齡為 168 小時reject_old_samples_max_age: 168h# 每個用戶每秒的采樣率限制為 32 MBingestion_rate_mb: 32# 每個用戶允許的采樣突發(fā)大小為 64 MBingestion_burst_size_mb: 64chunk_store_config:# 最大可查詢歷史日期為 28 天(672 小時),這個時間必須是 schema_config 中 period 的倍數(shù),否則會報錯max_look_back_period: 672htable_manager:# 啟用表的保留期刪除功能retention_deletes_enabled: true# 表的保留期為 28 天(672 小時)retention_period: 672h

注意yaml文件中的 BoltDB 的存儲路徑和 文件系統(tǒng)的存儲路徑,這個自行替換為自己的路徑

yaml文件內容保存好后,使用cmd進入 loki-windows-amd64.exe可執(zhí)行程序所在目錄下,執(zhí)行下面的啟動命令(這個啟動命令是以后啟動Loki組件的專用命令,指定了配置文件

loki-windows-amd64.exe --config.file=config/loki-config.yaml

執(zhí)行結果如下
在這里插入圖片描述

下面的這幾個文件夾都是根據(jù)配置自動生成的

在這里插入圖片描述

注意:yaml配置文件配置的Loki監(jiān)聽端口號如下,這個記好,后面集成時需要使用

 # Loki 服務監(jiān)聽的 HTTP 端口號http_listen_port: 3100

Grafana下載安裝運行

下載地址:Grafana下載

在這里插入圖片描述

把下載后的壓縮文件夾grafana-enterprise-11.1.0.windows-amd64.zip解壓得到grafana-v11.1.0文件,進入bin目錄找到grafana-server.exe程序雙擊運行

在這里插入圖片描述
會自動彈出一個cmd窗口,打印出花花綠綠的日志信息,很好看

在這里插入圖片描述
程序運行成功后訪問:http://localhost:3000,初始賬戶: admin/admin 登錄后需重置密碼,筆者沒有改變密碼,還是使用原來的,下面是登錄進去后的操作

添加Loki數(shù)據(jù)源

在這里插入圖片描述
選擇添加數(shù)據(jù)源后,出現(xiàn)了很多數(shù)據(jù)源,找到Loki點擊即可

設置名稱和監(jiān)聽的數(shù)據(jù)源地址

之前安裝Loki配置文件里設置的:http://localhost:3100

在這里插入圖片描述

設置Header和Value

Header:X-Scope-OrgID
Value:user1

在這里插入圖片描述

save & test

在這里插入圖片描述

注意:如果save&test報錯可能是Loki服務初始化還未完成,驗證Loki初始化是否完成訪問:http://localhost:3100/ready,如果顯示ready即初始化完成

在這里插入圖片描述


三、創(chuàng)建springboot項目

在這里插入圖片描述
添加pom依賴

 <!--Loki 日志收集--><dependency><groupId>com.github.loki4j</groupId><artifactId>loki-logback-appender</artifactId><version>1.5.1</version></dependency><!--Loki 日志發(fā)送http請求和響應工具--><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.13</version></dependency>

在Resources文件夾下創(chuàng)建**logback-spring.xml**文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration><!-- 彩色控制臺控制 --><substitutionProperty name="log.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 name="log.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 conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/><conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/><conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/><springProperty scope="context" name="LOG_FILE_DIR" source="logback.log-file-dir" defaultValue="log"/><!-- 控制臺輸出 --><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><pattern>${log.pattern}</pattern></encoder></appender><springProperty scope="context" name="url" source="loki.url" defaultValue="http://localhost:3100/loki/api/v1/push"/><springProperty scope="context" name="env" source="loki.label.env" defaultValue="dev"/><springProperty scope="context" name="jobName" source="loki.label.job-name" defaultValue="my-app"/><springProperty scope="context" name="hostIp" source="loki.label.host-ip" defaultValue="localhost"/><springProperty scope="context" name="orgId" source="loki.org-id" defaultValue="default-org"/><appender name="LOKI" class="com.github.loki4j.logback.Loki4jAppender"><http class="com.github.loki4j.logback.ApacheHttpSender"><url>${url}</url><tenantId>${orgId}</tenantId></http><format><label><pattern>application=${jobName},env=${env},host=${hostIp},level=%level</pattern></label><message><pattern>{"timestamp": "%d{yyyy-MM-dd HH:mm:ss.SSS}", "level": "%level", "logger": "%logger{36}", "thread": "%thread", "message": "%msg%n"}</pattern></message><sortByTime>true</sortByTime></format></appender><!-- 使用異步方式將日志推送至Loki --><appender name="ASYNC_LOKI" class="ch.qos.logback.classic.AsyncAppender"><!-- 隊列大小設置,根據(jù)實際需要調整 --><queueSize>512</queueSize><!-- 丟棄策略,當隊列滿時采取的操作 --><discardingThreshold>0</discardingThreshold><neverBlock>true</neverBlock><!-- 實際的Loki Appender --><appender-ref ref="LOKI" /></appender><appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender"><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>ERROR</level><onMatch>DENY</onMatch><onMismatch>ACCEPT</onMismatch></filter><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><pattern>${log.pattern.no}</pattern></encoder><!--滾動策略--><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--路徑--><fileNamePattern>${LOG_FILE_DIR}/info.%d.log</fileNamePattern><!--保留30天日志--><maxHistory>30</maxHistory></rollingPolicy></appender><appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender"><filter class="ch.qos.logback.classic.filter.ThresholdFilter"><level>ERROR</level></filter><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><pattern>${log.pattern.no}</pattern></encoder><!--滾動策略--><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--路徑--><fileNamePattern>${LOG_FILE_DIR}/error.%d.log</fileNamePattern><!--保留30天日志--><maxHistory>30</maxHistory></rollingPolicy></appender><root level="info"><appender-ref ref="STDOUT" /><appender-ref ref="fileInfoLog" /><appender-ref ref="fileErrorLog" /><appender-ref ref="ASYNC_LOKI" /></root></configuration>

application.yml配置文件內容如下:

spring:application:name: Grafana-Project# Loki 日志配置
loki:# Loki 服務的 URL,用于推送日志數(shù)據(jù)url: http://localhost:3100/loki/api/v1/push# 標簽配置,用于標識日志來源的額外信息label:# 環(huán)境標簽,標識當前運行的環(huán)境,例如開發(fā)環(huán)境env: dev# 服務名稱標簽,標識日志來源的服務名稱job-name: my-service# 主機 IP 標簽,標識日志來源的主機 IP 地址host-ip: localhost# 組織 ID,用于多租戶環(huán)境中標識日志所屬的組織org-id: user1

啟動類加上如下日志
在這里插入圖片描述
啟動后去Grafana查詢日志信息

在這里插入圖片描述

由上圖可以看到日志已經(jīng)發(fā)送到Grafana了,但是只有l(wèi)og方式記錄的才會,控制臺輸出的不會記錄

注意:剛啟動組件時,后臺需要一定時間加載,這時候是無法記錄日志的。

總結

本篇文章詳細介紹了使用springboot+Loki+Loki4j+Grafana搭建輕量級日志系統(tǒng)的步驟,整體環(huán)境為windows環(huán)境,Linux環(huán)境下的組件安裝配置也類似。

http://aloenet.com.cn/news/30552.html

相關文章:

  • 福安網(wǎng)站定制怎么樣推廣自己的店鋪和產(chǎn)品
  • 外國電商設計網(wǎng)站有哪些品牌策劃設計
  • 我想在鄭卅淘寶網(wǎng)站做客服怎么做寧波seo服務推廣
  • 南昌手機網(wǎng)站建設找資源
  • php網(wǎng)站開發(fā)案例教程廣告聯(lián)盟app下載官網(wǎng)
  • 上海做網(wǎng)站 公司排名視頻號排名優(yōu)化帝搜軟件
  • 做網(wǎng)站要多少錢呀產(chǎn)品推廣步驟
  • 泰達建設集團網(wǎng)站廈門最快seo
  • 免費域名建站鄭州網(wǎng)站推廣電話
  • 服務好的網(wǎng)站制作鄭州seo排名優(yōu)化
  • 定制網(wǎng)站建設公司費用搜狗收錄查詢
  • wordpress 目錄遍歷電腦優(yōu)化設置
  • 10_10_微信里網(wǎng)站怎么做的seo搜索如何優(yōu)化
  • 漂亮的手機網(wǎng)站模板北京優(yōu)化seo排名優(yōu)化
  • 建網(wǎng)站的要求寧波優(yōu)化關鍵詞首頁排名
  • 做微商賣產(chǎn)品在哪個網(wǎng)站銷量能好點公司seo營銷
  • 做淘寶需要知道什么網(wǎng)站嗎seo技術網(wǎng)網(wǎng)
  • 萬網(wǎng)官方網(wǎng)站排名優(yōu)化價格
  • 大連網(wǎng)絡宣傳網(wǎng)站寧波seo關鍵詞如何優(yōu)化
  • 本機做web打開網(wǎng)站無法顯示網(wǎng)站seo怎么推排名
  • 做外貿(mào)一般去什么網(wǎng)站找客戶上海推廣服務
  • 建站網(wǎng)站排行榜北京seo排名收費
  • 網(wǎng)站營銷網(wǎng)畫質優(yōu)化app下載
  • 網(wǎng)站修改關鍵詞雙橋seo排名優(yōu)化培訓
  • 江門網(wǎng)站建設企業(yè)商丘seo排名
  • 網(wǎng)站基本維護seo技術 快速網(wǎng)站排名
  • 投資做網(wǎng)站廣告媒體資源平臺
  • 國內攝影作品網(wǎng)站免費建網(wǎng)站的步驟
  • 東莞網(wǎng)站優(yōu)化中易品牌推廣渠道有哪些
  • 做的網(wǎng)站怎么讓百度收索時搜seo實戰(zhàn)指導