日志——efk——2——安装及配置群集

ELK日志收集

Elasticsearch: 数据库,存储数据 java
logstash: 日志收集,过滤数据 java
kibana: 分析,过滤,展示 java
filebeat: 收集日志,传输到ES或logstash go

filebeat官方文档:https://www.elastic.co/guide/en/beats/filebeat/current/index.html

所需环境:

efk(内存4G)192.168.1.128
ceshiji(可有可无)192.168.1.129

先提前同步时间:

ntpdate time1.aliyun.com		#同步阿里云时间

准备所需要的软件:

下载地址:https://mirrors.tuna.tsinghua.edu.cn/elasticstack/6.x/yum/6.6.0/ #推荐下载到本地后上传
elasticsearch-6.6.0.rpm
filebeat-6.6.0-x86_64.rpm
kibana-6.6.0-x86_64.rpm
logstash-6.6.0.rpm

[root@efk ~]# mkdir /data/soft -p
[root@efk ~]# cd /data/soft
复制群集所需rpm包到/data/soft目录下
[root@efk soft]# ls
elasticsearch-6.6.0.rpm  filebeat-6.6.0-x86_64.rpm  kibana-6.6.0-x86_64.rpm  logstash-6.6.0.rpm

一、安装es主机:192.168.1.128

1、安装elasticsearch:

前提:安装jdk-1.8.0或以上版本——跳转安装jdk-1.8.0

[root@efk ~]# cd /data/soft/
[root@efk soft]# rpm -ivh elasticsearch-6.6.0.rpm

2、修改配置文件:

[root@efk soft]# vim /etc/elasticsearch/elasticsearch.yml
node.name: node-1						
path.data: /data/elasticsearch			
path.logs: /var/log/elasticsearch		
bootstrap.memory_lock: true				
network.host: 192.168.1.128,127.0.0.1	
http.port: 9200				

3、创建数据目录,并修改权限

[root@efk soft]# mkdir -p /data/elasticsearch 
[root@efk soft]# chown -R elasticsearch.elasticsearch /data/elasticsearch/

4、分配锁定内存:

[root@efk soft]# vim /etc/elasticsearch/jvm.options
-Xms1g		#分配最小内存	
-Xmx1g		#分配最大内存,官方推荐为物理内存的一半,但最大为32G

5、修改锁定内存后,无法重启,解决方法如下:

[root@efk soft]# systemctl edit elasticsearch
#添加:
[Service]
LimitMEMLOCK=infinity

(F2)(ctrl+x)保存退出——>y——>Enter
[root@efk soft]# systemctl daemon-reload
[root@efk soft]# systemctl restart elasticsearch

[root@efk soft]# netstat -anpt | grep 9200
tcp6       0      0 192.168.1.128:9200      :::*                    LISTEN      3875/java           
tcp6       0      0 127.0.0.1:9200          :::*                    LISTEN      3875/java

二、在es主机上安装kibana

1、安装kibana

[root@efk soft]# rpm -ivh kibana-6.6.0-x86_64.rpm 

2、修改配置文件

[root@efk soft]# vim /etc/kibana/kibana.yml
server.port: 5601
server.host: "192.168.1.128"
server.name: "efk" 	#自己所在主机的主机名
elasticsearch.hosts: ["http://192.168.1.128:9200"]   #es服务器的ip,便于接收日志数据

3、启动kibana

[root@efk soft]# systemctl start kibana

[root@efk soft]# netstat -anpt | grep 5601
tcp        0      0 192.168.1.128:5601      0.0.0.0:*               LISTEN      4085/node

三、在es主机上安装filebeat

1、安装filebeat

[root@efk soft]# rpm -ivh filebeat-6.6.0-x86_64.rpm

2、修改配置文件

[root@efk soft]# vim /etc/filebeat/filebeat.yml
#修改
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/nginx/access.log

output.elasticsearch:
  hosts: ["192.168.1.128:9200"]

3、启动filebeat

[root@efk soft]# systemctl start filebeat

验证启动是否成功使用命令:systemctl status filebeat

四、在es主机安装nginx、httpd-tools

1、配置yum源,安装nginx、httpd-tools

[root@efk soft]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo		#配置aliyunyum源
[root@efk soft]# yum -y install nginx httpd-tools		#安装nginx、httpd-tools

2、启动nginx

[root@efk soft]# systemctl start nginx

3、使用ab压力测试工具测试访问

[root@efk soft]# ab -n 100 -c 20 http://192.168.1.128/
[root@efk soft]# cat /var/log/nginx/access.log | wc -l
100

五、!!!重点提示!!!下边实验过程中如有在浏览器Elasticsearch中刷新不出数据,好好检查你的filebeat配置文件(重点:语法错误!小心空格!)

4、在es浏览器查看filebeat索引和数据

在这里插入图片描述

5、在kibana添加索引

management——Index Patterns——create index pattern——Discover——右上角——选择today
在这里插入图片描述
在这里插入图片描述
注意:这里先点create index pattern在执行下面的操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6、修改nginx的日志格式为json

[root@efk soft]# vim /etc/nginx/nginx.conf
添加在http {} 内:
    log_format log_json '{ "@timestamp": "$time_local", '
                '"remote_addr": "$remote_addr", '
                '"referer": "$http_referer", '
                '"request": "$request", '
                '"status": $status, '
                '"bytes": $body_bytes_sent, '
                '"agent": "$http_user_agent", '
                '"x_forwarded": "$http_x_forwarded_for", '
                '"up_addr": "$upstream_addr",'
                '"up_host": "$upstream_http_host",'
                '"up_resp_time": "$upstream_response_time",'
                '"request_time": "$request_time"'
                ' }';

    access_log  /var/log/nginx/access.log  log_json;

[root@efk soft]# systemctl restart nginx

7、修改filebeat配置文件

[root@efk soft]# vim /etc/filebeat/filebeat.yml
#修改
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/nginx/access.log
  json.keys_under_root: true
  json.overwrite_keys: true

output.elasticsearch:
  hosts: ["192.168.1.128:9200"]
  index: "nginx-%{[beat.version]}-%{+yyyy.MM.dd}"
setup.template.name: "nginx"
setup.template.patten: "nginx-*"
setup.template.enabled: false
setup.template.overwrite: true

[root@efk soft]# systemctl restart filebeat

清除之前的记录:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[root@efk soft]# vim /var/log/nginx/access.log 			#清空日志
[root@efk soft]# systemctl restart nginx
[root@efk soft]# ab -n 100 -c 20 http://192.168.1.128/			#ab测试访问,生成json格式日志
[root@efk soft]# ab -n 100 -c 20 http://192.168.1.128/			#ab测试访问,生成json格式日志
[root@efk soft]# ab -n 100 -c 20 http://192.168.1.128/			#ab测试访问,生成json格式日志
[root@efk soft]# ab -n 100 -c 20 http://192.168.1.128/			#ab测试访问,生成json格式日志


[root@ceshiji ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo		#安装aliyun扩展源
[root@ceshiji ~]# yum -y install httpd-tools
[root@ceshiji ~]# ab -n 100 -c 20 http://192.168.1.128/			#ab测试访问,生成json格式日志
[root@ceshiji ~]# ab -n 100 -c 20 http://192.168.1.128/			#ab测试访问,生成json格式日志

查看验证索引日志
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8、配置access.log和error.log分开

[root@efk soft]# vim /etc/filebeat/filebeat.yml
修改为:
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/nginx/access.log
  json.keys_under_root: true
  json.overwrite_keys: true
  tags: ["access"]
  
- type: log
  enabled: true
  paths:
    - /var/log/nginx/error.log
  tags: ["error"]

output.elasticsearch:
  hosts: ["192.168.1.128:9200"]
  #index: "nginx-%{[beat.version]}-%{+yyyy.MM}"
  indices:
   - index: "nginx-access-%{[beat.version]}-%{+yyyy.MM}"
     when.contains:
       tags: "access"
   - index: "nginx-error-%{[beat.version]}-%{+yyyy.MM}"
     when.contains:
       tags: "error"

setup.template.name: "nginx"
setup.template.patten: "nginx-*"
setup.template.enabled: false
setup.template.overwrite: true

[root@efk soft]# systemctl restart filebeat			#重启服务

清除之前的记录:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[root@efk soft]# vim /var/log/nginx/access.log 			#清空日志
[root@efk soft]# systemctl restart nginx
[root@efk soft]# ab -n 100 -c 20 http://192.168.1.128/			#ab测试访问,生成json格式日志
[root@efk soft]# ab -n 100 -c 20 http://192.168.1.128/			#ab测试访问,生成json格式日志
[root@efk soft]# ab -n 100 -c 20 http://192.168.1.128/			#ab测试访问,生成json格式日志
[root@efk soft]# vim /etc/nginx/nginx.conf			#制造错误日志
ttp {……}
[root@efk soft]# systemctl restart nginx
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
[root@efk soft]# systemctl restart nginx
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
[root@efk soft]# systemctl restart nginx
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
[root@efk soft]# vim /etc/nginx/nginx.conf			#更改回来
http {……}
[root@efk soft]# systemctl restart nginx
[root@efk soft]# netstat -anpt | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      43975/nginx: master 
tcp6       0      0 :::80                   :::*                    LISTEN      43975/nginx: master 

查看access、error日志
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

查看access日志

在这里插入图片描述

查看error日志

在这里插入图片描述
|
|
|
|
|
|
|
|
|

如若想继续深入了解efk连接跳转——efk——3——filebeat+redis+logstash+es+kibana架构

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值