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

浏览器验证

相关推荐
龙胖不下锅1 天前
elk 安装
elk
小诺大人1 天前
【超详细】ELK实现日志采集(日志文件、springboot服务项目)进行实时日志采集上报
spring boot·后端·elk·logstash
小馋喵知识杂货铺2 天前
ELK介绍
elk
S-X-S2 天前
项目集成ELK
java·开发语言·elk
飞的肖2 天前
日志(elk stack)基础语法学习,零基础学习
学习·elk
小诺大人2 天前
Docker 安装 elk(elasticsearch、logstash、kibana)、ES安装ik分词器
elk·elasticsearch·docker
S-X-S2 天前
ELK环境搭建
运维·elk
S-X-S4 天前
日志模块新增配置日志根目录和项目模块功能
java·日志
快乐就好ya6 天前
基于docker微服务日志ELK+Kafka搭建
spring boot·elk·spring cloud·docker·微服务·kafka
a_lllk7 天前
使用docker-compose安装ELK(elasticsearch,logstash,kibana)并简单使用
elk·elasticsearch·docker