http ftp ssh三种方式下载apache日志
环境:
一台web服务器 192.168.1.121
另一台本地机 192.168.1.124
整个过程自动执行无需人工干预
考虑采用ssh来传输日志
实施:
配置web主机与本机之间直接登陆
1在本地的hosts里添加192.168.1.121 cent.blue.com //cent.blue.com 主机名
2生成密匙 #ssh-keygen -t rsa 全回车
3生成后,将本地的id_rsa.pub复制到121的.ssh目录下,并命名为authorized_keys2
#sftp cent.blue.com
#cd .ssh
#pub id_rsa.pub authorized_keys2
4测试是否成功 scp cent.blue.com:/usr/local/apache/logs/access_log.2009052 .
实现自动下载
#! /bin/bash
desc_dir=/www/logs
sour_dir=/usr/local/apache/logs
Logfile_name=access_log
Logfile_exname=`date +%Y%m%d -d ‘-1 day’` //昨天日期
Host_tale=”cent.blue.com” //有多台web服务器时中间用空格隔开
echo begining:`date +%Y%m%d% %H:%M`
for loop in $Host_table
do
scp $loop:$sour_dir/Logfile_name.Logfile_exname $desc_dir && echo $loop download apache log file complete.
done
echo end:`date +%Y%m%d% %H:%M`
运行sshaotulog.sh
当日志文件较大时,建议先压缩日志文件再down回本地,需要对脚本做些修改,将上面的for循环替换成下面内容
for loop in $Host_table
do
ssh $loop “/usr/bin/gzip $sour_dir/$Logfile_name.$Logfile_exname ” && echo $loop : compress apache log file complete.
done
for loop in $Host_table
do
scp $loop:$sour_dir/$Logfile_name.$Logfile_exname.gz $dest_dir/$loop && echo $loop : download apache log file complete.
done
for loop in $Host_table
do
/bin/gunzip $dest_dir/$loop/$Logfile_name.$Logfile_exname.gz && echo $loop :uncompress apache log file complete.
done
布置运行时间
#crontab -e
30 22 * * * /opt/sshaotulog.sh >>/var/log/sfpt.log 2>&1
ftp http获取日志的方式比较简单,其方法详见附件!
局域网流量监控Bandwidthd
在流量统计软件中有MRTG,NTOP,BANDWIDTHD等多种,MRTG 只是显示某一网络接口的总量,NTOP详细得来也很占系统资源.bandwitdthd配置比较简单,基于sinffer原理,安装在网关上,可以追踪的是各个的 IP 的流量,且是分协议(HTTP, TCP, UDP, ICMP, VPN ,P2P等),分颜色显示,还可分时段查看。
所需软件: bandwidthd-2.0.1.tgz
下载地载:http://nchc.dl.sourceforge.net/sourceforge/bandwidthd/bandwidthd-2.0.1.tgz
它还需要其它的软件支持,如libpng libgd libpcap gdbm,在安装这些软件时,最好连同devel一块安装,否则make install会出错。
1安装:
tar xzvf bandwidth-2.0.1.tgz
./configure
bandwidthd web页面默认只显示前20个ip,如果要显示更多,需要修改graph.c文件
找到for (Counter=0; Counter < 21 && Counter < NumIps; Counter++)把21改成101就变成TOP100然后查找TOP20改为字符串TOP100 或在vi末行模式使用“% s/Top20/Top100/g等形式替换”。
make install
2配置bandwidthd
vi /usr/local/bandwidthd/etc/bandwidthd.conf
subnet 192.168.1.0/24 #//指定需要监控的网络范围
dev “eth0″ #//定义需要监控的网卡,“any”表示所有网卡
skip_intervals 0 #//绘图间隔的周期数,默认周期为150秒
graph_cutoff 100 #//对大于100KB的流量才进行绘图统计,默认为1024KB
output_cdf true #//将统计数据记录到cdf格式的文件中,若需要长期连续监控则启用此项及下一项
recover_cdf true #//每次启动bindwidthd时首先读取cdf文件里的数据信息
#promiscuous true #//将网卡置为混杂模式,如为集线器环境,bandwidthd可以架设在网络中任一台主机上
filter “ip” #//对libpcap抓取的包使用特定关键字进行过滤(默认为“ip”)
graph true #//进行绘图统计
3 启动bandwidthd
vi /usr/bin/bwd //创建启动脚本文件,内容如下:
#!/bin/bash
cd /usr/local/bandwidthd
./bandwidthd
chmod a+x /usr/bin/bwd
echo ‘/usr/bin/bwd’ >> /etc/rc.d/rc.local
bwd
4 查看监控信息
建立软件链接
ln -s /usr/local/bandwidthd/htdocs /var/www/html/bwd
service httpd restart
http://192.168.1.121/bwd 查看web监控界面,默认150s刷新一次。
IP表
graph
评论已关闭!