JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

值得收藏的Nginx+Flume+kafka安装手册 日志行为分析必备

wys521 2024-09-08 22:58:31 精选教程 47 ℃ 0 评论

一、Nginx

1、简介

Nginx(“engine x”)是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。在高连接并发的情况下,Nginx是Apache服务器不错的替代品。

2、安装步骤

系统平台:CentOS release 6.6 64位

● 安装编译工具及库文件

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

● 安装PCRE

下载PCRE安装包,下载地址:

wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

解压安装包

tar zxvf pcre-8.35.tar.gz

进入安装包目录

cd pcre-8.35

编译安装

./configure
make && make install

查看pcre版本

pcre-config --version

● 下载 Nginx,下载地址:https://nginx.org/en/download.html

命令:

wget http://nginx.org/download/nginx-1.9.9.tar.gz

● 解压安装包

命令:

tar zxvf nginx-1.9.9.tar.gz

● 编译安装

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/pcre-8.35
make
make install

● 查看nginx版本

/usr/local/nginx/sbin/nginx -v

● 启动 Nginx

/usr/local/nginx/sbin/nginx

● 常用命令

/usr/local/nginx/sbin/nginx -s reload # 重新载入配置文件
/usr/local/nginx/sbin/nginx -s reopen # 重启 Nginx
/usr/local/nginx/sbin/nginx -s stop # 停止 Nginx

3、埋点采集配置

● 参数格式

log_format 写法:

log_format soshash.log.format '$remote_addr - $remote_user [$time_local] $request'
'$status $body_bytes_sent $http_referer '
'$http_user_agent $http_x_forwarded_for';

二、Flume

1、简介

Flume是一种提供高可用、高可靠、分布式海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于采集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接收方的能力,用一句话概括,Flume是实时采集日志的数据采集引擎。

2、安装步骤

● 下载地址

wget https://mirrors.bfsu.edu.cn/apache/flume/1.9.0/apache-flume-1.9.0-bin.tar.gz

下载完成后,将文件解压到任意目录

在/etc/profile文件中增加设置

export FLUME_HOME=/usr/local/flume/apache-flume-1.9.0-bin
export FLUME_CONF_DIR=$FLUME_HOME/conf
export PATH=$FLUME_HOME/bin:$PATH

3、配置

● flume-env.sh

修改conf下的flume-env.sh,没有的话复制(cp)flume-env.sh.template,在里面配置JAVA_HOME为jdk的根目录

export JAVA_HOME=/usr/java/jdk1.8.0_60

1

● 自定义conf文件

复制flume-conf.properties.template至自定义文件

cp flume-conf.properties.template flume-nginx-logger.conf

以采集Nginx日志打印控制台为例

4、自定义拦截器

埋点数据上行时,SDK对数据进行加密,Flume对数据进行解密,拦截器使用maven项目实现。

主要是实现interceptor接口,并实现其方法,接口名为:org.apache.flume.interceptor.Interceptor

SDK上行数据如下:

maven项目pom.xml

三、Kafka

1、简介

是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等。

主要应用场景:日志收集系统和消息系统

2、安装步骤

● Zookeeper

如系统未安装Zookeeper,先下载Zookeeper并启动

下载地址:https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.6.2/

解压并进入配置目录:

cd apache-zookeeper-3.6.2-bin/conf

重命名zoo_sample.cfg文件:

mv zoo_sample.cfg zoo.cfg

进入bin目录并启动:

./zkServer.sh start

出现以下信息,启动成功

● kafka

下载地址:

wget https://mirrors.bfsu.edu.cn/apache/kafka/2.7.0/kafka_2.13-2.7.0.tgz

解压并进入kafka目录:cd kafka_2.13-2.7.0

启动:

bin/kafka-server-start.sh config/server.properties

● 创建话题"test"

bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

● 列出话题列表,可以查看创建的话题

bin/kafka-topics.sh --list --bootstrap-server localhost:9092

● 发送信息

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

● 启动消费者

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

● 常用命令

kafka启动(需要先启动zk):

bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
bin/kafka-server-start.sh -daemon config/server.properties

kafka停止:

bin/kafka-server-stop.sh
bin/zookeeper-server-stop.sh

3、配置

● server.properties

advertised.listeners=PLAINTEXT://:你的ip:9092

————————————————

版权声明:本文为小象数据版权所有,转载请注明出处,更多信息请搜索小象用户行为分析

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表