测试服务器简单部署elasticsearch和kibana,实现日志平台

工作需要,在测试环境搭建了一下日志平台,记录一下。

服务器:linux centos

工具列表:elasticsearch,kibana,filebeat 

1、下载es,kibana,filebeat 。直接官网下载 https://www.elastic.co/cn/,因为我的jdk是1.8,所以下载的工具都是5.6.0版本 。正常线上服务器用的最多的应该是ELK,L指的是  Logstash ,因为我都没有配置过。网上查了一些资料,感觉Logstash 搭建好像比较麻烦,所以直接用了官网上的 轻量级日志采集工具:Beats 。 盗用一下官网的图,如下:   Beats里面有很多工具,因为我是直接读取文件,所以用了  Filebeat

测试服务器简单部署elasticsearch和kibana,实现日志平台

2、下载完成后,解压 。es没改配置,默认端口9200 ,为了安全起见,禁止用root 启动。因此新建 用户 elsearch。

创建用户后,需要赋用户权限  chmod -R elsearch:elsearch /kibana-5.6.0  。下面所有操作,都使用 elsearch用户完成

1)使用 nohup ./elasticsearch-5.6.0/bin/elasticsearch & 命令启动es服务

2)进入filebaet目录,修改配置 filebeat.yml ,  主要修改 input节点,paths 改为你服务器上的日志文件路径,比如:/mylog/*/*.log  。输出节点out.elasticsearch 不用修改,直接默认"localhost:9200" ,然后可以使用命令运行 ./filebeat-5.6.0/filebeat ,当然如果在后台运行,可以使用nohup命令

3)修改kibana配置, /kibana-5.6.0/config/kibana.yml ,我只修改了 server.host: "0.0.0.0" 。这样就可以外网访问了。 然后同样操作,启动kibana :./kibana-5.6.0/bin/kibana 

4)根据外网IP+端口访问kibana,kibana默认端口:5601 。进入页面后,默认会提示创建索引 ,Index Patterns ,我也不懂,直接Index pattern 填了* ,就可以选择一个Time Filter field name 。然后创建。就可以使用Kibana的 discover来查看日志了。

3、日志平台可以直接通过域名+端口访问,外网直接访问还是有点危险,我这边用nginx做了一个安全校验

location / {
                proxy_pass http://127.0.0.1:5601$request_uri;
                auth_basic "登陆验证";
                auth_basic_user_file /etc/nginx/htpasswd;
        }

 使用 httpasswd 命令创建账户密码。 如果没有这个命令,可以先安装:yum install httpd-tools

然后使用命令创建用户和密码:htpasswd -/etc/nginx/htpasswd username 。  然后再访问就需要验证账号密码了。

相关推荐