关于apm:Elastic-APM-APM服务配置安全访问-TSLSSL下的accessToken模式

6次阅读

共计 1845 个字符,预计需要花费 5 分钟才能阅读完成。

Elastic APM , APM服务配置平安拜访, TSL/SSL下的 accessToken 模式

如何配置 accessToken 拜访,官网文档地址

apm-server 的配置文件apm-server.yaml 外面的 apm-server.auth.secret_token 自定义一个字符串,比方:
`apm-server.auth.secret_token:123456xxx
`

而后在你的客户端 Agent 里配置:Node.js示例:源码 Github 地址

var apm = require('elastic-apm-node').start({
    // Override service name from package.json
    // Allowed characters: a-z, A-Z, 0-9, -, _, and space
    serviceName: 'zipcode service',
  
    // Use if APM Server requires a token
    secretToken: '123456xxx',    // 注意这里
  
    // Set custom APM Server URL (default: http://localhost:8200)
    serverUrl: 'https://localhost:8200',
  })

而后重启 apm-server,重启客户端,登录kibana, 在APM 控制台里就能够看到实例了,如果 agent 未配置 secretToken 拜访,则会报错。

上述过程是未配置 apm-serverSSL/TSL拜访,这会带来一个平安问题,凭证通过 http 申请很容易被窃取,所以须要配置成 https 服务。这是官网举荐的做法。

官网 SSL/TSL 配置文档地址 这是英文的并且说的并不具体。举荐一个更具体的教程,地址

这个教程外面大部分的操作都是正确的,不过也有一些是谬误,比方上面的代码:

var apm = require('elastic-apm-node').start({
    // Override service name from package.json
    // Allowed characters: a-z, A-Z, 0-9, -, _, and space
    serviceName: 'zipcode service',
  
    // Use if APM Server requires a token
    secretToken: '1234561',
  
    // 配置好 ca 当前 , 曾经是 https 服务器了
    // Set custom APM Server URL (default: http://localhost:8200)
    serverUrl: 'http://localhost:8200'     // 这里是谬误的
    serverUrl: 'https://localhost:8200'     // 这样才是正确的
 
    verifyServerCert: true,
    serverCaCertFile: "ca.crt"
  })

如果不改过,间接依照教程外面的代码,apm-server 会报 APM Server transport error (400): Unexpected APM Server response\nClient sent an HTTP request to an HTTPS server.\n",意思是说客户端向 HTTPS 服务器发送了 HTTP 申请。

另外,教程外面的:

另注:咱们能够应用如下的命令把一个.crt 的证书转换为一个 .pem 的证书:openssl x509 -in mycert.crt -out mycert.pem -outform PEM

这是对于咱们的配置也是不影响的,能够不必看,自己看教程的时候就被影响了。

PS: 还有一个须要留神的点,教程外面生成证书的时候传的 namelocalhost , 生成的证书也是 localhost.crtlocalhost.key 这里是和你最初拜访的https 地址 (https://localhost:8200) 对应的,改成其余也是不行的,至于原理就是 https 原理的问题了,这里就是不坐赘述了。

教程应用的是 Mac 操作的,自己是在 windows 下操作的,是能够的,linux下未实操。

PS: Agent 连贯 apm-server 的时候如有报错,报错信息都提醒的很分明,呈现问题的时候第一工夫想到看这里的错误信息(Agent的报错信息,还有 apm-server 的报错信息)

衷心感谢原教程 ,原教程写的十分好,都很具体,就是有一点谬误,之所以从新写一篇文章,是因为切实不怎么喜爱 CSDN,所以没有在CSDN 下留言。所以把补充都写在这里了。如有谬误,欢送斧正!

正文完
 0