注意

  • 如果不想使用加密模块或者环境配置不成功,public key 参数设置为空字符即可,解密脚本使用 decode_mars_nocrypt_log_file.py, 但这样日志会只压缩不加密。
  • 同步日志考虑到效率问题,不使用加密。也不建议给线上用户开启同步日志,推荐所有 release 版本异步模式日志。

在这之前先确保自己机器安装了python2.7x的版本

Windows

OS X

  • 下载 pyelliptic1.5.7
  • 解压执行:python setup.py install 安装 pyelliptic1.5.7 注:如果没权限sudo python setup.py install

Linux/Unix

  • 安装 openssl。如已安装忽略此步骤。
  • 下载 pyelliptic1.5.7
  • 解压执行:python setup.py install 安装 pyelliptic1.5.7在 mars\log\crypt 下执行 python gen_key.py 如果能生成成功则表示配置成功。 python gen_key.py会生成private key 和public key,把pulic key作为appender_open 函数参数设置进去,private key务必保存在安全的位置,防止泄露。并把这两个key设置到 mars\log\crypt 中 decode_mars_crypt_log_file.py脚本中。

常见问题

  • 如果遇到 error: unpack requires a string argument of length 8。 请试着把python版本换成2.7.10以后的版本,但注意还是2.7x版本。

  • 来自 yaowenqiang issue 的提醒:pyelliptic1.5.7 不支持 openssl 1.1 版本,会报以下错误:

AttributeError: /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1: undefined symbol: ECDH_OpenSSL

可以安装下面这个打补丁的版本

pip install https://github.com/mfranciszkiewicz/pyelliptic/archive/1.5.10.tar.gz#egg=pyelliptic