zl程序教程

您现在的位置是:首页 >  云平台

当前栏目

ELK详解(十八)——Nginx代理Kibana实战

代理Nginx 详解 实战 ELK 十八 Kibana
2023-09-14 09:01:45 时间

今天继续给大家介绍Linux运维相关知识,本文主要内容是使用Nginx来代理Kibana。

一、Nginx代理Kibana简介

在ELK架构中,Kibana存在一个问题,即没有验证页面,这对ELK架构的安全性有着一定的影响。为了解决Kibana没有验证的问题,我们可以设置Nginx对Kibana的代理。
当用户访问时,使其首先访问Nginx,我们可以在Nginx上配置用户身份认证,以确保安全性,如果认证通过,我们再通过Nginx的反向代理功能,将客户端链接转移到Kibana上。这样,既实现了Kibana的登录身份验证,又保证了Kibana的正常功能使用。

二、Nginx配置

首先,我们安装Nginx,Nginx的安装可以参考文章:LNMP详解(二)——Nginx源码安装与启动,或者在安装EPEL的扩展源后,进行YUM安装Nginx(为方便起见,本实战采用了这种安装方式),执行命令:

yum install -y epel-release
yum install -y nginx

在Nginx安装完成后,我们进行Nginx的配置。由于Nginx在默认配置中,会自动引入/etc/nginx/conf.d/目录下的以.conf为结尾的文件。因此,我们直接在该目录下,创建一个kibana.conf的配置文件,文件内容如下所示:

upstream kibana{
        server 127.0.0.1:5601 weight=1 max_fails=3 fail_timeout=30;
}
server{
        listen 80;
        auth_basic "Restricted Access";
        auth_basic_user_file /etc/nginx/auth/user-passwd;
        location / {
                proxy_pass http://kibana;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
        }
}

可以看出,在上述配置文件中,实现了Nginx对Kibana的反向代理和登录验证的配置。对上述配置存在疑惑的可以查阅文章:LNMP详解(七)——Nginx反向代理配置实战,在该文章中对上述配置的作用和效果有着详细的讲解。
Nginx配置完成后,我们根据上述配置生成身份验证文件,执行命令:

htpasswd -bc /etc/nginx/auth/user-passwd admin admin

这样,就会生成用户名和密码(在上述命令中,前面的是用户名,后面的是密码)均为admin的用户配置文件。该命令执行过程如下所示:
在这里插入图片描述
注意:如果您的设备上没有htpasswd命令,说明没有安装httpd-tools,可以执行命令:

yum install -y httpd-tools

进行安装。
完成配置后,我们执行命令:

syetemctl start nginx

可以打开Nginx,并使我们的配置生效。Nginx打开后,会监听本地81端口,如下所示:
在这里插入图片描述

三、Kibana配置

接下来,我们进行Kibana的配置,kibana的配置主要是将监听的IP由原来的网卡IP地址改为127.0.0.1,修改完成后的kibana配置文件如下所示:
在这里插入图片描述
完成后,我们重启Kibana的配置,执行命令:

systemctl restart kibana

结果如下:
在这里插入图片描述
可以看到,Kibana监听的IP是127.0.0.1,并不是我们的网卡IP。

四、效果检验

最后,我们来检验一下刚才的配置结果。
首先,我们通过原来的方式访问Kibana,结果如下:
在这里插入图片描述
可以看到,Kibana由于已经不监听网卡IP地址,因此,我们无法正常访问。
接下来,我们访问Nginx的代理81端口,结果如下:
在这里插入图片描述
可以看到,在Nginx的代理页面中,我们被要求输入用户名和密码。此时,我们输入刚才生成的用户名和密码,就可以进入到Kibana的页面,结果如下所示:
在这里插入图片描述
由上,可见我们的Nginx代理Kibana实战配置成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200