前言:按照搭建的规则进行部署,可以节省很多麻烦。如果体系成熟,可以结合ansible下发,或者下载需要的文件,解压到制定的目录下。
1.loki的安装 (建议直接去github上,下载v2.7.5的版本)
a.相关文件的下载和解压。
mkdir -p /data/loki/
cd /data/loki/
curl -O -L “https://github.com/grafana/loki/releases/download/v2.7.5/loki-linux-amd64.zip”
或者
wget https://github.com/grafana/loki/releases/download/v2.7.5/loki-linux-amd64.zip
unzip loki-linux-amd64.zip
mv loki-linux-amd64.zip loki
chmod +x loki
b.创建需要的配置文件
vim /data/loki/loki.yaml
auth_enabled: false
server:
http_listen_port: 3100
ingester:
lifecycler:
address: 0.0.0.0
ring:
kvstore:
store: inmemory
replication_factor: 1
final_sleep: 0s
chunk_idle_period: 5m
chunk_retain_period: 30s
schema_config:
configs:
- from: 2023-05-18
store: boltdb
object_store: filesystem
schema: v11
index:
prefix: index_
period: 168h #每张表的时间范围6天
storage_config:
boltdb:
directory: /data/loki/index #索引文件存储地址
filesystem:
directory: /data/loki/chunks #块存储地址
limits_config:
enforce_metric_name: false
reject_old_samples: true
reject_old_samples_max_age: 168h
chunk_store_config:
# 最大可查询历史日期 90天
max_look_back_period: 2160h
table_manager:
# 表只保留7天的数据
retention_deletes_enabled: true
retention_period: 168h
compactor:
#每隔24小时执行一下删除策略
retention_delete_delay: 24h
c.启动程序
nohup ./loki -config.file=./loki.yaml &
扩展:
使用supervisor管理loki程序
安装supervisor 跳过
cd /etc/supervisor/conf.d
vim loki.conf
[program:loki] ;程序名称,终端控制时需要的标识
command=/data/loki/loki -config.file=/data/loki/loki.yaml ; 运行程序的命令
directory=/data/loki/ ; 命令执行的目录
autorestart=true ; 程序意外退出是否自动重启
stderr_logfile=/var/log/loki.err.log ; 错误日志文件
stdout_logfile=/var/log/loki.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行的用户身份
stopsignal=INT
然后 supervisorctl update
上图说明程序正常运行。
2.日志收集程序promtail的安装。(建议直接去github上,下载v2.7.5的版本)
mkdir -p /data/promtail/
cd /data/promtail/
curl -O -L “https://github.com/grafana/loki/releases/download/v2.7.5/promtail-linux-amd64.zip”
或者
wget https://github.com/grafana/loki/releases/download/v2.7.5/promtail-linux-amd64.zip
unzip promtail-linux-amd64.zip
mv promtail-linux-amd64.zip promtail
chmod +x promtail
b.创建需要的配置文件 vim /data/promtail/promtail.yaml
server:
http_listen_port: 9080
grpc_listen_port: 0
positions:
filename: /tmp/positions.ymal
clients:
- url: http://172.17.2.150:3100/loki/api/v1/push #修改为loki的地址
scrape_configs:
- job_name: syslog #这个是配置文件命名方式,方便查看
static_configs:
- targets:
- 172.17.2.150 #填写loki的地址
labels:
job: 2.154_syslog #这个是loki里的日志索引的名字,需要命名为自己需要的名字,方便查看
host: 172.17.2.75 #填写自己的地址
__path__: /var/log/syslog #监控需要监控的日志的路径
- job_name: mysql #这个是配置文件命名方式,方便查看
static_configs:
- targets:
- 172.17.2.150 #填写loki的地址
labels:
job: 2.75_nginxAccesslog #这个是loki里的日志索引的名字,需要命名为自己需要的名字,方便查看
host: 172.17.2.75 #填写自己的地址
__path__: /var/log/nginx/access.log
- job_name: system-log #这个是配置文件命名方式,方便查看
static_configs:
- targets:
- 10.3.115.61 #填写loki的地址
labels:
job: system-log-command #这个是loki里的日志索引的名字,需要命名为自己需要的名字,方便查看
host: 172.16.29.66 #填写���己的地址
__path__: /data/command/*.log #监控需要监控的日志的路径
- targets: #后面有多个路径要抓取可以根据下面来进行划分
- 10.3.115.61
labels:
job: system-log-default
host: 172.16.29.66
__path__: /data/default/*.log
- targets:
- 10.3.115.61
labels:
job: system-log-slot-queue
host: 172.16.29.66
__path__: /data/queue/*.log
扩展:解决vim/vi 中粘贴错乱问题
vim复制代码包含注释时格式会乱掉
通过下面的设置就可以避免这种情况。
解决办法:
1. 在拷贝前输入:set paste (这样的话,vim就不会启动自动缩进,而只是纯拷贝粘贴)
2. 拷贝完成之后,输入:set nopaste (关闭paste)
最方便的方法就是在.vimrc中加一句:
set pastetoggle=<F9>
以后在插入模式下,只要按F9键就可以切换自动缩进。
c.启动程序 nohup ./promtail -config.file=./promtail.yaml &
扩展:
使用supervisor管理promtail程序 安装supervisor 跳过 cd /etc/supervisor/conf.d vim promtail.conf
[program:promtail] ;程序名称,终端控制时需要的标识
command=/data/promtail/promtail -config.file=/data/promtail/promtail.yaml ; 运行程序的命令
directory=/data/promtail/ ; 命令执行的目录
autorestart=true ; 程序意外退出是否自动重启
stderr_logfile=/var/log/promtail.err.log ; 错误日志文件
stdout_logfile=/var/log/promtail.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行的用户身份
stopsignal=INT
评论区