ELK环境搭建+安全认证、Nginx日志收集-成都创新互联网站建设

关于创新互联

多方位宣传企业产品与服务 突出企业形象

公司简介 公司的服务 荣誉资质 新闻动态 联系我们

ELK环境搭建+安全认证、Nginx日志收集

           在此之前,ELK理论知识我已经在我的上一篇博客已经阐述完了,在本篇博客中我将部署完整的ELK环境,如有不足之处、请大家批评指证。

创新互联建站是专业的河南网站建设公司,河南接单;提供成都网站制作、做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行河南网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

  1.   一、   ELK安装信息

  2. 192.168.10.101 Elasticsearch+kibana

    192.168.10.103 Logstash

    注释:部署环境应部署JDK1.8版本因为ELK是由java语言开发因此事先部署jdk环境。
  3.    (一)  我这里已经部署完成

  4. java version "1.8.0_131"

  5. Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

  6. Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

 (二)  下载Elasticsearch+kibana,由于我们是在一台服务器部署ES和kibana因此我们安装顺序安装。下载ES并配置

tar zxvf elasticsearch-5.3.0.tar.gz
mv elasticsearch-5.3.0 /usr/local/elasticsearch
useradd elk   #由于ES不能使用root用户启动,因此创建普通用户elk不用设置密码
chown -R elk /usr/local/elasticsearch/     #改变文件拥有者
vim  /usr/local/elasticsearch/config jvm.options            #进入到这个文件并修改内存因为我的虚拟机内存是2G的因此要改为1G,如果你的虚拟机是4G或者8G你就可以忽略此选项。
vim  usr/local/elasticsearch/config/ elasticsearch.yml
找到# network.host这一行,并修改为0.0.0.0     #设置监听ip 
 su – elk     #切换用户
/usr/local/elasticsearch/bin/elasticsearch -d     #-d、代表后台启动
netstat -ntlp|grep -E "9200|9300"   #查看端口是否启动 
  Port 9200      ES对外数据存储端口,客户端连接该端口发送和接收数据;
  Port 9300      ES对内部分布式集群节点的端口,分布式节点之间通信;

1.       至此ES已经配置完,接下来部署Kibana

tar zxvf kibana-5.3.0-linux-x86_64.tar.gz
mv kibana-5.3.0-linux-x86_64 /usr/local/kibana
/usr/local/kibana
chown -R elk.root *       #改变拥有者
vim /usr/local/kibana/config/ kibana.yml
找到#server.host       #去掉注释后面写0.0.0.0
找到# elasticsearch.url:    #启动注释后面写自己本机ip+port,如果有节点以逗号为分隔
启动kibana
cd  /usr/local/kibana/bin
nohup ./kibana &    以后台方式启动
netstat -tnl|grep -E "9200|9300|5601"    #端口是否启动,5601为kibana端口
打开浏览器输入kibana服务器ip,成功访问出现如下界面

ELK环境搭建+安全认证、Nginx日志收集

            2、默认界面是英文界面,不方便管理人员因此我们要对ELK-WEB进行中文汉化支持

        下载地址:wget http://bbs.jfedu.net/download/Kibana_Hanization_2018.tar.gz
        由于汉化过程是不可逆的,因此汉化前应把Kibana备份
        cp kibana/ kibana.bak -a
        tar xzf Kibana_Hanization_2018.tar.gz
        python main.py /usr/local/kibana

ELK环境搭建+安全认证、Nginx日志收集

        (1)打开浏览器查看是否汉化成功

ELK环境搭建+安全认证、Nginx日志收集

    二、 ES+Kibana已经配置完成,接下来配置客户端Logstash

tar xzf logstash-5.3.0.tar.gz
mv logstash-5.3.0 /usr/local/logstash
/usr/local/logstash 
mkdir   etc        #默认没有etc文件,所以新建一个因为这里放的都是Logstash收集客户端的指令

 (一)我们在客户端收集Nginx日志

vim /usr/local/logstash/etc/nginx_logs.conf 
input {
   file {
       type => "nginx-access"
       path => "/usr/local/nginx/logs/access.log"
   }
}
output {
  elasticsearch {
    hosts => "192.168.10.101"   #填写ES服务器的地址
    }
}

nohup ../bin/logstash -f nginx_log.conf &  #启动Logstash

   1、   打开Kibana浏览器清晰看到Nginx访问日志

   ELK环境搭建+安全认证、Nginx日志收集    

    三、Kibana安全认证

    当我们安装完ES、Kibana启动进程,可以直接在浏览器访问,这样不利于数据安全,接下来我们利用Apache的密码认证进行安全配置。通过访问Nginx转发只ES和kibana服务器。

Kibana服务器安装Nginx:

um install pcre-devel pcre -y
wget -c http://nginx.org/download/nginx-1.12.0.tar.gz 
tar -xzf nginx-1.12.0.tar.gz
useradd www ;
cd nginx-1.12.0
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install

 (一)、修改Nginx.conf配置文件代码如下:

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    upstream  jvm_web1 {
    server    127.0.0.1:5601  weight=1  max_fails=2  fail_timeout=30s;
}
    server {
        listen  80;
        server_name  localhost;
        location / {
         proxy_set_header  Host  $host;
         proxy_set_header  X-Real-IP  $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_pass http://jvm_web1;
        }
    }
}

    1、修改kibana配置文件监听IP为127.0.0.1:

ELK环境搭建+安全认证、Nginx日志收集

 2、重启kibana和Nginx服务,通过Nginx 80端口访问如下:

ELK环境搭建+安全认证、Nginx日志收集

 3、添加Nginx权限认证:

 Nginx.conf配置文件location /中加入如下代码:

auth_basic   "ELK Kibana Monitor Center"; auth_basic_user_file   /usr/local/nginx/html/.htpasswd;    
通过Apache加密工具htpasswd生成用户名和密码:
htpasswd -c /usr/local/nginx/html/.htpasswd admin

ELK环境搭建+安全认证、Nginx日志收集

  4、重启Nginx web服务,访问如下:

ELK环境搭建+安全认证、Nginx日志收集

ELK环境搭建+安全认证、Nginx日志收集

用户名和密码正确,即可登录成功,如下图所示:

ELK环境搭建+安全认证、Nginx日志收集


新闻标题:ELK环境搭建+安全认证、Nginx日志收集
转载来源:http://kswsj.cn/article/pjcgjj.html

其他资讯