企业日志分析ELK搭建流程

企业日志分析ELK搭建流程

ELK组件介绍

在这里插入图片描述

elasticsearch介绍

Elasticsearch是一个基于Lucene的搜索服务器。Elasticsearch是用Java开发,基于RESTful web接口。

logstash介绍

Logstash由JRuby语言编写,基于消息(message-based)的简单架构,Logstash的理念很简单,它只做3件事情:
1.数据输入
2.数据加工,改变数据格式
3.数据输出

Kibana介绍

Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。

部署实验环境

实验环境:
需要准备三台Linux操作系统,搭建elk日志分析和web服务。

1.两台节点主机设置主机名、主机映射、安装jdk。

#主机名设置
hostnamectl set-hostname node1
hostnamectl set-hostname node2

#主机映射设置
192.168.80.100 node1
192.168.80.101 node2

#安装JDK
rpm -ivh jdk-8u201-linux-x64.rpm
echo "export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64" >> /etc/profile
echo "export CLASSPATH=\$JAVA_HOME/lib/tools.jar:\$JAVA_HOME/lib/dt.jar" >> /etc/profile
echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> /etc/profile

在这里插入图片描述

部署elasticsearch软件

node1节点步骤

1.安装elasticsearch—rpm包

rpm -ivh elasticsearch-5.5.0.rpm 

2.加载系统服务

systemctl daemon-reload  
systemctl enable elasticsearch.service

3.更改elasticsearch主配置文件

#备份主配置文件
cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
vi /etc/elasticsearch/elasticsearch.yml

4.修改主配置文件

cluster.name: my-elk-cluster                   ####集群名字
node.name: node1                                  ####节点名字
path.data: /data/elk_data                        ####数据存放路径
path.logs: /var/log/elasticsearch/           ####数据存放路径
bootstrap.memory_lock: false                 ####不在启动的时候锁定内存
network.host: 0.0.0.0                               ####提供服务绑定的IP地址,0.0.0.0代表所有地址
http.port: 9200                                        ####侦听端口为9200
discovery.zen.ping.unicast.hosts: ["node1", "node2"]           ####集群发现通过单播实现

5.创建数据存放路径并授权

mkdir -p /data/elk_data
chown elasticsearch:elasticsearch /data/elk_data/

6.启动elasticsearch是否成功开启

systemctl start elasticsearch.service
netstat -antp | grep 9200

7.集群检查健康和状态

#在宿主机上访问获取信息
http://192.168.80.100:9200/_cluster/health?pretty 

在这里插入图片描述

node2节点部署

部署步骤同上,但是在修改配置文件时需要注意修改的主机名。这里不再赘述。

安装elasticsearch-head插件

node1和node2一起安装

1.编译安装node组件依赖包,此步骤耗时较长

#解压安装包
tar xzvf node-v8.2.1.tar.gz
cd node-v8.2.1/
#编译安装
./configure 
make && make install

2.安装phantomjs和elasticsearch-head

#安装phantomjs
yum install bzip2 -y
tar xjvf phantomjs-2.1.1-linux-x86_64.tar.bz2
mv phantomjs-2.1.1-linux-x86_64 /usr/local/src
cp /usr/local/src/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin

#安装elasticsearch-head
tar xzvf elasticsearch-head.tar.gz
mv elasticsearch-head /usr/local/src
cd /usr/local/src/elasticsearch-head
npm install

3.修改elasticsearch主配置文件,在文件末尾插入

vi /etc/elasticsearch/elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: "*"

4.开启elasticsearch

systemctl restart elasticsearch

5.启动elasticsearch-head服务

cd /usr/local/src/elasticsearch-head/
#在后台运行
npm run start & 

Elasticsearch安装成功!
在这里插入图片描述

建立一个名为test的索引。

curl -XPUT 'localhost:9200/index-demo/test/1?pretty&pretty' -H 'content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world"}'

在这里插入图片描述

安装logstash

1、更改主机名

hostnamectl set-hostname apache

2.安装httpd服务,开启服务并设为开机自启动。

yum -y install httpd
systemctl start httpd

3、安装Java环境

yum -y install java
java -version

4.使用logstash将信息写入elasticsearch中。

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

在这里插入图片描述
5.做对接配置

#修改messages的other用户的权限
 chmod o+r /var/log/messages

#修改logstash配置文件
vi /etc/logstash/conf.d/system.conf 
input {
       file{
        path => "/var/log/messages"
        type => "system"
        start_position => "beginning"
        }
      }
output {
        elasticsearch {
          hosts => ["192.168.80.100:9200"]
          index => "system-%{+YYYY.MM.dd}"
          }
        }

#重启服务
 systemctl restart logstash.service

在这里插入图片描述

在node1主机安装kibana

1.安装kibana

mv /opt/kibana-5.5.1-x86_64.rpm /usr/local/src

rpm -ivh /usr/local/src/kibana-5.5.1-x86_64.rpm

2.修改kibana配置文件

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

修改配置文件
vi /etc/kibana/kibana.yml
server.port: 5601              					  #### kibana打开的端口
server.host: "0.0.0.0"          					  ####kibana侦听的地址
elasticsearch.url: "http://192.168.80.100:9200"      		                  ###和elasticsearch建立联系
kibana.index: ".kibana"              				  ####在elasticsearch中添加.kibana索引

在宿主机上访问:192.168.80.100:5601,ip:6501。首次登录创建一个索引 名字:system-*,然后点击创建。
在这里插入图片描述

web服务器对接kibana

1.在web服务器上的logstash里配置apache_log.conff文件

cd /etc/logstash/conf.d/
vi apache_log.conf

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.80.100:9200"]               #访问日志指向elasticsearchIP地址       
          index => "apache_access-%{+YYYY.MM.dd}"
          }
        }
        if [type] == "error" {											#错误日志指向elasticsearchIP地址
        elasticsearch {
          hosts => ["192.168.80.100:9200"]
          index => "apache_error-%{+YYYY.MM.dd}"
          }
        }
        }

#将httpd日志收集配置文件加入到logstash配置文件中
/usr/share/logstash/bin/logstash -f apache_log.conf

可以在elasticsearch上看到索引。
在这里插入图片描述

创建访问、错误日志索引。
在这里插入图片描述
可以查看具体的图形化信息。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值