从0开始搭建日志分析系统(一):日志收集
一、在服务器上搭建日志收集系统
安装需要的环境:nodejs pm2
配置nginx(一般是在conf.d目录下加上一个配置文件,如pb.conf pbhttps.conf)
1
2
3
4
5
6
7
8
9
10
11
12
13
14server {
listen 80;
root /;
charset utf-8;
location ~ ^/lempb {
#proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:10086;
break;
}
}如果有添加证书,可以加上https的配置
1
2
3
4
5
6
7
8
9
10
11
12
13server {
listen 443;
root /;
charset utf-8;
ssl on;
ssl_certificate /etc/nginx/conf.d/fullchain.pem;
ssl_certificate_key /etc/nginx/conf.d/privkey.pem;
location ~ ^/lempb {
# 不用缓存
proxy_pass http://127.0.0.1:10086;
}
}
二、logrotate自动切割日志文件
- 安装logrotate
参照:https://www.cnblogs.com/cainiaoliu/p/6259640.html - 配置切割服务
在/etc/logrotate.d/目录下新建一配置文件lempb并配置(其中日志名为需要切割的日志所在目录,记得写全路径)1
2
3
4
5
6
7
8
9
10
11/letv/logs/lempb/out_log.log{
daily
rotate 10
dateext
dateyesterday
compress
copytruncate
missingok
notifempty
create
}
三、crontab定时执行切割服务
- crontab -e 配置定时任务(每天凌晨0点0分执行)** 注意配置时候脚本或命令需要写全路径 **
1
0 0 * * * /usr/sbin/logrotate -vf /etc/logrotate.d/lempb
** 一般crontab编辑后不用重新启动就会生效,但需要注意crontab之前是否已启动 **
访问测试
到此,第一步大功告成,可以在需要的地方上报日志到该服务器上,服务器会自动收集上报的日志到步骤一项目里配置的路径