ELK日志分析系统

本文详细介绍了如何配置和安装ELK日志分析系统,包括Elasticsearch、Logstash和Kibana的部署,以及Apache服务器日志的接入。通过Elasticsearch-head插件实现集群可视化管理,Logstash收集Apache日志并发送到Elasticsearch,最后通过Kibana展示和分析日志数据。
摘要由CSDN通过智能技术生成

目录

一、概述

二、配置ELK日志分析系统

配置Elasticsearch环境(Node1 Node2)

安装 JDK

查看当前系统环境下java版本

设置JDK的环境变量

加载生效、查看版本

配置域名解析

部署安装Elasticsearch软件(Node1 Node2)

解压压缩包

配置Elasticsearch主配置文件

创建数据存放路径并授权并开启服务

查看node1 node2节点信息

安装Elasticsearch-head插件(Node1 Node2)

编译安装 node

安装phantomjs

安装 Elasticsearch-head 数据可视化工具

修改Elasticsearch主配置文件

启动elasticsearch-head服务

通过Elasticsearch-head 查看ES信息

插入索引

部署 Logstash服务(Apache节点操作)

安装logstash

安装java环境(jdk)

安装logstash

测试logstash(端口5044)

使用 rubydebug 输出详细格式显示,codec 为一种编解码器

使用 Logstash 将信息写入 Elasticsearch 中

定义logstash配置文件 做对接配置(logstas—>ES)

浏览器验证查看索引信息

部署Kibana(在node1节点上操作)

安装kibana

设置Kibana的主配置文件

启动kibana服务

验证Kibana

将 Apache 服务器的日志(访问的、错误的)添加到 Elasticsearch 并通过 Kibana 显示


一、概述

日志分析是运维工程师解决系统故障,发现、定位问题的主要途径。日志主要包括系统日志、应用程序日志和安全日志

系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志 可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。

PS(话术):elk 日志分析的工具(一般会给研发/开发+测试使用),管理的权限范围,不一定所有人全有 通常,日志被分散的储存在不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法 查阅日志,即繁琐又效率低下。为此,我们可以使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。 集中化管理日志后,日志的 统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实 现检索和统计,但是对于更高要求的查询、排序和统计等,再加上庞大的机器数量,使用这样的方法依然难免有点力不从心。

开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由 ElasticSearch、Logstash 和Kiabana 三个开源工具组成。

官方网站:Elastic Products: Search, Analytics, Logging, and Security | Elastic

  • Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本(replicat)机制,restful风格接口,多数据源,自动搜索负载等。

  • Logstash 是一个完全开源的工具,它可以对你的日志进行收集、过滤,并将其存储,供以后使用(如,搜索)。

  • Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供友好的日志分析Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

二、配置ELK日志分析系统

配置和安装ELK日志分析系统,安装集群方式,2个elasticsearch节点,并监控apache服务器日志

主机 操作系统 主机名 IP地址 主要软件
服务器 Centos7.6 node1 192.168.114.130 Elasticsearch Kibana
服务器 Centos7.6 node2 192.168.114.131 Elasticsearch
服务器 Centos7.6 apache 192.168.114.132 Logstash Apache

配置Elasticsearch环境(Node1 Node2)

关闭防火墙

[root@node1 ~]# systemctl stop firewalld.service 
[root@node1 ~]# setenforce 0

安装 JDK

上传安装包到/opt目录
解压安装
rpm -ivh jdk-8u201-linux-x64.rpm 

查看当前系统环境下java版本

java -version

设置JDK的环境变量

vim /etc/profile.d/java.sh			
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH

加载生效、查看版本

source /etc/profile.d/java.sh
java -version

配置域名解析

vim /etc/hosts 

192.168.114.130 node1
192.168.114.131 node2
192.168.114.132 httpd

部署安装Elasticsearch软件(Node1 Node2)

解压压缩包

cd /opt

上传 压缩包  elasticsearch-5.5.0.rpm

rpm -ivh elasticsearch-5.5.0.rpm 解包

cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak 备份es配置文件

配置Elasticsearch主配置文件

vim /etc/elasticsearch/elasticsearch.yml

--17--取消注释,指定集群名字
cluster.name: E
--23--取消注释,指定节点名字:Node1节点为node1,Node2节点为node2
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--取消注释,ES 服务的默认监听端口为9200
http.port: 9200
--68--取消注释,集群发现通过单播实现,指定要发现的节点 node1、node2
discovery.zen.ping.unicast.hosts: ["node1", "node2"]

创建数据存放路径并授权并开启服务

mkdir -p /data/elk_data   创建数据存放路径
chown elasticsearch:elasticsearch /data/elk_data/  修改属主属组
systemctl start elasticsearch  开启服务
net
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值