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 天前
Python logging模块使用指南
python·logging·日志
Doker 多克2 天前
Python-Django系列—日志
python·日志
Amo Xiang2 天前
Python 常用模块(八):logging模块
python·logging·日志
Lw老王要学习7 天前
Linux架构篇、第四章_ELK与EFK-7.17.9的日志管理
linux·运维·elk·架构·云计算
舌尖上的五香16 天前
ELK格式化处理日志数据并分析
elk
Tee xm17 天前
运维仙途 第2章 日志深渊识异常
linux·运维·服务器·日志
爱吃龙利鱼21 天前
elk中kibana一直处于可用和降级之间且es群集状态并没有问题的解决方法
大数据·elk·elasticsearch
亚洲小炫风23 天前
flutter 中各种日志
前端·flutter·日志·log
yuzhangfeng1 个月前
【日志体系】ELK Stack与云原生日志服务
elk·云原生·云计算
小黑蛋学java1 个月前
Elasticsearch 官网阅读学习笔记01
elk·学习笔记