从0开始搭建日志分析系统(一)

从0开始搭建日志分析系统(一):日志收集

一、在服务器上搭建日志收集系统

  • 安装需要的环境:nodejs pm2

  • 部署项目
    https://github.com/17it/lempb.git

  • 配置nginx(一般是在conf.d目录下加上一个配置文件,如pb.conf pbhttps.conf)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    server {
    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
    13
    server {
    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之前是否已启动 **

访问测试

到此,第一步大功告成,可以在需要的地方上报日志到该服务器上,服务器会自动收集上报的日志到步骤一项目里配置的路径

坚持原创技术分享,您的支持将鼓励我继续创作!