自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

實戰(zhàn):基于Loki采集K8s日志

云計算 云原生
Loki是一個水平可擴展、高可用性、輕量易用、多租戶的日志聚合系統(tǒng),它的設(shè)計非常經(jīng)濟高效且易于操作,因為它不會為日志內(nèi)容編制索引,而是為每一個日志流編制一組標(biāo)簽,項目是受Prometheus啟發(fā),專門為Prometheus和k8s用戶做了相關(guān)優(yōu)化。

一、 Loki介紹

1、 Loki是一個水平可擴展、高可用性、輕量易用、多租戶的日志聚合系統(tǒng),它的設(shè)計非常經(jīng)濟高效且易于操作,因為它不會為日志內(nèi)容編制索引,而是為每一個日志流編制一組標(biāo)簽,項目是受Prometheus啟發(fā),專門為Prometheus和k8s用戶做了相關(guān)優(yōu)化。

2、 Loki的架構(gòu)非常簡單,主要由以下三部分組成: ①,Loki:主服務(wù)器,負(fù)責(zé)存儲日志和處理查詢,類似于es,使用了和Prometheus相同的服務(wù)發(fā)現(xiàn)機制,將標(biāo)簽添加到日志流中而不是構(gòu)建全文索引。因此,從promtail接收到的日志和應(yīng)用的metrics指標(biāo)就具有相同的標(biāo)簽集。它不僅提供了更好的日志和指標(biāo)之間的上下文切換,還避免了對日志進行全文索引。

②,promtail:采集端,負(fù)責(zé)采集日志發(fā)送給Loki,類似于filebeat,該工具主要包括發(fā)現(xiàn)采集目標(biāo)以及給日志流添加上label標(biāo)簽,然后發(fā)送給Loki。promtail的服務(wù)發(fā)現(xiàn)是基于Prometheus的服務(wù)發(fā)現(xiàn)機制實現(xiàn)的。

③,grafana(大家都已很熟悉了):負(fù)責(zé)采集日志的展示,支持非常豐富的數(shù)據(jù)源。在Loki技術(shù)棧中g(shù)rafana主要用來展示來自Prometheus和Loki等數(shù)據(jù)源的時間序列數(shù)據(jù),還允許進行查詢、可視化、告警等操作,可以在頁面查詢指定標(biāo)簽pod的日志。

二,安裝helm

注:Loki提供了helm的安裝方式,可以直接下載包進行安裝,所以先進行helm的安裝(master節(jié)點安裝)

1,下載helm安裝包

[root@master ~]# wget https://get.helm.sh/helm-v3.9.0-linux-amd64.tar.gz

圖片圖片

2、 解壓安裝包,并將helm的可執(zhí)行命令移動到/usr/bin/目錄下(安裝簡單)

[root@master ~]# tar -xf helm-v3.9.0-linux-amd64.tar.gz   #解壓
[root@master ~]# cd linux-amd64/
[root@master linux-amd64]# ls
helm  LICENSE  README.md
[root@master linux-amd64]# mv helm /usr/bin/

圖片圖片

3、 設(shè)置helm的自動補全

[root@master linux-amd64]# vim /etc/profile   #編輯該文件
source <(helm completion bash)    #文檔最后寫入該命令
[root@master linux-amd64]# source /etc/profile    #使其生效

圖片圖片

4、 驗證是否安裝成功

[root@master ~]# helm version   #查看版本
version.BuildInfo{Version:"v3.9.0", GitCommit:"7ceeda6c585217a19a1131663d8cd1f7d641b2a7", GitTreeState:"clean", GoVersion:"go1.17.5"}
[root@master ~]# helm repo list   #查看倉庫
Error: no repositories to show        #還沒有添加倉庫
[root@master ~]# helm env   #查看helm的配置信息
HELM_BIN="helm"
HELM_CACHE_HOME="/root/.cache/helm"
HELM_CONFIG_HOME="/root/.config/helm"
HELM_DATA_HOME="/root/.local/share/helm"
HELM_DEBUG="false"
HELM_KUBEAPISERVER=""
HELM_KUBEASGROUPS=""
HELM_KUBEASUSER=""
HELM_KUBECAFILE=""
HELM_KUBECONTEXT=""
HELM_KUBETOKEN=""
HELM_MAX_HISTORY="10"
HELM_NAMESPACE="default"
HELM_PLUGINS="/root/.local/share/helm/plugins"
HELM_REGISTRY_CONFIG="/root/.config/helm/registry/config.json"
HELM_REPOSITORY_CACHE="/root/.cache/helm/repository"
HELM_REPOSITORY_CONFIG="/root/.config/helm/repositories.yaml"

三,部署Loki

1、 添加helm源(倉庫)

[root@master ~]# helm repo add grafana https://grafana.github.io/helm-charts    #添加倉庫
"grafana" has been added to your repositories
[root@master ~]# 
[root@master ~]# 
[root@master ~]# helm repo list   #查看倉庫
NAME    URL                                  
grafana https://grafana.github.io/helm-charts
[root@master ~]# helm search repo | grep loki   #在倉庫中搜索可用的helm的charts
grafana/loki                         5.36.3        2.9.2             Helm chart for Grafana Loki in simple, scalable...
grafana/loki-canary                  0.14.0        2.9.1             Helm chart for Grafana Loki Canary                
grafana/loki-distributed             0.76.1        2.9.2             Helm chart for Grafana Loki in microservices mode 
grafana/loki-simple-scalable         1.8.11        2.6.1             Helm chart for Grafana Loki in simple, scalable...
grafana/loki-stack                   2.9.11        v2.6.1            Loki: like Prometheus, but for logs.    #下載最后一個堆棧類型,包含了各日志工具

2、下載helm的charts 注:也可以直接安裝,因需要修改一些配置,可以選擇先下載到本地

[root@master ~]# helm pull grafana/loki-stack   #下載
[root@master ~]# ls
anaconda-ks.cfg  calico.yaml  helm-v3.9.0-linux-amd64.tar.gz  linux-amd64  loki-stack-2.9.11.tgz

2、 解壓

[root@master ~]# tar -xf loki-stack-2.9.11.tgz   #解壓
[root@master ~]# cd loki-stack
[root@master loki-stack]# ls   #可以看到,解壓后目錄下會有多個資源文件
charts  Chart.yaml  README.md  requirements.lock  requirements.yaml  templates  values.yaml

4、修改主配置文件(資源文件),啟用grafana

[root@master loki-stack]# vim values.yaml
36 grafana:
 37   enabled: true            #由false修改為true,啟用grafana
 38   sidecar:
 39     datasources:
 40       label: ""
 41       labelValue: ""
 42       enabled: true
 43       maxLines: 1000
 44   image:
 45     tag: 8.3.5

圖片圖片

5、安裝部署應(yīng)用并查看資源

先創(chuàng)建一個名為loki的命名空間

[root@master loki-stack]# kubectl create ns loki
namespace/loki created
[root@master loki-stack]# helm install loki -n loki .  #安裝,這里最后有個點,為引用當(dāng)前目錄下的資源
NAME: loki
LAST DEPLOYED: Sat Nov 18 14:43:20 2023
NAMESPACE: loki
STATUS: deployed
REVISION: 1
NOTES:
The Loki stack has been deployed to your cluster. Loki can now be added as a datasource in Grafana.

See http://docs.grafana.org/features/datasources/loki/ for more detail.
[root@master loki-stack]# kubectl -n loki get pods   #查看pod資源
NAME                           READY   STATUS    RESTARTS   AGE
loki-0                         1/1     Running   0          8m43s
loki-grafana-6b5f7dc79-rjcwm   2/2     Running   0          8m43s
loki-promtail-t69rd            1/1     Running   0          8m43s
loki-promtail-tckwm            1/1     Running   0          8m43s
[root@master loki-stack]# 
[root@master loki-stack]# 
[root@master loki-stack]# 
[root@master loki-stack]# kubectl -n loki get deploy   #查看控制器
NAME           READY   UP-TO-DATE   AVAILABLE   AGE
loki-grafana   1/1     1            1           8m49s

圖片圖片

此時grafana的service類型為clusterip,需要修改類型為nodeport,以供外網(wǎng)訪問

圖片圖片

6、 通過edit修改grafana的service類型

[root@master loki-stack]# kubectl -n loki edit svc loki-grafana
service/loki-grafana edited    #修改類型為nodeport
[root@master loki-stack]# kubectl -n loki get svc  #查看暴露的端口
NAME              TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
loki              ClusterIP   10.96.209.225   <none>        3100/TCP       14m
loki-grafana      NodePort    10.96.164.26    <none>        80:31276/TCP   14m
loki-headless     ClusterIP   None            <none>        3100/TCP       14m
loki-memberlist   ClusterIP   None            <none>        7946/TCP       14m

四、 訪問

1、 先獲取登錄密碼

[root@master loki-stack]# kubectl get secret -n loki loki-grafana -o jsnotallow="{.data.admin-password}" | base64 --decode ; echo
hdHI2C0vBAWdE6dw8Mbx7j846JZSsCUXbmUXLx4g   #獲取到的密碼

2、 登錄,任一節(jié)點ip+端口 用戶為admin,密碼為命令行獲取到的密碼

圖片圖片

默認(rèn)已經(jīng)添加了Loki數(shù)據(jù)源

圖片圖片

3、 導(dǎo)入模板

可以到官網(wǎng)下載

grafana模板官網(wǎng):https://grafana.com/grafana/dashboards/?search=linux

導(dǎo)入下載的模板,并選擇Loki數(shù)據(jù)源

圖片圖片

日志展示

圖片圖片

圖片圖片


責(zé)任編輯:武曉燕 來源: 院長技術(shù)
相關(guān)推薦

2023-11-06 01:17:25

主機容器選項

2024-01-29 13:03:02

2023-09-06 08:12:04

k8s云原生

2022-07-26 00:00:05

QoSK8s日志

2022-10-10 12:54:00

Flink運維

2022-04-22 13:32:01

K8s容器引擎架構(gòu)

2023-09-08 08:09:12

k8sservice服務(wù)

2023-02-27 07:40:00

2021-11-04 07:49:58

K8SStatefulSetMySQL

2023-11-06 07:16:22

WasmK8s模塊

2023-03-06 07:19:50

2023-11-27 13:54:00

kubernetes高可用

2023-11-15 13:44:00

k8s-域名日志

2021-05-18 07:30:36

開發(fā)Spring Boot日志

2023-09-15 08:00:20

Ingress網(wǎng)關(guān)Istio

2022-06-28 08:40:16

LokiPromtail日志報警

2023-03-03 07:54:21

2022-11-08 08:55:31

2023-03-07 07:56:37

Sqoopk8s底層

2022-10-14 07:42:50

LuceneHTTPWeb
點贊
收藏

51CTO技術(shù)棧公眾號