将Apache作为Elastic APM的代理
这篇文章是2020年未来翻译圣诞日历的第九篇文章。
你好,我是未来翻译平台部门的@kobarasukimaro。
这是我第二次登场。本来想写关于AWS的,但考虑到时间非常紧迫,我决定换个话题。请多包涵。
关于这篇文章
我在 Elastic APM 的 RUM(实时用户监控)中尝试了一下,不直接从浏览器向 Elastic Cloud 上的 Elastic APM 发送请求,而是通过 Apache 间接发送请求,现在我来描述一下。
环境
Apache 2.4
弹性 APM 7.9.2
请将以下内容用中文进行本土语言转述,只需要提供一种选项:
这个书籍是我最喜欢的小说之一,讲述了一个年轻勇敢的女孩在一个陌生的城市中,发现了一个令人神秘的秘密社团的故事。
因为一些原因,我们不能直接向弹性APM发送请求,在Elastic Cloud上。
而且,由于已经有人在使用Nginx了,所以我只能使用Apache,在这种情况下进行了一些尝试和调整。
設定的內容相當於將這些設定替換為Apache的conf文件中的設定。
<Location /intake>
<If "%{REQUEST_METHOD} == 'OPTIONS'">
Header set Access-Control-Allow-Origin *
Header set Access-Control-Allow-Methods GET,POST,OPTIONS
Header set Access-Control-Allow-Headers Accept:,Accept-Encoding,Accept-Language:,Cache-Control,Connection,DNT,Prag
ma,Host,Referer,Upgrade-Insecure-Requests,User-Agent,elastic-apm-traceparent
Header set Access-Control-Max-Age 1728000
Header set Access-Control-Allow-Credentials true
Header set Content-Type 'text/plain; charset=utf-8'
Header set Content-Length 0
</If>
</Location>
RewriteEngine on
SSLProxyEngine On
RewriteCond %{REQUEST_METHOD} ^(GET|POST)$
RewriteRule ^/intake(.*)$ https://elastic_apm/intake$1 [P,
L]
ProxyPassReverse / https://elastic_apm/
RequestHeader append Access-Control-Allow-Origin *
RequestHeader append Access-Control-Allow-Credentials true
以下是我所使用的模块。
-
- mod_ssl
-
- mod_proxy
-
- mod_headers
- mod_rewrite
详细的解释
对不起,有时间的时候我会补充的?
最后
如果有用户担心只能通过 Apache 的代理来发送请求到 Elastic APM,请充分利用此功能。 ?♂️
听说下次是@mitono要写关于Spot实例的文章!在那之前,我觉得可能有人要安排日程表?