微服务产生log,promtail搜集Log,Loki保存log,grafana展示log。
负责搜集服务器的日志,部署到每台服务器上。
//promtail 启动后负责的监听端口
server:
http_listen_port: 9080
grpc_listen_port: 0
//position 保存收集log日志的文件目录和行数
positions:
filename: /tmp/positions.yaml
//promtail 将收集到的日志推送给loki的路径
clients:
- url: http://192.168.1.1:3100/loki/api/v1/push
//收集日志的配置
scrape_configs:
- job_name: jobName //配置job名字,可以搜索的时候使用
static_configs:
- targets:
- localhost
labels:
job: jobName //labels job 名字
__path__: /data/logs/***.log //日志文件位置
部署方式采用docker-compose
docker-compose.yml
version: "3"
networks:
loki:
services:
promtail:
image: grafana/promtail:2.4.1
volumes:
- /data/logs:/data/logs
- /data/app/monitor:/etc/promtail
command: -config.file=/etc/promtail/config.yml
restart: always
networks:
- loki
负责保存收集上来的日志,可部署单独一台服务器。也可以部署与grafana一台服务器
//开启认证
auth_enabled: false
//loki服务监听端口配置
server:
http_listen_port: 3100
common:
path_prefix: /loki //定义loki保存路径前缀
storage:
filesystem:
chunks_directory: /loki/chunks //用于保存日志文件路径
rules_directory: /loki/rules // 保存日志规则
replication_factor: 1 //备份系数
ring:
instance_addr: 127.0.0.1
kvstore:
store: inmemory
//配置文件系统
schema_config:
configs:
- from: 2020-10-24
store: boltdb-shipper
object_store: filesystem
schema: v11
index:
prefix: index_
period: 24h
//配置保存周期
talbe_manager:
retention_deletes_enabled: true
retention_period: 48h
//告警规则
ruler:
alertmanager_url: http://localhost:9093
部署方式采用docker-compose
version: "3"
services:
loki:
image: grafana/loki:2.4.1
command: -config.file=/etc/loki/local-config.yaml
restart: always
network_mode: host
volumes:
- "/loki:/etc/loki"
负责数据展示
(1)先配置数据源 将loki的url配置完成
(2)查询数据
先选择explore,选择loki
在log browser:填写查询条件{job="dpc"} 按住 shift+enter 即可查询所有条件
(3)查询语法
按job查询
{job="name"}
按条件查询: 查询job等于“name”,在name的job中含有“condition”的日志
{job="name"} |="condition"
按多条件查询: 查询job等于“name”,在name的job中含有 “condition” 和 “condition2”
{job="name"} |="condition" |= "condition2"
留言与评论(共有 0 条评论) “” |