Logan是美团推出的日志收集方案,覆盖了iOS客户端、安卓、web和Server接口、web查看一整套方案。比ELK方案更轻便。这两天搭建了一下,还是踩了不少坑,记录一下要点。

客户端的集成很简单,就是cocoapods、npm直接集成,然后埋点上传即可,这里主要记录服务器的搭建。

前期准备

宝塔面板后台通过软件应用可以一键安装Docker、数据库等环境,需要Docker、MySQL (我用的8.0)、Node (10版本)、Python(2.7版本)。

2024-05-08T08:42:39.png

安装一下Docker和MySQL数据库,添加一个logan用的数据库。数据库名字和账号后续要用。安装好数据库后,执行Logan/Server的文档里面sql语句创建表结构。

2024-05-08T08:42:58.png

下载Logan的git仓库 👉🏻 Meituan-Dianping/Logan

例如接口的api域名是http://l.ddceo.com,web查看的域名是http://w.ddceo.com

接口Server的安装

编辑Logan/Server/src/main/resources/db.properties文件,编辑jdbc.urljdbc.usernamejdbc.password为真实的数据库信息,默认操作配置IP是127.0.0.1,port为3316,例如我的数据库表名为logan、账号为root,密码为123456,则对应下面配置

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3316/logan?characterEncoding=UTF8&allowMultiQueries=true&socketTimeout=60000&autoReconnect=true
jdbc.username=root
jdbc.password=123456

Logan/Server目录上传到服务器,进入该目录,运行命令

docker build -t builder-img -f Dockerfile .

运行完毕之后,进入Docker菜单,容器功能,添加容器,默认为builder-img:latest,创建之后会得到一个内网ip,我的这里是172.17.0.3

2024-05-08T08:44:17.png

进入左侧网站目录,添加站点,绑定域名,这里是请求的域名。然后在配置文件,设置一下代理。添加下面配置,默认端口是8080

upstream api_server {
    server 172.17.0.3:8080 fail_timeout=0;
}

server {
    location / {
        proxy_pass  http://api_server;
        proxy_set_header Host $host;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_hide_header Access-Control-Allow-Origin;
        add_header Access-Control-Allow-Origin 'http://w.ddceo.com';
    }
}

然后访问站点的logan-web目录,返回hello, logan代表已成功 http://l.ddceo.com/logan-web/

扫码关注公众号,发送
1279
自动获取

☟☟可点击下方广告支持一下☟☟

最后修改:2024 年 05 月 09 日
请我喝杯可乐,请随意打赏: ☞已打赏列表