loki日志用什么做标签(轻量级日志分析平台Loki实战)
loki日志用什么做标签(轻量级日志分析平台Loki实战)curl-L"https://github.com/docker/compose/releases/download/1.28.3/docker-compose-$(uname-s)-$(uname-m)"-o/usr/local/bin/docker-compose chmod x/usr/local/bin/docker-compose2.0 下载yaml文件wgethttps://raw.githubusercontent.com/grafana/loki/v2.2.0/production/docker-compose.yaml-Odocker-compose.yamlversion:"3" networks: loki: services: loki: image:grafana/loki:2.0.0 ports: -"3100:310
Loki的第一个稳定版本于2019年11月19日发布,是 Grafana Labs 团队最新的开源项目,是一个水平可扩展,高可用性,多租户的日志聚合系统。Loki 是专门用于聚集日志数据,重点是高可用性和可伸缩性。与竞争对手不同的是,它确实易于安装且资源效率极高。
特点:优点:
1、Loki的架构非常简单,使用了和prometheus一样的标签来作为索引,通过这些标签既可以查询日志的内容也可以查询到监控的数据,不但减少了两种查询之间的切换成本,也极大地降低了日志索引的存储。
2、与ELK相比,消耗的成本更低,具有成本效益。
3、在日志的收集以及可视化上可以连用grafana,实现在日志上的筛选以及查看上下行的功能。
缺点:1、技术比较新颖,相对应的论坛不是非常活跃。
2、功能单一,只针对日志的查看,筛选有好的表现,对于数据的处理以及清洗没有ELK强大,同时与ELK相比,对于后期,ELK可以连用各种技术进行日志的大数据处理,但是loki不行。
组成1.loki是主服务器,负责存储日志和处理查询。
2.promtail是代理,负责收集日志并将其发送给 loki 。
3.Grafana用于 UI 展示。
本次安装使用docker部署
1.0 安装 docker-composecurl-L"https://github.com/docker/compose/releases/download/1.28.3/docker-compose-$(uname-s)-$(uname-m)"-o/usr/local/bin/docker-compose
chmod x/usr/local/bin/docker-compose
2.0 下载yaml文件
wgethttps://raw.githubusercontent.com/grafana/loki/v2.2.0/production/docker-compose.yaml-Odocker-compose.yaml
version:"3"
networks:
loki:
services:
loki:
image:grafana/loki:2.0.0
ports:
-"3100:3100"
command:-config.file=/etc/loki/local-config.yaml
networks:
-loki
promtail:
image:grafana/promtail:2.0.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
3.0 启动服务
docker-compose-fdocker-compose.yamlup
4.0 检查服务
http://192.168.106.202:3000/
默认granfna密码admin/admin
5.1 配置数据源配置ip和默认数据源,配置完成点击测试/保存
explore 查询样例
至此一次样例日志查询完成
6.0 promtail配置详解promtail容器为日志采集容器,配置文件在promtail容器/etc/promtail/config.yml,将该容器部署在需要采集日志的服务器上就能正常采集日志传回loki服务收集整理
root@2a0cc144dd58:/#cat/etc/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#这里配置的地址为loki服务器日志收集的信息
scrape_configs:
-job_name:system
static_configs:
-targets:
-localhost
labels:
job:varlogs#这里为刚才选择job下子标签
__path__:/var/log/*log#将采集的日志放在/var/log/*log下自动发现
7.0 增加一台服务器日志采集7.1 编写 promtail的配置文件config.yml
mkdir/root/promtail&&cd/root/promtail
[root@node2promtail]#catconfig.yml
server:
http_listen_port:9080
grpc_listen_port:0
positions:
filename:/tmp/positions.yaml
clients:
-url:http://192.168.106.202:3100/loki/api/v1/push#这里配置的地址为loki服务器日志收集的信息
scrape_configs:
-job_name:mysql
static_configs:
-targets:
-localhost
labels:
job:mysql#这里为刚才选择job下子标签
__path__:/var/log/*log#将采集的日志放在/var/log/*log下自动发现
7.2 编写docker-compose.yaml配置文件
[root@node2promtail]#catdocker-compose.yaml
version:"v1"
services:
promtail:
image:grafana/promtail:2.0.0#拉去镜像
container_name:promtail-node#镜像名称
volumes:
-/root/promtail/config.yml:/etc/promtail/config.yml#挂载目录
-/var/log:/var/log
network_mode:'host'
7.3 启动
docker-composeup-d
8.0 去loki上查看检索
可以根据数据查询到相应日志信息。
后面会分享更多运维方面的内容,感兴趣的朋友可以关注下!
*特别声明:本文为【奋斗的小白】投稿,仅代表作者观点。马哥教育仅提供信息发布平台。