国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Linux搭建Promtail + Loki + Grafana 輕量日志監(jiān)控系統(tǒng)

這篇具有很好參考價值的文章主要介紹了Linux搭建Promtail + Loki + Grafana 輕量日志監(jiān)控系統(tǒng)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、簡介

日志監(jiān)控告警系統(tǒng),較為主流的是ELK(Elasticsearch 、 Logstash和Kibana核心套件構(gòu)成),雖然優(yōu)點是功能豐富,允許復(fù)雜的操作。但是,這些方案往往規(guī)模復(fù)雜,資源占用高,操作苦難。很多功能往往用不上,大多數(shù)查詢只關(guān)注一定時間范圍和一些簡單的參數(shù)(如host、service等),使用這些解決方案就有點殺雞用牛刀的感覺了。

所以尋找更輕量級的日志監(jiān)控系統(tǒng),所以也就有了EFK(elasticsearch+kibana+filebeat),

搭建參考:EFK輕量級日志系統(tǒng)搭建

另外一種是Promtail + Loki + Grafana核心組件構(gòu)成,簡稱PLG,這種是更輕量級的,配置要求也不高,功能簡單,但是目的明確,就是日志采集。

Loki的架構(gòu)也非常簡單,使用了和prometheus一樣的標(biāo)簽來作為索引,Loki 是受Prometheus啟發(fā)的水平可擴展、高可用、多租戶日志聚合系統(tǒng)。

組件:
promtail: 日志收集的代理,安裝部署在需要收集和分析日志的服務(wù)器,promtail會將日志發(fā)給Loki服務(wù)。
Loki: 主服務(wù)器,負責(zé)存儲日志和處理查詢。
Grafana:提供web管理界面,數(shù)據(jù)展示功能。

Linux搭建Promtail + Loki + Grafana 輕量日志監(jiān)控系統(tǒng),# 日志系統(tǒng),# Zabbix,linux,grafana,運維,loki

二、服務(wù)器安裝及配置

1.基礎(chǔ)安裝啟動

安裝方式大概有這么幾種,二進制安裝,yum安裝、docker安裝、helm安裝。
因為是服務(wù)器端,我這里用docker安裝,簡單方便。

官方網(wǎng)站也提供了docker-compose文件供下載。
參考地址

#下載docker-compose文件
wget https://raw.githubusercontent.com/grafana/loki/v2.5.0/production/docker-compose.yaml -O docker-compose.yaml

下載的docker-compose文件如下,也是最簡單基本的。

version: "3"

networks:
  loki:

services:
  loki:
    image: grafana/loki:2.5.0
    ports:
      - "3100:3100"
    command: -config.file=/etc/loki/local-config.yaml
    networks:
      - loki

  promtail:
    image: grafana/promtail:2.5.0
    volumes:
      - /var/log:/var/log
    command: -config.file=/etc/promtail/config.yml
    networks:
      - loki

  grafana:
    image: grafana/grafana:latest
    ports:
      - "3000:3000"
    networks:
      - loki

這時也可以正常啟動即可,默認(rèn)日志為/var/log的位置。

docker-compose -f docker-compose.yaml up

這時,基本的安裝就完成了,但是有時候需要更改配置文件,如后續(xù)nginx反向代理訪問,這時這個配置文件滿足不了需求,所以需要自己改動grafana。還有就是docker-compose down掉,數(shù)據(jù)也是沒了,需要重新添加。

2、升級配置啟動

更改也很簡單,無非就是啟動后,把docker的配置文件夾拷貝出來本地,然后掛載上去即可。

以下就是我自己改的docker-compose文件,可以參考:

本人機器3000端口被占用,所以改用3030端口映射,按需設(shè)置。還有本人數(shù)據(jù)文件夾/var/lib/grafana/掛載后,賬號進不去,所以先注釋掉了,后續(xù)在慢慢測試。

version: "3"

networks:
  loki:

services:
  loki:
    image: grafana/loki:2.5.0
    restart: unless-stopped
    ports:
      - "3100:3100"
    volumes:
      - ./config/loki/:/etc/loki/
    command: -config.file=/etc/loki/local-config.yaml
    networks:
      - loki

  promtail:
    image: grafana/promtail:2.5.0
    volumes:
      - /var/log:/var/log
      - ./config/promtail/:/etc/promtail/
    command: -config.file=/etc/promtail/config.yml
    networks:
      - loki

  grafana:
    image: grafana/grafana-enterprise:8.5.2-ubuntu
    restart: unless-stopped
    ports:
      - "3030:3000"
    volumes:
      - ./config/grafana/:/etc/grafana/
#      - ./grafana-data:/var/lib/grafana/
#這行是數(shù)據(jù)掛載在本地,需要將數(shù)據(jù)拷貝出來
    networks:
      - loki

最后文件結(jié)構(gòu)如下:除了grafana配置文件夾比較多文件,其他都只有一個。grafana我整個文件夾復(fù)制出來就行了。

├── config
│   ├── grafana
│   │   ├── grafana.ini
│   │   ├── ldap.toml
│   │   └── provisioning
│   │       ├── access-control
│   │       ├── dashboards
│   │       ├── datasources
│   │       ├── notifiers
│   │       └── plugins
│   ├── loki
│   │   └── local-config.yaml
│   └── promtail
│       └── config.yml
├── docker-compose.yaml
└── grafana-data
    ├── alerting [error opening dir]
    ├── csv [error opening dir]
    ├── grafana.db
    ├── plugins
    └── png [error opening dir]

loki的local-config.yaml參考配置文件:

auth_enabled: false

server:
  http_listen_port: 3100

common:
  path_prefix: /loki
  storage:
    filesystem:
      chunks_directory: /loki/chunks
      rules_directory: /loki/rules
  replication_factor: 1
  ring:
    kvstore:
      store: inmemory

schema_config:
  configs:
    - from: 2020-10-24
      store: boltdb-shipper
      object_store: filesystem
      schema: v11
      index:
        prefix: index_
        period: 24h

ruler:
  alertmanager_url: http://localhost:9093

# By default, Loki will send anonymous, but uniquely-identifiable usage and configuration
# analytics to Grafana Labs. These statistics are sent to https://stats.grafana.org/
#
# Statistics help us better understand how Loki is used, and they show us performance
# levels for most users. This helps us prioritize features and documentation.
# For more information on what's sent, look at
# https://github.com/grafana/loki/blob/main/pkg/usagestats/stats.go
# Refer to the buildReport method to see what goes into a report.
#
# If you would like to disable reporting, uncomment the following lines:
#analytics:
#  reporting_enabled: false

promtail的config.yml配置文件:

server:
  http_listen_port: 9080
  grpc_listen_port: 0

positions:
  filename: /tmp/positions.yaml

clients:
  - url: http://loki:3100/loki/api/v1/push

scrape_configs:
- job_name: system
  static_configs:
  - targets:
      - localhost
    labels:
      job: varlogs
      __path__: /var/log/*log

grafana的配置文件太長,就不復(fù)制了,自己拷貝出來即可。
拷貝完配置文件夾后,更改完后,直接啟動即可。

sudo docker-compose up -d

瀏覽器輸入ip端口即可訪問,我這里配置為ip:3030端口訪問。
Linux搭建Promtail + Loki + Grafana 輕量日志監(jiān)控系統(tǒng),# 日志系統(tǒng),# Zabbix,linux,grafana,運維,loki

3.grafana的反向代理nginx配置,域名訪問

grafana配置完后,默認(rèn)是IP:端口的方式訪問,如果需要域名訪問,則需要用到nginx方向代理。

官方文檔配置參考:官網(wǎng)地址

需要更改的配置文件為grafana.ini,去掉下面三個前面的注釋。

  • domain:你的域名,我這里為grafana.ywbj.cc
  • root_url:訪問連接,官方文檔是后面加了grafana/,默認(rèn)是沒有的,也可以不加,區(qū)別是,不加直接訪問網(wǎng)址即可,加了就需要訪問域名/grafana才能訪問,如:grafana.ywbj.cc/grafana/ 才能訪問。我這里配置就沒有加。
  • serve_from_sub_path:去掉注釋,將false改成true即可。
[server]
domain = grafana.ywbj.cc
root_url = %(protocol)s://%(domain)s:%(http_port)s/
serve_from_sub_path = true

grafana配置完成,下面就是配置nginx了。官方nginx配置文件:
注:如果上面root_url 后面加了grafana/,則location / 改為location /grafana/ 。

# this is required to proxy Grafana Live WebSocket connections.
map $http_upgrade $connection_upgrade {
  default upgrade;
  '' close;
}

server {
  listen 80;
  server_name  grafana.initcapp.com;
  root /usr/share/nginx/html;
  index index.html index.htm;

  location / {
    proxy_set_header Host $http_host;
    proxy_pass http://localhost:3000/;
  }

  # Proxy Grafana Live WebSocket connections.
  location /api/live {
    rewrite  ^/(.*)  /$1 break;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_set_header Host $http_host;
    proxy_pass http://localhost:3000/;
  }
}

上面配置好了,然后啟動,雖然可以訪問,也可以添加資源,但是在實時查看日志流,會出現(xiàn)錯誤。
Query error Live tailing was stopped due to following error: undefined,如下圖:
Linux搭建Promtail + Loki + Grafana 輕量日志監(jiān)控系統(tǒng),# 日志系統(tǒng),# Zabbix,linux,grafana,運維,loki
原因是websocket出錯,即配置文件中l(wèi)ocation /api/live 這個區(qū)域。
根據(jù)另一篇官方文檔:https://grafana.com/docs/grafana/latest/live/configure-grafana-live/
修改nginx配置文件,最后nginx配置文件為:

map $http_upgrade $connection_upgrade {
  default upgrade;
  '' close;
}

server {
  listen 80;
  server_name  	grafana.ywbj.cc;
  #root /usr/share/nginx/html;
  #index index.html index.htm;
  
  error_log  /var/log/nginx/nginx.localhost.error.log  warn;
  
  location / {
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_set_header Host $http_host;
    proxy_pass http://localhost:3030/;
    #默認(rèn)為3000端口,我配置為3030,所以是3030.
  }

這樣啟動后,功能一切正常了。

三、客戶端安裝及配置

loki客戶端,及需要收集日志的另一臺機器,只需要安裝promtail,也可以docker啟動安裝,也可以二進制安裝。

由于本人收集日志有其他目錄,如果用docker,需要配置掛載很多路徑到docker,所以我在客戶端直接用二進制啟動即可,配置文件比較容易。

二進制官方下載地址:https://github.com/grafana/loki/releases
找到自己合適的版本promtail,我這里是這個。
Linux搭建Promtail + Loki + Grafana 輕量日志監(jiān)控系統(tǒng),# 日志系統(tǒng),# Zabbix,linux,grafana,運維,loki
下載后,解壓即可,得到一個可執(zhí)行文件promtail-linux-amd64。

root@web:/loki# ls
config.yaml  promtail-linux-amd64

還需要創(chuàng)建一個config.yaml文件,用于啟動promtail。

sudo vim config.yaml

如果有多路徑及目錄,則添加多個job_name即可。
注意:clients中的url為你服務(wù)器的地址。

server:
  http_listen_port: 9080
  grpc_listen_port: 0

positions:
  filename: /tmp/positions.yaml

clients:
  - url: http://192.168.152.100:3100/loki/api/v1/push
  #服務(wù)器端loki的IP地址

scrape_configs:
- job_name: web
  static_configs:
  - targets:
      - localhost
    labels:
      job: web-varlogs
      __path__: /var/log/*log

- job_name: web
  static_configs:
  - targets:
      - localhost
    labels:
      job: nginx-logs
      __path__: /home/ubuntu/laradock/logs/nginx/*log

- job_name: web
  static_configs:
  - targets:
      - localhost
    labels:
      job: api-logs
      __path__: /home/ubuntu/api/storage/logs/*log

創(chuàng)建完配置文件,啟動即可。

./promtail-linux-amd64 -config.file=./config.yaml

后臺啟動,并輸入日志。

#輸入日志到指定位置
nohup ./promtail-linux-amd64 -config.file=./config.yaml  > /var/log/promtail.log 2>&1 &
#不需要日志輸入,直接為空。
nohup ./promtail-linux-amd64 -config.file=./config.yaml  > /dev/null 2>&1 &

啟動后,用ps可查看進程是否啟動

root@web:/loki# ps -ef|grep promtail
root     1466400 1450430  7 10:41 pts/0    00:00:00 ./promtail-linux-amd64 -config.file=./config.yaml
root     1466415 1450430  0 10:41 pts/0    00:00:00 grep --color=auto promtail

四、grafana使用添加loki

在瀏覽器輸入域名訪問,默認(rèn)賬號密碼為admin/admin

然后在data sources,點擊添加add data source,選擇loki即可。
Linux搭建Promtail + Loki + Grafana 輕量日志監(jiān)控系統(tǒng),# 日志系統(tǒng),# Zabbix,linux,grafana,運維,loki
然后添加服務(wù)器loki的地址即可,地址為IP:3100,loki的默認(rèn)端口為3100。
Linux搭建Promtail + Loki + Grafana 輕量日志監(jiān)控系統(tǒng),# 日志系統(tǒng),# Zabbix,linux,grafana,運維,loki
添加完成,沒有報錯,說明添加成功。
explore,在 log browser中選擇,即可查看剛才添加的日志,這里以job分類。
Linux搭建Promtail + Loki + Grafana 輕量日志監(jiān)控系統(tǒng),# 日志系統(tǒng),# Zabbix,linux,grafana,運維,loki
選擇一個,show logs即可查看,右上角為實時流查看日志。
Linux搭建Promtail + Loki + Grafana 輕量日志監(jiān)控系統(tǒng),# 日志系統(tǒng),# Zabbix,linux,grafana,運維,loki
這里loki、promtail、Grafana日志系統(tǒng)就配置完了。文章來源地址http://www.zghlxwxcb.cn/news/detail-609766.html

到了這里,關(guān)于Linux搭建Promtail + Loki + Grafana 輕量日志監(jiān)控系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Loki+Promtail+Grafana 監(jiān)控 K8s 日志

    Loki+Promtail+Grafana 監(jiān)控 K8s 日志

    Loki 架構(gòu): 1、loki:服務(wù)端,負責(zé)存儲日志和處理查詢 2、promtail:采集端,負責(zé)采集日志發(fā)送給loki 3、grafana:負責(zé)采集日志的展示 創(chuàng)建 yaml 文件 cat loki-rbac.yaml cat loki-nodeport.yaml cat loki.yaml cat loki-configmap.yaml cat loki-promtail-rbac.yaml cat loki-promtail.yaml cat loki-promtail-configmap.yaml 2、創(chuàng)

    2024年02月16日
    瀏覽(26)
  • prometheus|云原生|輕型日志收集系統(tǒng)loki+promtail的部署說明

    prometheus|云原生|輕型日志收集系統(tǒng)loki+promtail的部署說明

    日志------ 每一個程序,服務(wù)都應(yīng)該有保留日志,日志的作用第一是記錄程序運行的情況,在出錯的時候能夠記錄錯誤情況,簡單來說就是審計工作,例如nginx服務(wù)的日志,kubernetes集群的pod運行日志,Linux系統(tǒng)的系統(tǒng)日志。 其次是數(shù)據(jù)庫的日志,記錄數(shù)據(jù)庫的運行細節(jié),在需要

    2024年02月04日
    瀏覽(22)
  • Rancher中使用promtail+loki+grafna收集k8s日志并展示

    Rancher中使用promtail+loki+grafna收集k8s日志并展示

    根據(jù)應(yīng)用需求和日志數(shù)量級別選擇對應(yīng)的日志收集、過濾和展示方式,當(dāng)日志量不太大,又想簡單集中管理查看日志時,可使用promtail+loki+grafna的方式。本文找那個loki和grafana外置在了k8s集群之外。 方式一: 方式二: 登錄rancher,選擇集群→應(yīng)用→Chart倉庫→創(chuàng)建,配置倉庫

    2024年01月20日
    瀏覽(21)
  • 【Ubuntu】從Graylog到Grafana Loki:構(gòu)建更強大的網(wǎng)絡(luò)設(shè)備管理和監(jiān)控系統(tǒng)

    【Ubuntu】從Graylog到Grafana Loki:構(gòu)建更強大的網(wǎng)絡(luò)設(shè)備管理和監(jiān)控系統(tǒng)

    在將Graylog部署到生產(chǎn)環(huán)境時,我們遇到了一些問題,其中最主要的是無法安裝MongoDB并且無法隨時重啟機器去修改BIOS設(shè)置來修復(fù)問題 【 WARNING: MongoDB 5.0+ requires a CPU with AVX support, and your current system does not appear to have that! 】。為了尋找一個更可行的解決方案,我們決定將注意力

    2024年02月12日
    瀏覽(20)
  • Grafana Loki 日志傳輸工具

    有各種不同的工具支持傳輸日志到Loki,有Grafana開發(fā)和第三方開發(fā)的工具。 Grafana 開發(fā)的工具: Grafana Agent Grafna 技術(shù)棧推薦客戶端,支持收集度量、日志、跟蹤和持續(xù)性能分析的遙測數(shù)據(jù),跟Prometheus、OpenTelemetry、Grafana開源生態(tài)系統(tǒng)完全兼容 Promtail K8s首選的客戶端,能夠自動

    2024年02月02日
    瀏覽(15)
  • Grafana系列-Loki-基于日志實現(xiàn)告警

    Grafana系列-Loki-基于日志實現(xiàn)告警

    Loki 系列文章 實際應(yīng)用中除了基于 Metrics 告警, 往往還有基于日志的告警需求, 可以作為基于 Metrics 告警之外的一個補充. 典型如基于 NGINX 日志的錯誤率告警.本文將介紹如何基于 Loki 實現(xiàn)基于日志的告警. 本文我們基于以下 2 類實際場景進行實戰(zhàn)演練: 基于 NGINX 日志的錯誤率告

    2024年02月05日
    瀏覽(23)
  • Loki+Grafana監(jiān)控docker容器日志

    Loki+Grafana監(jiān)控docker容器日志

    目標(biāo):最近開發(fā)人員時常需要查看各個環(huán)境項目中容器日志,而直接通過ssh終端使用docker logs命令查看日志不太安全,這會導(dǎo)致很多人員知道服務(wù)器的賬戶和密碼,有沒有一種可以收集所有容器日志的平臺系統(tǒng)。那么這套系統(tǒng)就是Loki+Grafana組合。 重要提醒 :不要用于生產(chǎn)環(huán)境

    2024年02月12日
    瀏覽(20)
  • k8s日志收集組件 Grafana loki --- 理論篇

    k8s日志收集組件 Grafana loki --- 理論篇

    當(dāng)我們在k8s上運行程序時,習(xí)慣的會使用ELK來收集和查詢程序運行日志。今天我們介紹一款新的專為日志收集而生的神器:Grafana loki。Grafana Loki 是一組組件,可以組合成一個功能齊全的日志堆棧。 與其他日志記錄系統(tǒng)不同,Loki 僅構(gòu)建索引有關(guān)日志的元數(shù)據(jù):標(biāo)簽(就像 P

    2024年02月10日
    瀏覽(22)
  • logstack 日志技術(shù)棧-04-opensource 開源工具 OpenObserve+Grafana Loki

    logstack 日志技術(shù)棧-04-opensource 開源工具 OpenObserve+Grafana Loki

    日志管理包含日志數(shù)據(jù)存儲、處理、分析和可視化,通過利用日志管理工具,可以監(jiān)控性能趨勢、解決問題、檢測異常并優(yōu)化整體系統(tǒng)性能。 近年來,開源日志管理解決方案在大家尋求靈活且經(jīng)濟有效的方式來管理現(xiàn)代系統(tǒng)典型的大量日志數(shù)據(jù)時,獲得了顯著的關(guān)注。這些工

    2024年01月21日
    瀏覽(20)
  • 【架構(gòu)】K8s中部署輕量級日志系統(tǒng)Loki

    【架構(gòu)】K8s中部署輕量級日志系統(tǒng)Loki

    Loki 是什么? Loki是由Grafana Labs開源的一個水平可擴展、高可用性,多租戶的日志聚合系統(tǒng)的日志聚合系統(tǒng)。它的設(shè)計初衷是為了解決在大規(guī)模分布式系統(tǒng)中,處理海量日志的問題。Loki采用了分布式的架構(gòu),并且與Prometheus、Grafana密切集成,可以快速地處理大規(guī)模的日志數(shù)據(jù)。

    2024年02月20日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包