简要说明:
1、Loki 是主服务器,负责存储日志和处理查询 。
2、promtail 是代理,负责收集日志并将其发送给 loki 。
3、Grafana 用于 UI 展示。
2.部署loki
1.创建目录
[root@web01 ~]#mkdir /opt/loki
2.解压压缩包
[root@web01 /opt/loki]#unzip loki-linux-amd64.zip
[root@web01 /opt/loki]#cat loki-local-config.yaml
auth_enabled: false
server:
http_listen_port: 3100
grpc_listen_port: 3110
grpc_server_max_recv_msg_size: 1073741824 #grpc最大接收消息值,默认4m
grpc_server_max_send_msg_size: 1073741824 #grpc最大发送消息值,默认4m
ingester:
lifecycler:
address: 127.0.0.1
ring:
kvstore:
store: inmemory
replication_factor: 1
final_sleep: 0s
chunk_idle_period: 5m
chunk_retain_period: 30s
max_transfer_retries: 0
max_chunk_age: 20m #一个timeseries块在内存中的最大持续时间。如果timeseries运行的时间超过此时间,则当前块将刷新到存储并创建一个新块
schema_config:
configs:
- from: 2021-01-01
store: boltdb
object_store: filesystem
schema: v11
index:
prefix: index_
period: 168h
storage_config:
boltdb:
directory: /opt/loki/index #存储索引地址
filesystem:
directory: /opt/loki/chunks
limits_config:
enforce_metric_name: false
reject_old_samples: true
reject_old_samples_max_age: 168h
ingestion_rate_mb: 30 #修改每用户摄入速率限制,即每秒样本量,默认值为4M
ingestion_burst_size_mb: 15 #修改每用户摄入速率限制,即每秒样本量,默认值为6M
chunk_store_config:
# max_look_back_period: 168h #回看日志行的最大时间,只适用于即时日志
max_look_back_period: 0s
table_manager:
retention_deletes_enabled: false #日志保留周期开关,默认为false
retention_period: 0s #日志保留周期
启动服务
[root@web01 ~]# nohup /opt/loki/loki-linux-amd64 -config.file=/opt/loki/loki-local-config.yaml >loki.out 2>&1 &
3.部署promtail
解压
[root@web01 /opt/loki]#unzip promtail-linux-amd64.zip
配置文件
[root@web01 /opt/loki]#cat promtail-local-config.yaml
server:
http_listen_port: 9080
grpc_listen_port: 0
grpc_server_max_recv_msg_size: 900000000000
grpc_server_max_send_msg_size: 900000000000
positions:
filename: /opt/loki/positions.yaml
clients:
- url: http://10.0.0.7:3100/loki/api/v1/push
batchwait: 10s
batchsize: 40960000
scrape_configs:
- job_name: system
static_configs:
- targets:
- localhost #发送地址
labels:
job: varlogs
host: localhost
__path__: /var/log/messages*
启动服务
[root@web01 ~]#nohup /opt/loki/promtail-linux-amd64 -config.file=/opt/loki/promtail-local-config.yaml >promtail.out 2>&1 &
4.安装Grafana
下载rpm包
[root@web01 ~]#wget https://dl.grafana.com/oss/release/grafana-10.2.0-1.x86_64.rpm
本地安装
[root@web01 ~]#yum install grafana-10.2.0-1.x86_64.rpm
启动服务
[root@web01 ~]#systemctl start grafana-server.service
检查端口
[root@web01 ~]#ss -nlt | grep 3000
LISTEN 0 128 *:3000 *:*