ELK日志分析系统

日志服务器

提高安全性

集中存放日志

缺陷

对日子分析困难

日志分析步骤

将日志进行集中化管理

将日志格式化(Logstash)并输出到Elasticsearch

对格式化后的数据进行索引和存储(Elasticsearch)

前端数据的展示

Elasticsearch的概述

提供了一个分布式多用户能力的全文搜索引擎

Elasticsearch核心概念

接近实时

集群

节点

索引

索引(库)→类型(表)→文档(记录)

分片和副本

Logstash介绍

一款强大的数据处理工具

可实现数据传输、格式处理、格式化输出

数据输入、数据加工(如过滤,改写等)以及数据输出

LogStash主要组件

Shipper

Indexer

Broker

Search and Storage

Web Interface

Libana介绍

一个针对Elasticsearch的开源分析及可视化平台

搜索、查看存储在Elasticsearch索引中的数据

通过各种图表进行高级数据分析及展示

Kibana主要功能

Elasticsearch无缝之集成

整合数据,复杂数据分析

让更多团队成员受益

接口灵活,分享更容易

配置简单,可视化多数据源

简单数据导入

部署ELK

1.基础环境

|---|---|---|---|
| | | | |
| | | | |
| | | | |

关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

关闭内核安全机制

setenforce 0

sed -i

"S/ASELINUX=.*/SELINUX=disabled/g

/etc/selinux/config

修改主机名

hostnamectl set-hostname node2

hostnamectl set-hostname node1

hostnamectl set-hostname apache

2.在三台节点上配置host解析

cat >> /etc/hosts << EOF
192.168.27.152 node1
192.168.27.153 node2
192.168.27.154 apache
EOF

测试时间是否同步

#用date看日志是否与宿主机一致
date
#chronyc sources -v 如果有任何一条^*回显就是跟宿主机时间一致
chronyc sources -v

3.在node节点上

#安装依赖
yum -y install java-1.8.0-openjdk

上传rpm包(elasticsearch-5.5.0.rpm),执行安装

rpm -ivh elasticsearch-5.5.0.rpm

重启服务

systemctl daemon-reload
systemctl enable elasticsearch.service

4.在node1上编辑配置文件,并传入node2覆盖(也可修改node2的达成一致)

vi /etc/elasticsearch/elasticsearch.yml
/data/elk_data
/var/log/elasticsearch/

scp /etc/elasticsearch/elasticsearch.yml root@node2:/etc/elasticsearch/

传输完成后,打开配置文件,修改

vi /etc/elasticsearch/elasticsearch.yml

创建配置文件所需的目录文件,给予权限

mkdir -p /data/elk_data
chown elasticsearch:elasticsearch -R /data/
systemctl start elasticsearch.service
ss -nlpt | grep 9200

5.查看集群健康状态信息

curl 192.168.27.153:9200
curl 192.168.27.153:9200/_cluster/health?pretty
#绿色为健康
#黄色为警告
#红色代表有错误

查看集群索引

curl 192.168.27.153:9200/_cat/indices?pretty

6.在第三台机器安装依赖包

yum -y install java-1.8.0-openjdk

上传软件包(logstash-5.5.1.rpm)

#安装启动
rpm -ivh logstash-5.5.1.rpm
systemctl start logstash.service
ln -s /usr/share/logstash/bin/logstash /usr/local/bin/

编辑配置文件的采集日志

vi /etc/logstash/conf.d/system.conf

input { 
  file{ 
    path =>"/var/log/messages" 
    type =>"system" 
    start_position =>"beginning" 
  } 
}
output { 
  elasticsearch { 
    hosts => ["192.168.27.152:9200"] 
    index =>"system-%{+YYYY.MM.dd}" 
  } 
}

保存退出,给予执行权限,重启服务

chmod +r /var/log/messages
systemctl restart logstash

在第一台查看健康,会有回显信息(采集成功)

curl 192.168.27.152:9200/_cat/indices?pretty

7.在第一台机器上传包(kibana-5.5.1-x86_64.rpm)

rpm -ivh kibana-5.5.1-x86_64.rpm
systemctl enable kibana.service
vi /etc/kibana/kibana.yml

调整配置文件

监听地址为当前节点的地址 开启服务,过滤端口号

浏览器搜素

创建节点,查看状态

8.安装网站

1.在apache节点安装并启动

yum -y install httpd
systemctl start httpd

2.在节点2模拟数据流量请求

for i in $(seq 1 10000);do curl 192.168.27.154 ;sleep 1;done

3.在apache节点,编写日志采集的文件

vi /etc/logstash/conf.d/apache_log.conf

input {
  file{ 
    path =>"/var/log/httpd/access_log"  
    type =>"access" 
    start_position =>"beginning" 
  }
  file {
    path =>"/var/log/httpd/error_log" 
    type =>"error" 
    start_position =>"beginning" 
  }
}

output {
  if [type] == "access" { 
    elasticsearch { 
      hosts => ["192.168.27.152:9200"] 
      index =>"apache_access-%{+YYYY.MM.dd}" 
    }
  }
  if [type] == "error" { 
    elasticsearch { 
      hosts => ["192.168.27.152:9200"]
      index =>"apache_error-%{+YYYY.MM.dd}"
    }
  }
}

4.给予权限,重启服务

chmod -R 777 /var/log/httpd
systemctl restart logstash

5.回到node1节点查看索引

6.浏览器添加apache和error的日志

在node1节点上配置model

浏览器验证

相关推荐
史努比.6 小时前
ELK 企业级日志分析系统
elk
檀越剑指大厂6 小时前
【Elasticsearch系列四】ELK Stack
大数据·elk·elasticsearch
2401_840192278 小时前
ELFK日志分析平台,架构和通信
elk·elasticsearch·架构
ygqygq23 天前
ElK 8 收集 Nginx 日志
nginx·elk
纪佰伦6 天前
ELK在Linux服务器下使用docker快速部署(超详细)
linux·服务器·elk
写....写个大西瓜6 天前
【Docker部署ELK】(7.15)
elk·docker
littleschemer7 天前
Go日志系统
golang·日志·logrus·log
丢爸8 天前
Linux学习-ELK(一)
linux·学习·elk
王一横不要停止努力吖12 天前
ELK学习笔记(三)——使用Filebeat8.15.0收集日志
笔记·学习·elk