Elk and nginx and redis 干货
Posted Eason_Footprint
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elk and nginx and redis 干货相关的知识,希望对你有一定的参考价值。
ELKStack
ELKStack即Elasticsearch + Logstash + Kibana。日志监控和分析在保障业务稳定运行时,起到了很重要的作用。比如对nginx日志的监控分析,nginx是有日志文件的,它的每个请求的状态等都有日志文件进行记录,所以可以通过读取日志文件来分析;redis的list结构正好可以作为队列使用,用来存储logstash传输的日志数据。然后elasticsearch就可以进行分析和查询了。
本次搭建的的是一个分布式的日志收集和分析系统。logstash有agent和indexer两个角色。对于agent角色,放在单独的web机器上面,然后这个agent不断地读取nginx的日志文件,每当它读到新的日志信息以后,就将日志传送到网络上的一台redis队列上。对于队列上的这些未处理的日志,有不同的几台logstash indexer进行接收和分析。分析之后存储到elasticsearch进行搜索分析。再由统一的kibana进行日志web界面的展示。
本次使用快速安装yum,也可使用源码编译,安装时,请参照以下:
master:192.168.1.46 ---nginx和logstash agent
slave:192.168.1.47 ---logstash agent、elasticsearch、redis、nginx
yum -y install java --java环境安装
[root@localhost ~]# java -version --查看java版本,源码编译的,可以看我的另一片随笔,里面有jdk的源码编译
openjdk version "1.8.0_121"
OpenJDK Runtime Environment (build 1.8.0_121-b13)
OpenJDK 64-Bit Server VM (build 25.121-b13, mixed mode)
yum -y install redis* --redis安装
systemctl start redis --启动redis
ps -ef|grep 6379 --查看是否安装成功,
redis 13913 1 0 12:12 ? 00:00:00 /usr/bin/redis-server 127.0.0.1:6379
root 13917 3460 0 12:12 pts/0 00:00:00 grep --color=auto 6379
Elasticserach安装
ElasticSearch默认的对外服务的HTTP端口是9200,节点间交互的TCP端口是9300,注意打开tcp端口
wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.1.tar.gz ---elasticserach下载
[root@localhost ~]# mkdir /usr/local/elk
[root@localhost ~]# tar -xf elasticsearch-1.7.1.tar.gz -C /usr/local/elk/
[root@localhost ~]# ln -s /usr/local/elk/elasticsearch-1.7.1/bin/elasticsearch /usr/bin/ ---建立链接
cd /usr/local/elk/elasticsearch-1.7.1/bin/
./elasticsearch start --启动elk
./elasticsearch start -d --后台运行elk
curl -X GET http://localhost:9200 ---测试elk是否启动、可用
elasticserach默认的对外端口是9200,如果防火墙开启了要打开tcp端口。
Logstash安装
Logstash默认的对外端口是9292,如果防火墙开启了要打开tcp端口。
1、wget https://download.elastic.co/logstash/logstash/logstash-1.5.3.tar.gz --下载logstash,源码安装
[root@localhost ~]# tar -xf logstash-1.5.3.tar.gz -C /usr/local/
[root@localhost ~]# mkdir /usr/local/logstash-1.5.3/etc
2、rpm --import https://packages.elasticsearch.org/GPG-KEY-elasticsearch ---安装key
vi /etc/yum.repos.d/CentOS-Base.repo ---编辑yum源配置,添加以下:
name=Logstash repository for 1.5.x packages
baseurl=http://packages.elasticsearch.org/logstash/1.5/centos
gpgcheck=1
gpgkey=http://packages.elasticsearch.org/GPG-KEY-elasticsearch
enabled=1
yum install logstash -y ---安装logstash
未完不更...
以上是关于Elk and nginx and redis 干货的主要内容,如果未能解决你的问题,请参考以下文章
ELK+Redis+Nginx服务数据存储以及Nginx日志的收集
资深架构师教你如何使用elk+redis搭建nginx日志分析平台!
Filebeat +Redis+ELK处理Nginx日志系统
ELK之六-----logstash结合redis收集系统日志和nginx访问日志