Logan是美团推出的日志收集方案,覆盖了iOS客户端、安卓、web和Server接口、web查看一整套方案。比ELK方案更轻便。这两天搭建了一下,还是踩了不少坑,记录一下要点。
客户端的集成很简单,就是cocoapods、npm直接集成,然后埋点上传即可,这里主要记录服务器的搭建。
前期准备
宝塔面板后台通过软件应用可以一键安装Docker
、数据库等环境,需要Docker、MySQL (我用的8.0)、Node (10版本)、Python(2.7版本)。
- node需要10版本,最新的20版本兼容问题会报错Undefined variable standalone_static_library in binding.gyp while trying to load binding.gyp
- python需要安装2版本,更换版本可以参考Ubuntu更改默认python版本,可以使用update-alternatives命令切换更方便
安装一下Docker和MySQL数据库,添加一个logan用的数据库。数据库名字和账号后续要用。安装好数据库后,执行Logan/Server的文档里面sql语句创建表结构。
下载Logan的git仓库 👉🏻 Meituan-Dianping/Logan
例如接口的api域名是http://l.dongge.org
,web查看的域名是http://w.dongge.org
接口Server的安装
编辑Logan/Server/src/main/resources/db.properties
文件,编辑jdbc.url
、jdbc.username
和jdbc.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
进入左侧网站目录,添加站点,绑定域名,这里是请求的域名。然后在配置文件,设置一下代理。添加下面配置,默认端口是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.dongge.org';
}
}
然后访问站点的logan-web目录,返回hello, logan
代表已成功 http://l.dongge.org/logan-web/
版权属于:东哥笔记 - DongGe.org
本文链接:https://dongge.org/blog/1279.html
自2017年12月26日起,『转载以及大段采集进行后续编辑』须注明本文标题和链接!否则禁止所有转载和采集行为!
1 条评论
这篇文章写得深入浅出,让我这个小白也看懂了!