Java教程

ELK日志分析系统

本文主要是介绍ELK日志分析系统,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

ELK日志分析系统

  • 一、ELK日志分析系统
    • 1、ELK的作用和特点
    • 2、ELK组成
    • 3、logstash组成
  • 二、配置ELK
    • 1、Elasticsearch
    • 2、elasticsearch-head
    • 3、安装配置logstash
    • 4、采集apache成功日志
    • 5、安装配置kibana

一、ELK日志分析系统

1、ELK的作用和特点

1)ELK的作用 
	集中化管理日志
	对日志配置群集避免单节点故障,日志丢失
2)ELK特点 
	开源 
	不支持日志分析
	支持集中化管理

2、ELK组成

1)elasticsearch
	开源的日志搜索和存储引擎
	采用分布式设计
	自动配置日志群集
	支持零配置负载均衡功能
2)logstash
	负责日志采集
	对客户端日志进行采集、格式化、输出到elasticsearch存储
	安装在客户端上
3)kibana
	支持图形化界面查看日志
	兼容强
	安装在服务器端

3、logstash组成

1)shipper
	日志采集
	实时监控日志变化
	将日志格式化上传到elasticsearch
2)indexer
	日志存储
	创建索引 
3)broker
	接收多个shipper采集的日志
4)search and stroage
	允许用户搜索和存储日志信息
5)web interface
	支持kibana访问平台中的数据
	支持WEB页面查看日志

二、配置ELK

1、Elasticsearch

安装

rpm -ivh /mnt/elasticsearch-5.5.0.rpm 

在这里插入图片描述
修改配置文件

vim /etc/elasticsearch/elasticsearch.yml
18 cluster.name: my-elk						                       	//群集名字
25 node.name: centos01					                          	//节点计算机名
46 bootstrap.memory_lock: false			                         	//不锁定内存
59 network.host: 192.168.100.10				                        //监听IP
64 http.port: 9200									                //监听端口
74 discovery.zen.ping.unicast.hosts: ["centos01", "centos02"]	    //将节点加入群集

启动服务设置开机自动启动

systemctl daemon-reload
systemctl start elasticsearch.service
systemctl enable elasticsearch.service

监听端口

netstat -anptu | grep 9200

2、elasticsearch-head

解压node文件压缩包

tar zxvf /mnt/node-v8.2.1.tar.gz -C /usr/src/

在这里插入图片描述
将node文件剪切更换目录

mv /usr/src/node-v8.2.1/ /usr/local/node

进入到文件中并编译安装

./configure && make && make install

在这里插入图片描述
解压phantomjs

tar jxvf /mnt/phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /usr/src/

在这里插入图片描述
添加执行权限

cp phantomjs /usr/local/bin/
chmod +x /usr/local/bin/phantomjs 

解压elasticsearch

tar zxvf /mnt/elasticsearch-head.tar.gz -C /usr/src/

在这里插入图片描述
移动elasticsearch-head

mv /usr/src/elasticsearch-head/ /usr/local/

安装工具

npm install

在这里插入图片描述
修改elasticsearch跨域访问

vim /etc/elasticsearch/elasticsearch.yml
	 65 http.cors.enabled: true	
	 66 http.cors.allow-origin: "*"

重启

/etc/init.d/elasticsearch restart

修改elasticsearch-head配置文件监听9200

vim /usr/local/elasticsearch-head/_site/app.js
 4329 this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.100.10:9200";

修改修改elasticsearch-head配置文件监听9100端口

vim /usr/local/elasticsearch-head/Gruntfile.js
	 93                                         hostname:'192.168.100.10',
	 94                                         port: 9100,

启动服务

cd /usr/local/elasticsearch-head/
npm run start&

在这里插入图片描述
使用浏览器链接测试
在这里插入图片描述
在这里插入图片描述

3、安装配置logstash

安装logstash

rpm -ivh logstash-5.5.1.rpm 

在这里插入图片描述
优化命令

ln -s /usr/share/logstash/bin/logstash /usr/local/bin/

启动服务设置开机自动启动

systemctl start logstash
systemctl enable logstash

插入测试数据

logstash -e 'input { stdin{}} output { stdout{}}'

在这里插入图片描述

logstash -e 'input { stdin{}} output { stdout{ codec=>rubydebug}}'

在这里插入图片描述

logstash -e 'input { stdin{}} output { elasticsearch{hosts => ["192.168.100.10:9200"]}}'

在这里插入图片描述
打开浏览器查看日志
在这里插入图片描述

4、采集apache成功日志

设置允许日志读取

chmod o+r /var/log/httpd/access_log 

创建采集日志文件

touch /etc/logstash/conf.d/apache.conf
chmod +x /etc/logstash/conf.d/apache.conf 
vim /etc/logstash/conf.d/apache.conf

在这里插入图片描述
检查日志采集文件是否有问题

logstash -f /etc/logstash/conf.d/apache.conf 

重新启动logstash

systemctl restart logstash.service

在这里插入图片描述

5、安装配置kibana

安装kibana

rpm -ivh /mnt/kibana-5.5.1-x86_64.rpm

在这里插入图片描述
修改主配置文件

vim /etc/kibana/kibana.yml 
	3 server.port: 5601
	9 server.host: "192.168.100.10"
	24 elasticsearch.url: "http://192.168.100.10:9200"

启动服务

systemctl start kibana
systemctl enable kibana

在这里插入图片描述
在这里插入图片描述

这篇关于ELK日志分析系统的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!