在我们线上的生产环境中要备份的东西很多,各种服务日志.数据库数据.用户上传数据.代码等等.用 JuiceFS 来备份可以节省你大量时间,我们会围绕这个主题写一系列的教程,整理出一套最佳实践,方便大家. 今天第一篇就写写最常用的 Nginx 日志备份. 如何用 JuiceFS 备份 Nginx 日志 生产环境中的 Nginx 经常作为反向代理,配置多台,用来对接后面的各种应用服务.日志主要有两类,访问日志 (access.log) 和错误日志 (error.log). 日志是分散在每个 Nginx…
编写shell脚本,实现nginx日志每天自动备份到指定文件夹! 需要的命令mv , corntab -e(定时任务),shell脚本 这里先说一下corntab: https://www.cnblogs.com/longjshz/p/5779215.html  这里有一篇详细介绍corn的, 这里只简单说一下用法: corntab -e 就可以编写我们需要的定时任务,编辑之后保存即可,需要按指定格式: 比如: 0 6 * * * echo "Good morning." >&g…
Nginx 日志分割 因业务需要做了简单的Nginx 日志分割, 第1章 详细配置如下. #建议在mkdir  /home/shell  -p 专门写shell 脚本位置 root@localhost:/home/shell# cat nginxcut.sh #!/bin/sh ##### #by xuebao #2017.05.16 date=`date +%Y%m%d` nginxlog="/app/logs/nginx/" /bin/mv ${nginxlog}www_acces…
vim /data/runlog.sh                                                  #编辑一个 shell 脚本 #!/bin/bash LOGPATH=/usr/local/nginx/logs/z.cn.access.log                  //日志的路径 BASEPATH=/data/$(date -d yesterday +%Y%m)   #echo $BASEPATH                        …
goaccess 是一个比较方便的支持实时的日志分析工具,比较方便,同时安装&&配置简单 安装 centos yum yum install -y goaccess 运行 我的nginx 使用yum 安装,路径都是默认的 cd /var/log/nginx goaccess access.log -o /usr/share/nginx/html/report.html --log-format=COMBINED --real-time-html 查看效果 实时访问,可以看到界面的变动 do…
通过Nginx日志,可以简单分析WEB网站的运行状态.数据报表.IP.UV(unique visitor指独立访客访问数,一台电脑终端为一个访客.).PV(page view即页面访问量,每打开一次页面PV计数+1,刷新页面也是)访问量等需求,如下为常用需求分析: (1) 统计Nginx服务器独立IP数. awk '{print $1}' access.log |sort -r|uniq -c | wc -l (2) 统计Nginx服务器总PV量. awk '{print $7}' access…
自己有个tony6.com的服务器,上面挂着我的博客,web服务器是nginx. 由于最近一直在折腾python,所以简单写了个nginx日志分析工具,它可以分析出每个IP的点击数量和IP所在地. #!/usr/bin/env pypy #coding:utf8 import re import sys import urllib import json contents = sys.argv[1] url = "http://ip.taobao.com/service/getIpInfo.ph…
部署完毕nginx之后,发现自己的/var/log/nginx/*log的日志不会压缩,一直都是一个文本写日志, 时间久了,日志文件内存过于增加,将会导致在日志添加过程效率降低,延长时间. 默认安装的nginx都会每天凌晨自动去备份,但是也有nginx 不会自动备份压缩日志, 于是我们先使用命令看看配置: cat /etc/logrotate.d/nginx 当然也可以直接修改 vim /etc/logrotate.d/nginx 然后把我下面的命令粘贴进去 /var/log/nginx/*lo…
1.Nginx日志管理 1.日志简单介绍 Nginx提供了日志记录的功能,日志文件在对我们管理网站十分有用,通过访问日志(access_log)我们可以获取请求来源.客户端信息.请求的资源等信息:通过错误日志(error_log)可以获取错误发生时间.错误信息等,方便我们及时定位和修复错误.看一下Nginx中日志相关的指令. #设置访问日志:访问日志文件为nginx/logs/mysite.access.log,格式为main access_log logs/mysite.access.log…
不管是什么日志文件,都是会越来越大的,大到一定程度就是个可怕的事情了,所以要及早的做处理,方法之一就是按时间段来存储,不过linux系统提供了Logrotate的日志管理工具,很好用,不用写计划任务脚本了,不过弊端是转储后的日志文件放入指定的目录,必须和当前日志文件再同一个系统,下面是摘录别人的.记录下以备不时之需. Logrotate是Linux下一款日志管理工具,可用于日志文件的转储(即删除旧日志文件,创建新日志文件).可以根据日志大小或者按照某时段间隔来转储,内部使用cron程序来执行.L…
本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 这几天自己看了下博客的nginx日志,发现日志文件发现越来越大. 因为nginx自己不会对日志文件进行切割,所以打算通过其他方式进行切割,而且为了后续能对nginx日志文件里面记录的数据进行分析,所以打算按照天对其进行切割. PS:本篇文章所以的操作是在centos6.5 OS 64bit上进行. 切割nginx日志,我们可以通过两种不同的方式进行,分别是:通过logrotate和通过…
前不久使用Keepalived搭建了Nginx双活代理服务器,以达到一个公网IP后支持多个云主机的多个域名网站的目的.完成后又想在这双活的Nginx上有所有访问网站的日志,之前有了解过Google Analytics, 及一些日志分析系统.后来终于找到并部署了几个开源的分析系统,包括AWStats,JAWStats及Piwik.使用它发现有一个问题比较烦,就是如何将2个Nginx的日志发送到分析服务器后合并分析. 一.需求 合并多台服务器同一域名网站的访问日志后,定时导入网站分析系统,生成网站分…
面试的时候一定会被面到的问题是:给出web服务器的访问日志,请写一个脚本来统计访问前10的IP有哪些?访问前10的请求有哪些?当你领略过goaccess之后,你就明白,这些问题,除了考验你的脚本背诵记忆能力以外,唯一的作用只有装A或者装C了. 对于nginx日志分析,有很多工具,衡量好坏的标准大概就是三快:安装快,解析快,上手快.满足这三点的goaccess确实是居家必备良药. 话说这个标题其实有点委屈GoAccess了,它是一个日志分析工具,并不只是为nginx使用的.你也可以用它来分析apa…
preface 公司采用的LNMP平台,跑着挺多nginx,所以可以利用elk好好分析nginx的日志.下面就聊聊它吧. 下面的所有操作都在linux-node2上操作 安装Nginx nginx是开始,所以你得安装一个Nginx,安装方法采用yum安装,yum源:http://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm 下面的所有操作都在linux-node2上操作 [root@linux-node2 ~]# rpm -vh…
Linux nginx日志按天分割实例   nginx的日志有个小缺点,日志文件一直就是一个,不会自动地进行切割,如果访问量很大的话,将导致日志文件非常大,不便于管理这就需要我们自己来实现了,按日期每天生产一个日志文件思路 每天零点把默认日志文件改名为当天日期,再重新打开新的日志文件使用定时任务来执行脚本,脚本中执行改名和重新打开日志文件的操作向Nginx主进程发送 USR1 信号,就可以重新打开日志文件 实现 #/bin/bash#备份日志的路径bakpath='/home/nginx/log…
---------------------------------------- 博文作者:迦壹 博客地址:Nginx日志导入到Hive,同步Hbase,设置RowKey为autoincrement(ID自增长) 转载声明:可以转载, 但必须以超链接形式标 明文章原始出处和作者信息及版权声明,谢谢合作! ---------------------------------------   目录: 一.Nginx的相关配置,以及测试数据 二.Hadoop中创建使用目录 三.Hive的日志表创建,并同…
一.写在前面 结合之前写的一篇文章:Centos7 之安装Logstash ELK stack 日志管理系统,上篇文章主要讲了监控软件的作用以及部署方法.而这篇文章介绍的是单独监控nginx 日志分析再进行可视化图形展示,并在用户前端使用nginx 来代理kibana的请求响应,访问权限方面暂时使用HTTP 基本认证加密用户登录.(关于elk权限控制,我所了解的还有一种方式-Shield),等以后有时间了去搞下.下面开始正文吧... 注意:环境默认和上一篇大致一样,默认安装好了E.L.K.3个软…
重置Heka执行进度 heka的进度配置文件存在配置项 base_dir 设置的目录,只需要删除这个文件夹下面的内容,就可以完全重置heka的进度. base_dir 配置项默认是在下面目录: '/var/cache/hekad'  或'c:\var\cache\hekad' 参考:http://hekad.readthedocs.org/en/latest/getting_started.html#global-configuration  删除Elasticsearch数据 我们在调整导入策…
#nginx日志切割脚本 #!/bin/bash #设置日志文件存放目录 logs_path="/home/www.xxx.com/wwwlogs/" #设置pid文件 pid_path="/usr/local/nginx/nginx.pid" #重命名日志文件 mv ${logs_path}host.access.log ${logs_path}access_$(date -d "yesterday" +"%Y%m%d").…
一.ELK简介1.组成ELK是Elasticsearch.Logstash.Kibana三个开源软件的组合.在实时数据检索和分析场合,三者通常是配合使用,而且又都先后归于 Elastic.co 公司名下,故有此简称.Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等.Logstash是一个完全开源的工具,它可以对你的日志进行收集.分析,并将其存储供以后使用.kibana 是一个开源和…
Nginx安装 1.下载相关组件 yum install -y gcc gcc-c++                                   #安装C/C++编译器 yum -y install gd-devel geoip-devel perl-ExtUtils-Embed wget http://125.39.35.133/files/40450000042A3380/zlib.net/zlib-1.2.8.tar.gz wget http://sourceforge.net/…
Nginx日志的指令主要有两条: log_format,设置日志的格式 access_log,指定日志文件的存放路径.格式和缓存大小 两条指令在Nginx配置文件中的位置可以在http{……..}之间,也可以在虚拟主机之间,即server(…….)两个大括号之间. log_format 语法如下: log_format name format [format …] name表示定义的格式名称(name名称在Nginx配置文件中是不能重复的) format表示定义的格式样式.log_format有…
题记:Nginx之旅系列是用来记录Nginx从使用到源码学习的点点滴滴,分享学习Nginx的快乐 Nginx 首页: http://nginx.org/ Nginx日志功能 PK Linux内核printk 本来只想分析一下Nginx中日志的实现,但是突发奇想,想把Nginx中的日志功能与Linux kernel中的printk进行一下横向对比,即学习了Nginx的日志功能,又总结了Linux的printk的实现,于是乎这么一篇博文就出现了.本文将从日志级别相关函数实现和日志函数使用的角度来梳理…
摘要:众所周知,Nginx是目前最流行的Web Server之一,也广泛应用于负载均衡.反向代理等服务,但使用过程中可能因为对Nginx工作原理.变量含义理解错误,或是参数配置不当导致Nginx工作异常.本文介绍的就是福建开机广告Nginx的参数location处理静态文件配置不当引发的nginx日志骤增到14G的问题排期过程. 一.问题现象及系统介绍 现象:12月15日 21:02分,正在外面吃宵夜,手机收到监控平台的一条"服务器磁盘空间<20%"报警短信. 系统介绍:为了看此…
Nginx作为网站的第一入口,其日志记录了除用户相关的信息之外,还记录了整个网站系统的性能,对其进行性能排查是优化网站性能的一大关键. Logstash是一个接收,处理,转发日志的工具.支持系统日志,webserver日志,错误日志,应用日志,总之包括所有可以抛出来的日志类型.一般情景下,Logstash用来和ElasticSearch和Kibana搭配使用,简称ELK,本站http://www.wenzhihuai.com除了用作ELK,还配合了Kafka进行使用.它使用JRuby编写,开源,…
转:http://www.infoq.com/cn/articles/nignx-log-goldmine Nginx(读作Engine-X)是现在最流行的负载均衡和反向代理服务器之一.如果你是一名中小微型网站的开发运维人员,很可能像我们一样,仅Nginx每天就会产生上百M甚至数以十G的日志文件.如果没有出什么错误,在被logrotate定期分割并滚动删除以前,这些日志文件可能都不会被看上一眼. 实际上,Nginx日志文件可以记录的信息相当丰富,而且格式可以定制,考虑到`$time_local`…
1.说一说 当你安装完nginx,输出的格式是比较乱的,这样我们就需要自己去定义一下,自己看着舒服的格式. 2.Nginx日志字段 $remote_addr 记录客户端IP,但她的值不是客户端提供的,而是服务端根据客户端的ip指定的,当你的浏览器访问某个网站时,如果中间没有任何代理,那么网站的web服务器(nginx或apache)就会把remote_addr设置为你的机器IP.如果你用了某个代码,那么你的浏览器会先访问这个代理,然后在由这个代理了转发到网站,这样web服务器就会把remote_…
这里用到的nginx日志是网站的访问日志,比如日志格式: 180.173.250.74 - - [08/Jan/2015:12:38:08 +0800] "GET /avatar/xxx.png HTTP/1.1" 200 968  "http://www.iteblog.com/archives/994" 这条日志里面含有9列(为了展示的美观,我在这里面加了换行符),每列之间是用空格分割的,每列的含义分别是客户端访问IP.用户标示.用户.访问时间.请求页面(测试简…
一.背景 前端web服务器为nginx,采用filebeat + logstash + elasticsearch + granfa 进行数据采集与展示,对客户端ip进行地域统计,监控服务器响应时间等. 二.业务整体架构: nginx日志落地-->filebear-->logstash-->elasticsearch-->grafna(展示) 三.先上个效果图,慢慢去一步步实现 如上只是简单的几个实用的例子,实际上有多维度的数据之后还可以定制很多需要的内容,如终端ip访问数,国家.…
http://www.williamsang.com/archives/1254.html 日志分割常用方法: 自己写脚本分割 使用linux自带的logrotate 前者灵活,可以应对各种需求,自定义文件夹.文件名.后者配置简单,使用方便. 下面我们以分割nginx日志为例介绍一下使用logrotate分割日志实例. logrotate简单介绍 logrotate使用cron按时调度执行,日志的执行过程原理为不断改名称:比如你有个access.log文件,需要保留4个日志文件,那么logrot…