- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试代理运行 ELK 的后端服务器。这是我的环境信息:
root@proxy:~#
root@proxy:~# cat /etc/*release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"
NAME="Ubuntu"
VERSION="18.04.1 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.1 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
root@proxy:~#
root@proxy:~# nginx -v
nginx version: nginx/1.14.0 (Ubuntu)
root@proxy:~#
root@proxy:~# cat /etc/nginx/nginx.conf
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
root@proxy:~#
root@proxy:~# cat /etc/nginx/conf.d/elk.conf
server {
listen 80;
server_name domain.tld;
return 301 https://$host$request_uri;
}
server {
listen 443 default_server ssl;
server_name domain.tld;
ssl_certificate /etc/letsencrypt/live/domain.tld/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.tld/privkey.pem;
location / {
root /usr/share/nginx/html;
index index.html;
}
location /elk {
proxy_pass http://1.2.3.4:5601;
proxy_http_version 1.1;
proxy_set_header Connection "Keep-Alive";
proxy_set_header Proxy-Connection "Keep-Alive";
}
}
root@proxy:~#
有了上面的配置,当我转到https://domain.tld ,我可以毫无问题地查看我的静态站点,但是当我转到 https://domain.tld/elk 时,我收到 404 Not Found。这是 404 的原始数据:
{"statusCode":404,"error":"Not Found","message":"Not Found"}
这是标题:
Connection: keep-alive
Content-Type: application/json; charset=utf-8
Date: Fri, 04 Jan 2019 11:42:55 GMT
Server: nginx/1.14.0 (Ubuntu)
Transfer-Encoding: chunked
cache-control: no-cache
content-encoding: gzip
kbn-name: kibana
kbn-xpack-sig: d39f386737f81acb1fe7cc2cc4d80109
vary: accept-encoding
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.5
Connection: keep-alive
DNT: 1
Host: domain.tld
Referer: https://domain.tld/
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0
如果我这样配置:
root@proxy:~# cat /etc/nginx/conf.d/elk.conf
server {
listen 80;
server_name domain.tld;
return 301 https://$host$request_uri;
}
server {
listen 443 default_server ssl;
server_name domain.tld;
ssl_certificate /etc/letsencrypt/live/domain.tld/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.tld/privkey.pem;
location / {
proxy_pass http://1.2.3.4:5601;
proxy_http_version 1.1;
proxy_set_header Connection "Keep-Alive";
proxy_set_header Proxy-Connection "Keep-Alive";
}
}
root@proxy:~#
然后转到 https://domain.tld ,它将正确代理回 ELK 并且 Kibana 仪表板正确加载。
一直在修修补补,在线研究并相应地调整样本,但无法按照我想要的方式工作。感谢你的帮助。谢谢!
最佳答案
基本上,您需要进行两项更改才能解决问题。首先,请在 Nginx 服务器 block 文件中的 location
和 proxy_pass
指令的末尾添加斜杠,如下所示:
location /elk/ {
proxy_pass http://1.2.3.4:5601/;
proxy_http_version 1.1;
proxy_set_header Connection "Keep-Alive";
proxy_set_header Proxy-Connection "Keep-Alive";
}
其次,请取消注释 server.basePath
设置并在 kibana.yml 配置文件中提供 /elk
的值:
server.basePath: "/elk"
最后,您必须重新启动 Nginx 和 Kibana,然后再试一次。
关于nginx 代理 ELK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54038561/
我正在尝试代理运行 ELK 的后端服务器。这是我的环境信息: root@proxy:~# root@proxy:~# cat /etc/*release DISTRIB_ID=Ubuntu DISTR
我正在尝试为 Elasticsearch 设置 Shield,但遇到了一些问题 当我尝试像这样启动 Elasticsearch 时: /usr/share/elasticsearch/bin/elas
我知道有很多解决方案,但我找不到最佳解决方案。 我正在使用ELK ** 5.x,**我正在尝试将Kibana配置为依赖于日志文件中的时间戳而不是插入时间戳中的时间戳 这是来自日志文件的示例: {"@t
我们在 K8S pod 中部署了应用程序,并且所有日志都在 ELK 堆栈中进行监控。现在我们有一个使用外部 *.jar 的应用程序,它正在将日志写入容器路径本地的一个文件中。我如何将此日志发送到 ku
我正在使用ELK watcher进行2.2版警报,我的查询输出是这样的 { "took": 549, "timed_out": false, "_shards": {
我有一个使用 Lumen 5.8 制作的微服务,我需要将所有日志发送到 Logstash,以便将它们保存在 ElasticSearch 中。 我需要尝试配置流明日志,但没有任何效果。 我在 loggi
我的系统记录请求。 如果以及何时到达响应,我希望将其与请求对象一起记录。 意思是,当我查询ElasticSearch的 Activity 时,我将为每个请求获得一行,其中要么包含响应,要么不包含响应。
我正在尝试在Kibana上创建带有GEO定位点的Tile map 。 由于某些原因,当我尝试创建 map 时,我在Kibana上收到以下消息: No Compatible Fields: The "l
我的集群中索引很少 索引_2019-01-01 index_2019-01-02 索引_2019-01-03 索引_2019-01-04 索引_2019-01-05 索引_2019-01-06 有两个
重新编制 flex 搜索索引的最佳实践是什么? This帖子有几个步骤,涉及在重新索引索引之前停止logstash索引器,但是作为生产服务器,这不是我的选择。 我有一个问题,因为缺少默认的映射模板,索
在遵循此tuto(https://www.bmc.com/blogs/elasticsearch-logs-beats-logstash/)以使用logstash分析某些日志文件之后,我的索引在第一次
我已经设置了本地ELK。一切正常,但是在尝试编写自己的GROK模式之前,我想知道Winston风格的日志已经存在了吗? 这对于Apache样式日志非常有用。 我需要一些适合Winston风格的东西。我
或者是我搜索能力真的很差,或者App Insights和ELK stack之间没有详细的比较? 所有监控都将用于简单的 Web API,将有大量端点,但用户流量不应太高。 所以我的问题.. 在 ELK
已关闭。此问题旨在寻求有关书籍、工具、软件库等的建议。不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以
我正在尝试用ELK搭建一个日志分析系统。我看到很多以不同方式使用 ELK 的架构。其中之一是 Logstash->Redis->Logstash->Elasticseach->Kibana 第一个Lo
将 NLog 与 Elasticsearch target 一起使用将日志转发到 AWS Elasticsearch as a Service Kibana 中的可视化集群。 这工作正常,但由于 ES
根据logstash-logs,我正在使用https://hub.docker.com/r/sebp/elk/的Docker ELK容器,一切正常且正在运行。 现在,我尝试从Kafka接收数据并使用以
关于轮询/存储日志文件,我有两难选择。 情况是,我们需要监视Cloudhub中的日志,将它们与Logstash聚合并存储(可能与ElasticSearch一起存储)。 Anypoint Runtime
我正在尝试寻找一种在kibana 5.3上解析UserAgent的方法,以便获得以下响应: "aws-sdk-java/1.11.76 Mac_OS_X/10.12.5" "aws-sdk-java/
我已经使用ELK套件处理了日志文件,现在可以在Kibana上查看我的日志了。 我已经在Internet上搜索过,似乎找不到从几个月前在Kibana中可见的所有旧日志删除的方法。 (我的解释很好)。我只
我是一名优秀的程序员,十分优秀!