ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux操作篇之ELK

2021-11-05 19:32:41  阅读:141  来源: 互联网

标签:ELK server elasticsearch usr Linux 操作 7.9 local logstash


一、介绍

1、ELK是一个完整的集中的日志收集分析系统。包含以下特点:

a、能够收集多种源的日志数据

b、能够稳定的把日志数据传输到中间系统

c、多种存储日志数据的方式

d、可以支持可视化界面分析

e、能够提供错误报告、提前预警

 

2、ELK是三个软件首字母缩写,分别是

elasticsearch:分布式搜索引擎,提供收集、分析、存储三大功能

logstash:收集、分析、过滤日志的工具,支持大量的数据收集方式。工作方式为C/S模式。client安装在需收集日志的设备上,server端负责将各个client收集到的日志进行过滤、修改后发往elasticsearch。

kibana:可以为前面两者提供良好的UI界面,帮助提高对日志的汇总、分析和搜索等功能的友好度。

3、上面三者组成了ELK,但一般情况下还需要client,filebeat提供了这一功能。内涵四种功能:

packetbeat:收集网络流量数据

topbeat:收集系统的进程、CPU、内存等使用运行情况

filebeat:收集文件数据

winlogbeat:收集Windows中的事件日志数据

4、工作流程

 

测试部署过程(此处设计两台,一台为ELK_server,一台为Nginx_server)

二、ELK_server端:

环境准备:关闭防火墙、关闭SELinux(因为是测试环境,就关闭了)。

yum -y install java-1.8*  (安装jdk,ELK需要java环境)

1、安装elasticsearch

上传elasticsearch安装包

tar -xzf elasticsearch-7.9.0-linux-x86_64.tar.gz

useradd elasticsearch  (因为elasticsearch启动不能用root用户,所有新建一用户)

chown -R elasticsearch.elasticsearch elasticsearch-7.9.0  (将目录权限改为新建的用户)

cp -a elasticsearch-7.9.0 /usr/local

su elasticsearch

cd /usr/local/elasticsearch-7.9.0

./bin/elasticsearch -d

查看服务是否启动成功

netstat -antp | grep 9200

或者使用curl  localhost:9200

 表示启动成功。

 

2、安装logstash

上传logstash软件包

tar -xzf logstash-6.8.15.tar.gz

cp -a logstash-6.8.15  /usr/local

vi /usr/local/logstash-6.8.15/vendor/bundle/jruby/2.5.0/gems/logstash-patterns-core-4.1.2/patterns/grok-patterns

最下面新起一行,填写以下代码。

# nginx
WZ ([^ ]*)
NGINXACCESS %{IP:remote_ip} \- \- \[%{HTTPDATE:timestamp}\] "%{WORD:method} %{WZ:request} HTTP/%{NUMBER:httpversion}" %{NUMBER:status} %{NUMBER:bytes} %{QS:referer} %{QS:agent} %{QS:xforward}

完成后,保存退出

vi /usr/local/logstash-6.8.15/test.conf  (新建配置文件,启动服务时需要)

input {
    beats {
        port => "5044"
    }
}
#数据过滤
filter {
    grok {
        match => { "message" => "%{NGINXACCESS}" }
    }
    geoip {
        #nginx端IP地址
        source => "192.168,171.140"
    }
}
#输出配置为本机端口9200端口,这是elasticsearch端口
output {
    elasticsearch {
        hosts => ["127.0.0.1:9200"]
    }
}

完成后,保存退出

启动服务(服务启动较慢)

nohup /usr/local/logstash-6.8.15/bin/logstash -f /usr/local/logstash-6.8.15/test.conf &

查看服务启动情况:netstat  -anpt  | grep 5044

 

3、安装Kibana

上传Kibana安装包

tar -xzf kibana-7.9.0-linux-x86_64.tar.gz

cp -a kibana-7.9.0-linux-x86_64 /usr/local

vi /usr/local/kibana-7.9.0-linux-x86_64/config/kibana.yml

将 #server.port: 5601  改为 server.port: 5601

将 #server.host: "localhost"  改为 server.host: "192.168.171.141"  (这样其他电脑通过浏览器进行访问了)

启动服务(启动过程耗时较长)

nohup  /usr/local/kibana-7.9.0-linux-x86_64/bin/kibana  --allow-root &

查看服务:netstat -anpt | grep 5601

启动成功后,可以通过浏览器进行访问了(IP:5601)

至此,server端的安装完成。

 

三、Nginx_server端配置

1、安装nginx服务(因为是测试,所以选用yum安装方式)

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum -y install nginx


2、上传filebeat,解压。
tar -xzf filebeat-7.9.0-linux-x86_64.tar.gz
cp -a filebeat-7.9.0-linux-x86_64 /usr/local/

3、修改配置文件并启动服务

cd /usr/local/filebeat-7.9.0-linux-x86_64/
vi filebeat.yml
enable:false  修改为true
paths:/var/log/*.log 修改为/var/log/nginx/*.log

output.elasticsearch  修改为  output.logstash   (也可以将此注释掉,下面注释中有)

hosts:["localhost:9200"]  修改为  hosts:[server端IP:5044]  

nohup ./usr/local/filebeat-7.9.0-linux-x86_64/filebaet -e -c filebeat.yml &

4、设置并查看

点击 Discover

输入logstash-* 点击 next

选择时间,就可以查看了

标签:ELK,server,elasticsearch,usr,Linux,操作,7.9,local,logstash
来源: https://www.cnblogs.com/641055499-mozai/p/15514891.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有