需求背景
- 所有脱离业务场景的技术讨论都是耍流氓
- 之前的开源项目做前端基建的一部分正好需要做日志监控与埋点juejin.im/post/5e880b…
- 市面上也有开源监控日志的项目例如github.com/getsentry/s…
- 个人的诉求想管理git发送钉钉还有支持并发场景,要考虑异步,削峰,解耦,有什么比用消息队列自己做一个更合适呢
- 其实在选择rabbitmq时自己也是实验态度,还好是自己的开源项目
- 基于以上的一些原因就决定自己开发一个日志监控与埋点系统
实现原理
- 在上线代码中加入sdk捕获异常发送到服务端
- 利用source-map和error-stack-parser解析异常
- 通过git命令查出当前行的提交者
- 调用钉钉的api发送消息
- 开始第一步搭建环境
下载(参照blog.csdn.net/qq_39135287…)
- 首页明确要安装两个东西
- 一个erlang是后者的环境依赖,一个是今天的猪脚rabbitmq
- erl下载地址 www.erlang.org/downloads/2…
-
- mq下载地址 www.rabbitmq.com/install-gen…
-
- 注意事项下载特别慢,可以使用xx等工具加速(你懂的),如果下载比较缓慢可以切换版本再下载
- 注意rabbitmq版本问题分别在3.3以下,3.7以下以及最新的3.8配置项文件目录不同,而3.8更没有配置文件(重点)
上传
- 两个文件包下载成功之后上传到服务器
- 可以新建一个目录存放两个压缩文件
tar -zxvf otp_src_xx.tar.gz &>/dev/null //解压Erlangxz -d rabbitmq-server-generic-unix-xx.tar.xz //解压RabbitMQtar -xvf rabbitmq-server-generic-unix-xx.tar &>/dev/nul //解压rabbit
安装erlang
- 安装erlang环境
yum install make gcc gcc-c build-essential openssl openssl-devel unixODBC unixODBC-devel kernel-devel m4 ncurses-devel
- 新建erlang编辑文件安装位置
mkdir -p /usr/local/erlang
- 编译erlang
cd otp_src_xx/ //进入到Erlang目录下 //编译Erlang,这里由于不需要用java编译器编译,所以后面添加了 --without-javac ./configure --prefix=/usr/local/erlang --without-javac
- 安装erlang
make && make install
- 配置环境变量
- vim /etc/profile //编辑环境配置文件 //添加如下配置信息 export ERLANG_HOME=/usr/local/erlang export PATH={ERLANG_HOME}/bin: {PATH} source /etc/profile //重新读取配置文件复制代码
- 创建软连
ln -s /usr/local/erlang/bin/erl /usr/local/bin/erl
- 测试安装是否成功 执行 erl
安装rabbitmq(这个简单多了)
- 配置环境变量
- vim /etc/profile //编辑环境配置文件 //添加如下配置信息 export RABBITMQ_HOME=/usr/local/software/rabbitmq_software/rabbitmq_server-xx export PATH={RABBITMQ_HOME}/sbin: {PATH} source /etc/profile //重新读取配置文件复制代码
- 区分版本添加隐射外网配置否则外网ip无法登陆(我已经最新3.8为例,之前版本需要修改不的配置文件)
添加用户:./rabbitmqctl add_user admin admin 添加权限:./rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*" 修改用户角色:./rabbitmqctl set_user_tags admin administrator
- 启动服务
cd /usr/local/xx/rabbitmq_software/rabbitmq_server-3.7.16/sbin // 进入解压目录 ./rabbitmq-plugins enable rabbitmq_management //开启web管理界面插件 ./rabbitmq-server -detached //启动RabbitMQ服务
-
完结撒花
- 每次感觉都是万事开头难,自己在win上面搞了一阵还没搞好
- 还是在自己的服务器上面搞起来了
- 最后添加ip域名访问是有点绕弯子,好多博客比较陈旧,修改配置的方法,然而现在根本已经没有这个配置文件
- 还是要跟得上啊!旧时的船票上不了新船。
- 下一步开始开发。