注:《Cacti和Zabbix所需Nginx安装配置》系列三篇文章的部分内容摘抄自公司同事编写的技术文档,在此对他致以衷心的谢意!
Cacti、Nagios、Zabbix都是生产环境常用的监控软件,为了整合资源便于管理一般都将这三种监控软件整合到一台服务器中,下面是工作中总结的适合Cacti、Zabbix、Nagios的编译参数和基本配置方法,希望对大家有帮助。
1. naginx编译和安装配置(nginx-1.1.12)
- yum -y install "pcre*"
- ./configure \
- --with-cc-opt=-'O3' \
- --user=daemon --group=daemon \
- --prefix=/usr/local/nginx-1.1.12 \
- --with-http_stub_status_module \
- --with-http_ssl_module
- make && make install
- cd /usr/local; ln -s nginx-1.1.12 nginx
- mkdir /data/website/sample.troodo.net/{htdocs,logs}
2. nginx访问日志切割脚本安装
nginx没有自带按天切割访问日志的功能,也无法通过cronolog来切割日志,所以只能以每天执行脚本的方式来实现这个功能,执行以下命令生成用于按天切割nginx访问日志的脚本,并添加到crontab中每天执行
- 1. 创建/usr/local/nginx/sbin/cut-nginx-log.sh文件,并将以下代码复制到该文件中
- #!/bin/bash
- # This script run at 00:00
- # cut yesterday log and gzip 8th day before yesterday log files.
- webroot=/data/website
- sitespath=`ls -F $webroot|grep "/"|sed 's:/::g'`
- for sitepath in $sitespath
- do
- logs_path="$webroot/$sitepath/logs"
- date_dir=$logs_path/$(date -d "-1day" +"%Y%m")
- earlyday_date_dir=$logs_path/$(date -d "-8day" +"%Y%m")
- gzip_date=$(date -d "-8day" +"%y%m%d")
- mkdir -p $date_dir
- mv $logs_path/access.log $date_dir/access_log.$(date -d "-1day" +"%y%m%d")
- /usr/local/nginx/sbin/nginx -s reopen
- echo $earlyday_date_dir
- cd $earlyday_date_dir
- sed -i '/211.139.94.254/d' access_log.$gzip_date
- sed -i '/"-" 400 0 "-" "-" "-"/d' access_log.$gzip_date
- tar czf access_log_$gzip_date.tgz access_log.$gzip_date
- rm -f access_log.$gzip_date
- find $webroot/$sitepath/logs -name "*" -mtime +60 -exec rm -f {} \;
- done
- 2. 执行以下命令 将nginx分隔日志脚本添加到crontab中
- chmod +x cut-nginx-log.sh
- sed -i '/cut-nginx-log.sh/d' /var/spool/cron/root
- echo "0 0 * * * /usr/local/nginx/sbin/cut-nginx-log.sh > /dev/null 2>&1" >> /var/spool/cron/root
3. 由于博文字数限制 nginx基本配置请参看“Cacti和Zabbix所需Nginx安装配置(二)”(http://rolandqu.blog.51cto.com/3477736/945704)
4. 由于博文字数限制 nginx启动脚本配置请参看“Cacti和Zabbix所需Nginx安装配置(三)”(http://rolandqu.blog.51cto.com/3477736/945707)
转载于:https://blog.51cto.com/rolandqu/945703