问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

使用Loki服务统一将日志发送至一台主机查看

发布网友 发布时间:2024-09-08 16:00

我来回答

1个回答

热心网友 时间:2024-09-15 07:14

前言

众所周知,对于一道程序来说,能有详细的日志输出是十分重要的。一方面,日志便于代码出错后的调试,另一方面,在没有事先埋点的情况下,详细的日志对日后的数据统计也会有极大的帮助。

但是,but,由于我们的程序往往会部署在不同服务器的不同地方,因此查看不同的日志往往需要在不同的服务器不同的文件夹中跑来跑去非常麻烦。那么,有没有一个东西,可以让我们可以便捷的直接在一台主机上的一个地方上查看所有程序的日志呢?接下来,我将向大家介绍如何使用Loki以实现这一功能

原理准备工作

以下我们称,输出日志的程序,所在的主机为主机A,查看日志的主机为主机B。

在主机A安装并部署Loki移动至任一想要让Loki运行的目录下

cd<path_to_loki_to_run>

下载二进制文件(Linux)或exe可执行文件(Windows)

二进制文件

exe可执行文件

下载完成后记得要解压到当前目录哦

编辑Loki配置文件#loki-config.yamlauth_enabled:falseserver:http_listen_port:3100ingester:lifecycler:address:127.0.0.1ring:kvstore:store:inmemoryreplication_factor:1final_sleep:0schunk_idle_period:5mchunk_retain_period:30smax_transfer_retries:0schema_config:configs:-from:2018-04-15store:boltdbobject_store:filesystemschema:v11index:prefix:index_period:168hstorage_config:boltdb:directory:/tmp/loki/indexfilesystem:directory:/tmp/loki/chunkslimits_config:enforce_metric_name:falsereject_old_samples:truereject_old_samples_max_age:168hchunk_store_config:max_look_back_period:0stable_manager:retention_deletes_enabled:falseretention_period:0s

配置文件中较为重要的参数说明

server.http_listen_port:Loki服务运行的端口。之后配置Promtail和Grafana时需要用到。其他参数对我们目前的需求来说,可以直接忽视。

部署LokiLinux

./loki-linux-amd64-config.file=loki_config.yaml

Windows

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

在主机A安装并部署Promtail移动至任一想要让Promtail运行的目录下

cd<path_to_promtail_to_run>

下载二进制文件(Linux)或exe可执行文件(Windows)

二进制文件

exe可执行文件

编辑Promtail配置文件#promtail-config.yamlserver:http_listen_port:9080grpc_listen_port:0positions:filename:/tmp/positions.yamlclients:-url:http://127.0.0.1:3100/loki/api/v1/pushscrape_configs:-job_name:systemstatic_configs:-targets:-localhostlabels:job:varlogs__path__:<path_to_log_file>

配置文件中较为重要的参数说明

clients.url:Loki服务的日志推送接口的url,一般为http://<ip_of_loki>:<port_of_loki>/loki/api/v1/push,在本文中,由于Loki与Promtail是在一台主机上,故ip为127.0.0.1,且上文Loki配置文件中,是将Loki部署在3100端口,故端口为3100,所以该参数的值为http://127.0.0.1:3100/loki/api/v1/push

scrape_config:日志爬虫配置,这里以最简单的文件爬虫为例。jon_name即为爬虫名称,没啥大用。targets为爬虫目的主机,本文中设为localhost即可。labels即为爬虫的标签,到时候可以使用标签过滤查看日志。labels.__path__即为日志文件所在路径,promtail会自动将该文件的日志推送至Loki服务。

在主机B安装并部署Grafana下载安装Grafana

下载链接

运行Grafana并配置Loki服务

在HTTP.URL中输入http://<ip_of_host_A>:<prot_of_Loki_of_host_A>并保存配置即可。

配置完成后即可在Grafana的explor中查看我们的日志

结语

本文只是简单地介绍了如何将一台主机的日志发送至另一台主机查看,若想将多台主机的日志发送至至一台主机查看,按照相同的操作配置即可。

本次并未深入介绍Promtail与Loki的原理。Promtail除了可以将日志文件中的日志推送至Loki外,还可以将其他一些服务如Docker容器或者系统服务的日志也推送到Loki。且他除了可以直接推送日志外,还可以将日志进行一定规则的过滤筛选更改之后,再推送出去。感兴趣的朋友可以自行去深入了解一下Promtail与Loki。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
现在波兰的签证率高不高 去波兰如何办签证 去波兰办签证好办理吗 波兰签证好签吗 win7 多重网络 教师资格证普通话要多少级 想考教师资格证普通话必须过几级 qq影视会员SVIP和超级影视VIP的区别在哪里? 一小撮怎么造句 盛行一时怎么造句 杀生丸有没有喜欢的人?他和小铃的感情是什么 结肠袋半月襞消失的饮食注意事项有哪些? 结肠袋半月襞消失的检查方法有哪些? 大肠大肠的功能 结肠透析能降肌酐吗 结肠袋是什么意思? 四大名捕斗将军完整版 网络用语普通人长十郎是什么梗-普通人长十郎梗意思及出处分享 银耳的正确吃法是什么意思 前任小叔他又野又欲短剧冷司寒是谁演的 短剧小叔的甜蜜陷阱大结局 华为手机怎么拍摄动态照片呢? 平常吃的银耳是什么 银耳怎样吃更有营养? 吸烟会危害人体的哪些器官 抽烟伤肝吗 抽烟对身体有那些害处?拜托各位大神 吸烟对身体都有什么坏处? 吸烟对人体哪个器官损害最大 大学无机化学呼出的 go语言好学(go语言值得学知乎) 40岁的年纪怎么形容 四十岁的人生,才刚刚开始 孕妇三维彩超和四维彩超的区别 如何判断网恋奔现的可行性? 网恋奔现的成功率是多少 什么什么好施 斗地主分是什么意思? 轻财好施是什么意思轻财好施的解释 亲爱的味道在哪可以看 亲爱的味道哪里播出 矮子观场的近义词 矮个的词语是什么 水泥房檐脱落维修方法 身份证照片可以换吗 身份证照片能不能换 水泥顶房檐开裂下垂怎么修 黄山四绝奇松是指什么 黄山奇松的名字是什么? 新房平房房檐裂缝漏水是什么原因?是混凝土的,清明前开始盖的 为什么我家的房沿会开裂 股票10送5是什么意思?