之前在做cdn运维的时候,因为业务的特殊性(跨机房,跨ISP,跨区域),把日志集中传输到一个中心来做qos的分析不太现实,因此采用的方法是每5分钟对nginx日志进行切割,然后通过python程序计算httpcode的分布,并通过zabbix来实现单台机器nginxqos的监控,配合对zabbix数据库的lastvalue进行聚合,则可以监控整个cdn的流量,qos数据等,这样一般发现问题的延迟就在5分钟左右(cdn的qos敏感性不是很强),配合rsync+hadoop+hive来计算nginx的日志,也可以得到更加详细的各个维度的分析(离线数据分析),下面贴下nginx日志使用的分析脚本:
之前在做cdn运维的时候,因为业务的特殊性(跨机房,跨ISP,跨区域),把日志集中传输到一个中心来做qos的分析不太现实,因此采用的方法是每5分钟对nginx日志进行切割,然后通过python程序计算httpcode的分布,并通过zabbix来实现单台机器nginxqos的监控,配合对zabbix数据库的lastvalue进行聚合,则可以监控整个cdn的流量,qos数据等,这样一般发现问题的延迟就在5分钟左右(cdn的qos敏感性不是很强),配合rsync+hadoop+hive来计算nginx的日志,也可以得到更加详细的各个维度的分析(离线数据分析),下面贴下nginx日志使用的分析脚本:
nginx.conf 配置解释详解user www www; 定义 Nginx 运行的用户及组 worker_processes 8; #[ debug | info | notice | warn | error | crit ] error_log /data1/logs/nginx_error.log crit; pid /usr/local/webserver/nginx/nginx.pid; #Specifies the value for maximum file descriptors that can be opened by this process. worker_rl
nginx.conf 配置解释详解user www www; 定义 Nginx 运行的用户及组 worker_processes 8; #[ debug | info | notice | warn | error | crit ] error_log /data1/logs/nginx_error.log crit; pid /usr/local/webserver/nginx/nginx.pid; #Specifies the value for maximum file descriptors that can be opened by this process. worker_rl
注:本文很多源码包都源自sourceforge.net,我直接wget的时候不允许下载,URL都已经给出具体怎么下载合适,请读者自己做主!本文所有的软件包来源的URL均来官网1、安装LNMP所依赖的软件包组件yum-yinstallgccgcc-c++pcre-developenssl-develmysql-devellibxml2-develpatchbzip2bzip2-develcurl-devellibjpeglibjpeg-devellibpng-devellibpngfreetypefreetype-developenldapopenldap-develperl-CPANbison
注:本文很多源码包都源自sourceforge.net,我直接wget的时候不允许下载,URL都已经给出具体怎么下载合适,请读者自己做主!本文所有的软件包来源的URL均来官网1、安装LNMP所依赖的软件包组件yum-yinstallgccgcc-c++pcre-developenssl-develmysql-devellibxml2-develpatchbzip2bzip2-develcurl-devellibjpeglibjpeg-devellibpng-devellibpngfreetypefreetype-developenldapopenldap-develperl-CPANbison
本文与我个人的独立博客http://blog.coocla.org/270.html同步发布,欢迎各位访问我的小站!简介smokeping是rrdtool的作者TobiOetiker的作品,采用多种方式对网络性能进行监控检测并告警,它支持较多的插件方式对网络的多项指标进行监控,并且支持Matser/Slave的架构,多个节点的监控数据可以在同一个图上展现。通过颜色和阴影表示网络延迟和丢包情况,图像很漂亮。适用于对多IDC机房网络的监控和网络性能的采集分析。Smokeping安装部分安装smokeping依赖的一部分perl模块还有一些其他检测组件#yuminstallrrdtoolfpinge
本文与我个人的独立博客http://blog.coocla.org/270.html同步发布,欢迎各位访问我的小站!简介smokeping是rrdtool的作者TobiOetiker的作品,采用多种方式对网络性能进行监控检测并告警,它支持较多的插件方式对网络的多项指标进行监控,并且支持Matser/Slave的架构,多个节点的监控数据可以在同一个图上展现。通过颜色和阴影表示网络延迟和丢包情况,图像很漂亮。适用于对多IDC机房网络的监控和网络性能的采集分析。Smokeping安装部分安装smokeping依赖的一部分perl模块还有一些其他检测组件#yuminstallrrdtoolfpinge
关于nginx信号控制的“故障”案例 最近几天发现nginx的日志老切割不成功,遂来查找问题。 最开始以为是logrotate的脚本问题,遂手动切割,运行以下的命令logrotate -vf /etc/logrotate.d/nginx 发现运行这个是没有问题的,终于,在servicenginxrestart后,发现了问题 问题是在用servicenginxrestart后,nginx.pid文件才会自动消失,于是,仔细检查脚本,发现一些端倪啊,一个字眼出现了killproc $prog -QUIT -QUIT从容关闭,也就是说这个进程是慢慢关闭的,不是立即关闭的,于是验证。如图
关于nginx信号控制的“故障”案例 最近几天发现nginx的日志老切割不成功,遂来查找问题。 最开始以为是logrotate的脚本问题,遂手动切割,运行以下的命令logrotate -vf /etc/logrotate.d/nginx 发现运行这个是没有问题的,终于,在servicenginxrestart后,发现了问题 问题是在用servicenginxrestart后,nginx.pid文件才会自动消失,于是,仔细检查脚本,发现一些端倪啊,一个字眼出现了killproc $prog -QUIT -QUIT从容关闭,也就是说这个进程是慢慢关闭的,不是立即关闭的,于是验证。如图