栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

五分钟快速搭建日志,数据分析平台,还算实用的东西

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

五分钟快速搭建日志,数据分析平台,还算实用的东西

搭建由前端管理界面输出,并伴有检索功能的日志平台

*学习并搭建 ELKR ( = Elasticsearch + Logstash + Kibana + Redis ) 一套完整的 Nginx 日志分析技术栈。从入门安装配置到数据分析,由浅入深的讲解了ELKR的使用和工作流程,更加熟悉服务器和数据库相关操作。*


1. 需要工具: 所有操作在centos7.6版本中操作

  • jdk8
  yum search java|grep jdk
  yum install -y java-1.8.0-openjdk
  java -version
  • redis
  第一步:下载redis安装包wget http://download.redis.io/releases/redis-4.0.6.tar.gz
  第二步:解压压缩包   tar -zxvf redis-4.0.6.tar.gz
  第三步:yum安装gcc依赖    yum install gcc
  第四步:跳转到redis解压目录下   cd redis-4.0.6
  第五步:编译安装    make MALLOC=libc   cd src && make install
  启动redis
  1---./redis-server ------带有界面启动方式
  2----以后台进程方式启动redis
		第一步:修改redis.conf文件
		将
		daemonize no 
		修改为
		daemonize yes
		第二步:指定redis.conf文件启动
		./redis-server /usr/local/redis-4.0.6/redis.conf
  • logstash ----------接受日志,设定日志格式的位置
  • elastichsearch ---------处理日志的位置
  • kibana ---------图形化管理界面,丰富造作方案,配置
# elasticsearch
wget https://downloadfiles.oss-cn-hangzhou.aliyuncs.com/courses/aliyun/elk/elasticsearch-7.4.1-linux-x86_64.tar.gz
tar -xvf elasticsearch-7.4.1-linux-x86_64.tar.gz
# kibana
wget https://downloadfiles.oss-cn-hangzhou.aliyuncs.com/courses/aliyun/elk/kibana-7.4.1-linux-x86_64.tar.gz
tar -xzf kibana-7.4.1-linux-x86_64.tar.gz
# logstash
wget https://downloadfiles.oss-cn-hangzhou.aliyuncs.com/courses/aliyun/elk/logstash-7.4.1.tar.gz
tar -xzf logstash-7.4.1.tar.gz
  • nginx 安装必要的包呀,库
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
tar -zxvf nginx-1.12.0.tar.gz
cd nginx-1.12.0
./configure
make
make install      -------------直接执行

启动、停止nginx
	cd /usr/local/nginx/sbin/  ------寻找启动路径
	./nginx 
	./nginx -s stop
	./nginx -s quit
	./nginx -s reload
关闭进程------     操作完将所有进程kill掉
ps -aux | grep redis查看redis进程

2.工具安装启动产生的问题,

在新装的centos上,需要注意端口开放,防火墙设置,
elasticsearch : 9200   kibana : 5601    redis : 6379   nginx: 80 
elk三个软件安装时候,如报root用户问题,需要新创建用户
在新创建用户下进行启动,并由root用户权限进行授权。
例如:
groupadd elk
useradd elk -g elk
passwd elk

授权文件
chown -R elk(用户名):elk(组名) elk-xxx.xxx.(具体软件包)
      
su elk
启动各工具   elk三个包,都是在bin目录下       ./+(工具全拼的名字)

3.Centos7开放及查看端口

1、开放端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent   # 开放5672端口
firewall-cmd --zone=public --remove-port=5672/tcp --permanent  #关闭5672端口
firewall-cmd --reload   # 配置立即生效
2、查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
3.、关闭防火墙
如果要开放的端口太多,嫌麻烦,可以关闭防火墙,安全性自行评估
systemctl stop firewalld.service
4、查看防火墙状态
 firewall-cmd --state
5、查看监听的端口
netstat -lnpt
  • 实现第一步:log日志=> logstash=>elasticsearch=>kibana

  • 实现第二步:nginx 的 log日志=> logstash=>elasticsearch=>kibana

> `- 实现第三步:nginx 的 log日志=> logstash=>redis => logstash => elasticsearch => kibana 介入redis增加缓冲----------------------主要看这步

过程是一步步走出来的:
首先,nginx的输入日志文件

http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

access_log /home/project/access.log; 这是修改位置,输出与接收位置相同,


shipper配置文件,

input {
  stdin {}
  file {
    path => "/home/project/access.log"        来自于nginx的日志文件
    start_position => beginning         从头开始读,防止漏读
    codec =>  multiline {
      negate => true
      pattern => '^d'
      what => 'previous'
    }
  }
}
output {
    stdout {
        codec => rubydebug
    }
    redis {       =======》   这是输出到redis上
        host => "localhost"
        data_type => "list"      ==》输出格式,可以是json
        key => "logstash"
    }
}

redis,目前没有做修改

indexer配置文件 redis与logstash对接,输出到e和k上,

input {
    redis {
        host => "localhost"
        type => "redis"
        data_type => "list"
        key => "logstash"
    }
}
output {
    stdout {
        codec => rubydebug
    }
    elasticsearch {
        hosts=>["localhost:9200"]
        index=>"logstash-%{+YYYY.MM.dd}"
    }
}

最终左图:nginx 介入 shipper.conf文件中 (logstash) shipper输出到redis上,indexer.conf配置redis准入,elastisearch输入到kibana上,最终形成日志处理监控。

最终网页输出版就是如此的清晰透彻,方便业务异常的定位。

就不用在说哪哪哪哪去搜什么error匹配了,

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/510065.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号