ELK日志监控平台

一 elk 开源日志分析平台介绍

1 介绍

elasticsearch 是一个开源分布式搜索引擎,它的特点是:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动负载等特性
logstash:是一个完全开源的工具,他可以对日志进行收集,过滤,并将其存储供以后使用
kibana:是一个开源和免费的工具,它可以为logstash和elasticsearch 提供日志分析友好的web界面,可以汇总,分析和搜索日志等等。

2 ELK 进行日志分析的步骤

首先,架构方面,apache 是有日志文件的,他的每个请求的状态都有日志文件记录,其次,需要有队列,保证日志的完整性,而redis的list结构整好可以作为队列使用,然后分析使用elasticsearch进行分析查询

3 环境需要

需要一个分布式的,日志收集和分析系统,logstash有agent和indexer两个角色,对于agent角色,放在单独的web机器上,通过其不断读取日志文件,将接受的日志文件发送到redis上,通过indexer 进行接受和分析,分析之后存储到elasticsearch进行搜索分析,再由kibana 进行日志web界面展示

二 实验环境的搭建:

软件包:
链接:https://pan.baidu.com/s/123jH9tt8ggxdARKA-Z_h6g
密码:e0l7

1 搭建基本的elasticsearch分布式环境

1 软件的安装




2 服务的配置

server1 配置

配置本机hostname

配置集群名称

配置数据目录位置

配置内存锁定,只使用内存,不使用交换分区,加快运行效率

配置本机IP地址及监听端口,其端口可以修改,建议保持默认

配置集群成员

server2 配置



server3 配置



启动服务并查看相关端口


3 安装第三方插件,以实现图形化展示

4 实验结果,server1为master serve2和server3 为从机

5 上传数据查看结果




6 状态配置:

角色共有三种:
master:负责维护集群状态
worker: 负责数据存储
服务端点: 负责服务提供,用以减轻其他服务压力
支持的状态有四种,默认是master true data true
master true 表示可以参与master 的竞选,如果其为false,则表示其不能参与竞选
data true 表示其是数据存储节点,用于数据的存储,如果为false,则表示其不能用于数据存储
配置server1 的角色为master,负责集群的调度和管理


配置server2 和server3 为worker,负责数据的存储




重载服务



查看其状态:

7 使用API调度

1 使用API查看集群状态

2 格式化显示其状态

3 查看之间建立的文件

4 删除之前建立的文件并查看

2 安装 logstash,用于日志的提取和分析

1 服务的安装

2 使用命令行的方式测试其输入和输出

退出使用Ctrl+c

3 使用标准输出到屏幕

4 配置多个输出,并输出到elasticsearch


5 其加载配置文件位置

6 创建配置文件使其输出到elasticsearch



运行并查看结果


7 使用输出到文件



8 配置其输入为系统日志,并授予系统日志其他用户和组的读权限








9 日志读取计数有关

1 删除日志



2 重启服务并查看



查看其只有后面的日志,没有前面的日志

此处在使用前台运行的情况下,会在本地生成一个隐藏文件,用于记录读取的位置

删除此文件并重启查看

10 inode 相关

默认的inode 会重复利用,如此可能造成数据的文件锁定混乱而导致日志的读取不准确,logstash可以在读取该文件是锁定inode号,使其时刻处于占用状态,此时,当创建文件时,将不会导致已被占用的inode号进行分配而导致日志读取混乱

11 配置远程日志同步




运行后会自动生成514的tcp和udp端口用于同步

被同步端配置



写入测试日志

查看日志同步情况

12 配置多行日志输入



13 配置输出到elasticsearch中





查看结果


使用其标准化在input端的配置


删除之前的读取情况并删除日志重新导入操作




3 redis+apache

1 Redis 搭建








2 httpd的安装与基本配置


3 创建HTTP日日志读取

查看httpd的日志并授权,因为目录需要执行权限才能读取目录中的内容

创建文件:

启动并查看是否写入redis



4 配置输出到Redis和标准化输出




5 配置标准化输出



6 apache 日志的标准化输出

日志格式化模板:


http日志格式定义


7 将 redis 中的http日志取出到标准输出



启动服务

查看redis情况

8 使用server1 存数据至redis ,使用server2 取数据到elasticsearch 中













访问看其日志是否增加



4 kibana 安装及配置

1 安装kibana

2 配置

配置其访问es及自身打开一个索引

3 启动服监听端口

4 访问

访问查看并绑定apache日志,此处的日志名称必须和上述的日志并称一致,否则不能匹配

查看该日志的访问情况,此处的时间一定要标准,否则不能看到现象,因为范围可能不对

可以通过添加来完成列表,以表格的形式更加清晰的显示结果

5 创建相关图形,用于监控

使用markdown 语法创建联系人信息







使用计数器实现apache访问量的查看








使用柱状图实现访问排行榜














将其汇聚,并进行保存

转载于:https://blog.51cto.com/11233559/2121920

你可能感兴趣的:(ELK日志监控平台)