需求背景

8762abd5eabbf0cbbfb5de8cdd5b35fb.png
  • 所有脱离业务场景的技术讨论都是耍流氓
  • 之前的开源项目做前端基建的一部分正好需要做日志监控与埋点https://juejin.im/post/5e880bab518825737250390d
  • 市面上也有开源监控日志的项目例如https://github.com/getsentry/sentry
  • 个人的诉求想管理git发送钉钉还有支持并发场景,要考虑异步,削峰,解耦,有什么比用消息队列自己做一个更合适呢
  • 其实在选择rabbitmq时自己也是实验态度,还好是自己的开源项目
  • 基于以上的一些原因就决定自己开发一个日志监控与埋点系统

实现原理

  • 在上线代码中加入sdk捕获异常发送到服务端
  • 利用source-map和error-stack-parser解析异常
  • 通过git命令查出当前行的提交者
  • 调用钉钉的api发送消息
  • 开始第一步搭建环境

下载(参照https://blog.csdn.net/qq_39135287/article/details/95725385

  • 首页明确要安装两个东西
  • 一个erlang是后者的环境依赖,一个是今天的猪脚rabbitmq
  • erl下载地址 https://www.erlang.org/downloads/22.3

afd4efe38297dd70a846bf8939124006.png
  • mq下载地址 https://www.rabbitmq.com/install-generic-unix.html

c9b875d0d37fb26113dcd1254d11f965.png
  • 注意事项下载特别慢,可以使用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服务

9b14a145920f1abdf21900e2511e50fc.png

完结撒花

  • 每次感觉都是万事开头难,自己在win上面搞了一阵还没搞好
  • 还是在自己的服务器上面搞起来了
  • 最后添加ip域名访问是有点绕弯子,好多博客比较陈旧,修改配置的方法,然而现在根本已经没有这个配置文件
  • 还是要跟得上啊!旧时的船票上不了新船。
  • 下一步开始开发。
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐