Nginx日志分析系统

项目需求

Nginx是一款非常优秀的web服务器,往往nginx服务会作为项目的访问入口,那么,nginx的性能保障就变得非常重要了,如果nginx的运行出现了问题就会对项目有较大的影响,所以,我们需要对nginx的运行有监控措施,实时掌握nginx的运行情况,那就需要收集nginx的运行指标和分析nginx的运行日志了。

业务流程

nginxlogflow

说明:

  • 通过Beats采集Nginx的指标数据和日志数据
  • Beats采集到数据后发送到Elasticsearch中
  • Kibana读取数据进行分析
  • 用户通过Kibana进行查看分析报表

Nginx部署安装

1
2
3
4
5
6
7
8
9
10
11
12
## 官网下载地址 http://nginx.org/download/
## ubuntu 安装
sudo apt install nginx # 80端口, 此处不要与gitlab的nginx冲突
tail -f /var/log/nginx/access.log
tail -f gitlab/logs/nginx/gitlab_access.log
## centos 源码安装
tar -xvf nginx-xxxx.tar.gz
yum -y install pcre-devel zlib-devel
./configure
make install
cd /usr/local/nginx/sbin/
./nginx

centos安装Nginx参考

filebeat安装与使用参

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
vim best-nginx.yml # 创建配置文件
#### 内容如下
filebeat.inputs:
- type: log
enabled: true
paths:
- /home/ec2-user/program/gitlab/logs/nginx/*.log
tags:["nginx"]
fields_under_root: false
setup.template.settings:
index.number_of_shards: 3
output.elasticsearch:
hosts: ["127.0.0.1:9200"]
#####################################
./filebeat -e -c gszbeat.yml # 启动

echo "ganshizhong" >> a.log