ELK日志文件分析系统
- 一、 ELK日志文件系统的介绍
- 二、ElasticSearch的集群安装与搭建
- 软件包安装节点介绍
- 三、Logstash工具的介绍与安装
- 软件包得下在地址在
- 1、Logstash工具的介绍
- 2、安装Logstash工具收集apache服务日志和系统日志
- 1)安装losgstash和apache服务并启动
- 2 、Logstash命令测试以及将系统日志和apache日志上传到ElasticSearch集群
- 1)Logstash命令测试
- 2)收集系统日志和apache日志上传到ElasticSearch集群
- 3)测试是否上传成功
- 四、Kiabana工具介绍及安装
- 1、Kiabana工具介绍
- 2、Kibana的安装及配置
- 3、使用浏览器检验Kibana是否创建成功
- 4、将ElasticSearch中的索引日志添加到Kiabana中统计分析
一、 ELK日志文件系统的介绍
ELK是日志系统管理的一款开源的架构,由 Logstash、ElasticSearch和Kiabana三个开源软件组成 。 可以对任何来源,任何类型的日志文件进行分析和可视化的统计整理展示。
二、ElasticSearch的集群安装与搭建
ElasticSearch集群搭建地址:点击前往
软件包安装节点介绍
数量 | 主机名 | 地址 | 版本 | 安装的软件 |
---|---|---|---|---|
第一台 | node1 | 192.168.10.5 | Linux7.4 64位 | ElasticSearch集群 |
第二台 | node2 | 192.168.10.6 | Linux7.4 64位 | ElasticSearch的集群、Kiabana |
第三台 | apache | 192.168.10.7 | Linux7.4 64位 | Logstash |
ELK基于前一篇搭建好的ElasticSearch集群接着搭建
三、Logstash工具的介绍与安装
软件包得下在地址在
ElasticSearch集群搭建地址:点击前往
1、Logstash工具的介绍
Logstash 是一款强大的数据处理工具,它可以实现数据传输,格式处理,格式化输出,还有强大的插件功能,常用于日志处理。
- Logstash的理念很简单,它只做3件事情:
- Collect:数据输入
- Enrich:数据加工,如过滤,改写等
- Transport:数据输出
LogStash的主要组件:
- Shipper:日志收集者 。负责监控本地日志文件的变化,及时把日志文件的最新内容收集起来。通常,远程代理端(agent)只需要运行这个组件即可;
- Indexer:日志存储者。负责接收日志并写入到本地文件。
- Broker:日志Hub。负责连接多个Shipper和多个Indexer
- Search and Storage:允许对事件进行搜索和存储;
- Web Interface:基于Web的展示界面
- 正是由于以上组件在LogStash架构中可独立部署,才提供了更好的集群扩展性
LogStash主机分类:
1)代理主机(agent host):作为事件的传递者(shipper),将各种日志数据发送至中心主机;只需运行Logstash 代理(agent)程序;
2)中心主机(central host):可运行包括中间转发器(Broker)、索引器(Indexer)、搜索和存储器(Search and Storage)、Web界面端(Web Interface)在内的各个组件,以实现对日志数据的接收、处理和存储
2、安装Logstash工具收集apache服务日志和系统日志
1)安装losgstash和apache服务并启动
关闭防火墙和Selinux
[root@localhost ~]# hostnamectl set-hostname apache
[root@localhost ~]# su
[root@apache ~]# yum -y install httpd
[root@apache ~]# systemctl start httpd
[root@apache ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
\\上传软件包
[root@apache ~]# rpm -ivh logstash-5.5.1.rpm
[root@apache ~]# systemctl start logstash.service
[root@apache ~]# systemctl enable logstash.service
[root@apache ~]# ln -s /usr/share/logstash/bin/logstash /usr/local/bin/
//链接logstash命令到环境变量中
2 、Logstash命令测试以及将系统日志和apache日志上传到ElasticSearch集群
1)Logstash命令测试
[root@apache opt]# logstash -e ‘input { stdin{ } } output { stdout {} }’
参数解释:
- -f 通过这个选项可以指定logstash的配置文件,根据配置文件重载logstash服务
- -e后面跟着字符串该字符串可以被当做logstash的配置(如果是””,则默认使用stdin做为输入、stdout作为输出)
stdin{}和stdout{}输入采用标准输入输出采用标准输出
18:42:57.986 [Api Webserver] INFO logstash.agent - Successfully started Logstash API endpoint {:port=>9601}
www.wodejia //手动标准输入
2020-10-29T10:43:14.261Z apache www.wodejia //转换标准输出
[root@apache ~]# logstash -e ‘input { stdin{} } output { stdout{ codec=>rubydebug } }’
······················
18:46:34.205 [Api Webserver] INFO logstash.agent - Successfully started Logstash API endpoint {:port=>9601}
www.wodejia //手动标准输入
{
“@timestamp” => 2020-10-29T10:46:41.844Z,
“@version” => “1”,
“host” => “apache”, //转换开放式程序语言输出
“message” => “www.wodejia”
}
2)收集系统日志和apache日志上传到ElasticSearch集群
[root@apache ~]# cd /etc/logstash/conf.d
[root@apache ~]# chown o+r /var/log/messages //允许其他用户读取
[root@apache conf.d]# vim system.conf //上传系统日志配置文件
input { //输入
file{ //类型为文件
path => "/var/log/messages" //路径
type => "system" //类型自定义
start_position => "beginning" //从开始得位置上传
}
}
output { //输出到
elasticsearch { //转换的服务类型
hosts => ["192.168.10.5:9200"] //服务得地址名
index => "system-%{+YYYY.MM.dd}" //创建的索引名和索引格式
}
}
[root@apache conf.d]# vim apache.conf //编辑apache服务上传日志
input {
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.10.6:9200"]
index => "apache_access-%{+YYYY.MM.dd}"
}
}
if [type] == "error" {
elasticsearch{
hosts => ["192.168.10.6:9200"]
index => "apache_error-%{+YYYY.MM.dd}"
}
}
}
[root@apache conf.d]# systemctl restart logstash.service //重启服务
3)测试是否上传成功
- 如果apache日志没有成功,可以在浏览器访问一下服务器的http服务。或者重启httpd服务,在浏览器访成功访问一次服务,不然apache成功访问的日志为空,就不会上传。
- [root@apache conf.d]# logstash -f /etc/logstash/conf.d/apache.conf //重加载配置文件
四、Kiabana工具介绍及安装
1、Kiabana工具介绍
Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。
- Kibana,可以通过各种图表进行高级数据分析及展示。
- Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以快速创建仪表板(dashboard)实时显示Elasticsearch查询动态
Kibana主要功能:
1、Elasticsearch无缝之集成。Kibana架构为Elasticsearch定制,可以将任何结构化和非结构化数据加入Elasticsearch索引。Kibana还充分利用了Elasticsearch强大的搜索和分析功能。
2、整合你的数据。Kibana能够更好地处理海量数据,并据此创建柱形图、折线图、散点图、直方图、饼图和地图。
3、复杂数据分析。Kibana提升了Elasticsearch分析能力,能够更加智能地分析数据,执行数学转换并且根据要求对数据切割分块。
4、让更多团队成员受益。强大的数据库可视化接口让各业务岗位都能够从数据集合受益。
5、接口灵活。分享更容易。使用Kibana可以更加方便地创建、保存、分享数据,并将可视化数据快速交流。
6、配置简单。Kibana的配置和启用非常简单,用户体验非常友好。Kibana自带Web服务器,可以快速启动运行。
7、可视化多数据源。Kibana可以非常方便地把来自Logstash、ES-Hadoop、Beats或第三方技术的数据整合到Elasticsearch,支持的第三方技术包括Apache Flume、Fluentd等。
8、简单数据导出。Kibana可以方便地导出感兴趣的数据,与其它数据集合并融合后快速建模分析,发现新结果
2、Kibana的安装及配置
//上传kibana-5.5.1-x86_64.rpm软件包
[root@node1 ~]# rpm -ivh kibana-5.5.1-x86_64.rpm
[root@node1 ~]# cd /etc/kibana/
[root@node1 kibana]# cp kibana.yml kibana.yml.bak //备份配置文件
[root@node1 kibana]# vi kibana.yml //修改配置文件
server.port: 5601 //kibana侦听的端口
server.host: "0.0.0.0" //kibana侦听的地址
elasticsearch.url: "http://192.168.100.5:9200” //和elasticsearch建立联系
kibana.index: ".kibana" //在elasticsearch中添加.kibana索引
[root@node1 kibana]# systemctl start kibana.service //启动kibana服务
[root@node1 kibana]# systemctl enable kibana.service //开机启动kibana服务
3、使用浏览器检验Kibana是否创建成功
4、将ElasticSearch中的索引日志添加到Kiabana中统计分析
- 产看详细统计分析显示信息
更多推荐
ELK日志文件分析系统、Logstash、ElasticSearch和Kiabana三个开源工具组成(实例部署过程)
发布评论