prometheus 云原生 轻型日志收集系统loki+promtail的部署说明_loki+promtail+gateway

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
img

正文

  replication_factor: 1
final_sleep: 0s

chunk_idle_period: 5m
chunk_retain_period: 30s
max_transfer_retries: 0

schema_config:
configs:
- from: 2023-12-02 #2023-12-02之后loki信息用下面的配置,这个主要是用来做兼容的
store: boltdb #索引使用哪种存储
object_store: filesystem #怎么存储,简单部署的话保存在本地文件系统
schema: v11
index:
prefix: index_
period: 24h #索引期限24小时

storage_config:
boltdb:
directory: /tmp/loki/index

filesystem:
directory: /tmp/loki/chunks

limits_config:
enforce_metric_name: false
reject_old_samples: true
reject_old_samples_max_age: 168h
ingestion_rate_mb: 32 #采集速率
ingestion_burst_size_mb: 64 #单次采集大小
max_entries_limit_per_query: 0 #查询返回的条目的最大行数,默认是5000,0表示无限制
retention_period: 24h #全局保留期,超过这个时间的日志会被删除,具体删除规则在compactor里配置
#retention_stream: #局部保留期
#- selector: ‘{level=“error”}’

priority: 1

period: 720h

chunk_store_config:
max_look_back_period: 0s #最大日志可见时间,0表示一直可见。or 24h等等

table_manager:
retention_deletes_enabled: false
retention_period: 0s

compactor:
working_directory: /data/loki/compactor #compactor运行状态保存目录
shared_store: filesystem
retention_enabled: true #启动日志删除
compaction_interval: 10m #compactor每隔10分钟运行一次
retention_delete_delay: 2h #在compactor运行2小时后删除
retention_delete_worker_count: 150 #用150个worker删除chunks

analytics:
reporting_enabled: false #关闭向loki团队发送此配置文件

EOF



**配置文件说明:**



> 
> **ingestion\_rate\_mb: 32  #采集速率,如果日志量比较大的话,需要调整的  
>    ingestion\_burst\_size\_mb: 64 #单次采集大小,如果日志量比较大的话,需要调整的  
>    max\_entries\_limit\_per\_query: 0  #查询返回的条目的最大行数,默认是5000,0表示无限制**
> 
> 
> **这三个是比较重要的,其它的其实是可以默认的,就性能比较好**
> 
> 
> 
> **在Loki中,对于客户端push到distributor中产生的每条日志流是可以对其做条目的大小限制的,这个在配置里面默认是不限制,也就是说每行的日志大小可以是无限?,当然大部分情况下我们都不会去限制这个,如果有的同学环境特殊,可以考虑开启对每行日志的大小限制。**
> 
> 
> 
> ```
> limits_config:
> # 日志条目的大小限制,默认不限制
>   max_line_size:  | default = none
> 
> ```
> 
> **除此之外,对于单次查询的限制还有的chunk、stream和series的,不过大部分场景我们不会去对此做调整**
> 
> 
> 
> ```
> limits_config:
>   # 单个查询最多匹配的chunk个数
>   max_chunks_per_query: | default = 2000000
>   
>   # 限制查询是匹配到的chunk大小,默认0为不限制
>   max_query_length:  | default = 0
>   
>   # 单词查询最多匹配到的日志流个数
>   max_streams_matchers_per_query: | default = 1000
>   
>   # 限制查询时最大的日志度量个数
>   max_query_series: | default = 500
>   
>   # 查询的并发数
>   max_query_parallelism  | default = 14
>   
>   # 允许租户缓存结果的有效时间
>   max_cache_freshness_per_query   |default = 1m.
> ```
> 
> 


**启动脚本:**


**/var/log/loki/ 目录需要提前建立,/opt/loki/loki-linux-amd64 是loki的执行程序,/opt/loki/loki-cfg.yaml是loki的配置文件绝对路径**



cat >/etc/systemd/system/loki.service <<EOF
[Unit]
Description=loki
After=network.target
[Service]
ExecStart=/opt/loki/loki-linux-amd64 -config.file=/opt/loki/loki-cfg.yaml &>> /var/log/loki/loki.log
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
EOF


**启停和自动启动:**



systemctl enable loki && systemctl start loki && systemctl status loki


### **六,**


### **promtail的部署**


**promtail的配置文件:**


**这个是一个非常简单的静态读取/var/log/目录下的log后缀文件信息,并上传到loki**



cat promtail_config.yaml
server:
http_listen_port: 9080
grpc_listen_port: 0

记录读取日志的位置信息文件,Promtail重新启动时需要它

positions:
filename: /tmp/positions.ymal

Loki的api服务的地址

clients:

  • url: http://192.168.123.11:13100/loki/api/v1/push
    scrape_configs:

  • job_name: system
    static_configs:

    • targets:
      • localhost
        labels:
        job: varlogs
        path: /var/log/*log

**promtail的启动脚本:**



cat >/etc/systemd/system/promtail.service <<EOF
[Unit]
Description=promtail
After=network.target
[Service]
ExecStart=/opt/loki/promtail-linux-amd64 -config.file=/opt/loki/promtail_config.yaml &>> /var/log/promtail/promtail.log
ExecReload=/bin/kill -s HUP
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
EOF


### **七,**


### 常用的JavaScript设计模式

* 单体模式

* 工厂模式

* 例模式

  ![](https://img-blog.csdnimg.cn/20210616215753130.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81NjEzNDM4MQ==,size_16,color_FFFFFF,t_70)

  

### 函数

* 函数的定义

* 局部变量和全局变量

* 返回值

* 匿名函数

* 自运行函数

* 闭包



  ![](https://img-blog.csdnimg.cn/20210616215826268.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81NjEzNDM4MQ==,size_16,color_FFFFFF,t_70)

  

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)**
![img](https://img-blog.csdnimg.cn/img_convert/2fed3b3f762b15509ccc2cd910e62eae.png)

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
FFF,t_70)

  

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)**
[外链图片转存中...(img-cmSdsnTJ-1713155447897)]

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值