千家信息网

ELK日志分析系统

发表于:2024-12-03 作者:千家信息网编辑
千家信息网最后更新 2024年12月03日,ELK日志分析系统ELK日志分析系统简介日志服务器提高安全性集中存放日志缺陷对日志的分析困难收集数据:LogstashAgent建立索引:ElasticSearchCluster数据可视乎:Kilba
千家信息网最后更新 2024年12月03日ELK日志分析系统

ELK日志分析系统

ELK日志分析系统简介

日志服务器
  • 提高安全性
  • 集中存放日志
  • 缺陷
    • 对日志的分析困难

收集数据:LogstashAgent

建立索引:ElasticSearchCluster

数据可视乎:KilbanaServer

简单的结果拓扑

ELK日志分析系统

  • Elasticsearch
    是实时全文搜索和分析引擎
  • Logstash
    是一个用来搜集、分析、过滤日志的工具
  • Kibana
    是一个基于Web的图形界面,用于搜索、分析和可视化存储在 Elasticsearch指标中的日志数据

    日志处理步骤

  • 将日志进行集中化管理
  • 将日志格式化( Logstash )并输出到Elasticsearch
  • 对格式化后的数据进行索引和存储( Elasticsearch )
  • 前端数据的展示( Kibana )

    2、Elasticsearch介绍

    1、Elasticsearch的概述
  • 提供了一个分布式多用户能力的全文搜索引擎
    2、Elasticsearch的概念
  • 接近实时
  • 集群
  • 节点
  • 索引:
    • 索引(库)-->类型(表)-->文档(记录)
  • 分片和副本

3、Logstash介绍

1、Logstash介绍
  • 一款强大的数据处理工具,可以实现数据传输、格式处理、格式化输出
  • 数据输入、数据加工(如过滤,改写等)以及数据输出
    2、LogStash主要组件
  • Shipper
  • Indexer
  • Broker
  • Search and Storage
  • Web Interface

    4、Kibana介绍

    1、Kibana介绍
  • 一个针对Elasticsearch的开源分析及可视化平台
  • 搜索、查看存储在Elasticsearch索引中的数据
  • 通过各种图表进行高级数据分析及展示
    2、Kibana主要功能
  • Elasticsearch无缝之集成
  • 整合数据,复杂数据分析
  • 让更多团队成员受益
  • 接口灵活,分享更容易
  • 配置简单,可视化多数据源
  • 简单数据导出

5、部署ELK日志分析系统

1、需求描述
  • 配置ELK日志分析群集
  • 使用Logstash收集日志
  • 使用Kibana查看分析日志
    2、设备列表
    主机操作系统主机名/IP地址主要软件
    服务器CentOS7-x86node1/192.168.45.128Elasticsearch、kibana
    服务器CentOS7-x86node2/192.168.45.129Elasticsearch
    服务器CentOS7-x86apache/192.168.45.133Logstatsh
    3、实验拓扑

    4、准备安装环境
  • 关闭防火墙和Selinux
  • Node1、Node2节点内存分配4G,Apache节点分配1G内存
  • 通过VMware虛拟网络Vmnet8连接

    第一步:配置ES节点1服务器

1.关闭防火墙及安全功能

systemctl stop firewalld.service  setenforce 0

2.修改主机名配置文件

vim /etc/hosts192.168.142.152 node1192.168.142.153 node2

3.远程挂载资源包

mount.cifs //192.168.142.1/elk /mnt

4.安装软件包

cd /mntrpm -ivh elasticsearch-5.5.0.rpm

5.加载系统服务

systemctl daemon-reload

6.开机自启动服务

systemctl enable elasticsearch.service

7.备份配置文件

cd /etc/elasticsearch/cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak

8.修改elasticsearch主配置文件

vim /etc/elasticsearch/elasticsearch.yml#第17行,取消注释并修改集群名称cluster.name: my-elk-cluster#第23行,取消注释修改节点名字node.name: node1#第33行,取消注释修改数据存放路径path.data: /data/elk_data#第37行,取消注释修改日志存放路径path.logs: /var/log/elasticsearch/#第43行,取消注释并修改,取消在不启动时锁定内存bootstrap.memory_lock: false#第55行,取消注释并修改地址,放入所有的地址(0.0.0.0代表所有地址)network.host: 0.0.0.0#第59行,取消注释,放开服务端口http.port: 9200#第68行,取消注释修改节点名称discovery.zen.ping.unicast.hosts: ["node1", "node2"]

9.创建数据库存放路径

mkdir -p /data/elk_data

10.授权数据库存放路径

chown elasticsearch:elasticsearch /data/elk_data/

11.开启elasticsearch服务

systemctl start elasticsearch.service 

12.查看端口服务状态

netstat -ntap | grep 9200tcp6       0      0 :::9200                 :::*                    LISTEN      96970/java     

13.安装编译环境

yum install gcc gcc-c++ make -y

14.解压node节点软件包

cd /mnttar zxvf node-v8.2.1.tar.gz -C /opt

15.配置node

cd /opt/node-v8.2.1/./configure

16.编译安装

make && make install

第二步:安装phantomjs前端框架

1.解压phantomjs软件包

cd /mnttar jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /usr/local/src 

2.切换目录查看phantomjs命令

cd /usr/local/src/phantomjs-2.1.1-linux-x86_64//binlsphantomjs

3.复制目录到系统目录

cp phantomjs /usr/local/bin/

第三步:安装elasticsearch-head数据可视化工具

1.解压elasticsearch-head软件包

cd /mnttar zxvf elasticsearch-head.tar.gz -C /usr/local/src

2.安装elasticsearch-head数据可视化工具
cd /usr/local/src/elasticsearch-head/
npm install

3.修改elasticsearch主配置文件

vim /etc/elasticsearch/elasticsearch.yml#末行添加以下内容http.cors.enabled: truehttp.cors.allow-origin: "*"

4.开启elasticsearch服务

systemctl restart elasticsearch.service

5.启动后台运行

npm run start &

6.查看服务端口状态

netstat -ntap | grep 9100tcp        0      0 0.0.0.0:9100            0.0.0.0:*               LISTEN      50105/grunt         [root@node1 elasticsearch-head]# netstat -ntap | grep 9200tcp6       0      0 :::9200                 :::*                    LISTEN      96970/java   

第四步:ES节点2服务器 与节点1的配置一样,重复执行上述操作即可!!!


第五步:使用浏览器输入192.168.142.152:9100网址,并连接另一节点的地址,检查群集健康状态


第六步:创建索引

回到概览即可看到创建好的索引!

第七步:配置Apache服务器,安装 logstash 搜集日志搜集

#安装Apache服务yum install -y httpd#远程挂载资源包mount.cifs //192.168.142.1/elk /mnt#切换到挂载点cd /mnt#安装logstashrpm -ivh logstash-5.5.1.rpm #开机自启动logstash服务systemctl enable logstash.service#启动logstash服务systemctl start logstash.service#建立命令软链接到系统ln -s /usr/share/logstash/bin/logstash /usr/local/bin#切换日志目录cd /var/log#授予他人读取权限chmod o+r messages #查看权限ll#切入logstash配置目录cd /etc/logstash/conf.d/#编辑文件vim system.conf#写入以下内容,用以收集系统日志input {        file{        path => "/var/log/messages"        type => "system"        start_position => "beginning"        }}output {        elasticsearch {        #地址指向node1节点        hosts => ["192.168.142.152:9200"]        index => "system-%{+YYYY.MM.dd}"        }}#重启服务systemctl restart logstash.service

第八步:查看收集到的日志信息


第九步:回到node1节点安装kibana

#切入挂载点cd /mnt#安装kibanarpm -ivh kibana-5.5.1-x86_64.rpm #切入kibana目录cd /etc/kibana/#备份kibana.yml文件cp kibana.yml kibana.yml.bak#修改kibana.yml文件vim kibana.yml#取消第2行的注释,放开5601端口server.port: 5601#取消第7行的注释并修改地址,放入所有的地址(0.0.0.0代表所有地址)server.host: "0.0.0.0"#取消第21行的注释并指向node1节点的urlelasticsearch.url: "http://192.168.142.152:9200"#取消第30行注释,放开kibana首页kibana.index: ".kibana"#启动kibana服务systemctl start kibana.service

第十步:测试kibana展现日志数据,使用浏览器访问192.168.142.152:5601



第十一步:对接Apache主机的所有Apache日志文件(在Apache服务器上操作)

#编辑Apache日志配置文件vim apache_log.confinput {        file{        path => "/etc/httpd/logs/access_log"        type => "access"        start_position => "beginning"        }        file{        path => "/etc/httpd/logs/error_log"        type => "error"        start_position => "beginning"        }}output {        if [type] == "access" {        elasticsearch {        hosts => ["192.168.142.152:9200"]        index => "apache_access-%{+YYYY.MM.dd}"        }    }           if [type] == "error" {        elasticsearch {        hosts => ["192.168.142.152:9200"]        index => "apache_error-%{+YYYY.MM.dd}"        }    }}#重启服务,稍等片刻!logstash -f apache_log.conf

第十二步:测试Apache日志信息展现


以上就是ELK日志分析系统的全部内容了,谢谢阅读!!!

0