海运的博客

Linux/Centos服务器安装配置日志分析Awstats

发布时间:June 23, 2012 // 分类:日记分析 // No Comments

Awstats是用perl语言编写的web日志分析软件,可用于ApacheIISNginx访问日志分析,界面友好、功能强大,支持中文显示。
LAMP环境下Awstats安装:

wget http://prdownloads.sourceforge.net/awstats/awstats-7.0.tar.gz
tar zxvf awstats-7.0.tar.gz 
mv awstats-7.0 /usr/local/awstats
chown -R apache:apache /usr/local/awstats

生成配置文件:

cd /usr/local/awstats/
perl /usr/local/awstats/tools/awstats_configure.pl 

按提示进行:

[root@centos5 awstats]# perl /usr/local/awstats/tools/awstats_configure.pl 

----- AWStats awstats_configure 1.0 (build 1.9) (c) Laurent Destailleur -----
This tool will help you to configure AWStats to analyze statistics for
one web server. You can try to use it to let it do all that is possible
in AWStats setup, however following the step by step manual setup
documentation (docs/index.html) is often a better idea. Above all if:
- You are not an administrator user,
- You want to analyze downloaded log files without web server,
- You want to analyze mail or ftp log files instead of web log files,
- You need to analyze load balanced servers log files,
- You want to 'understand' all possible ways to use AWStats...
Read the AWStats documentation (docs/index.html).

-----> Running OS detected: Linux, BSD or Unix

-----> Check for web server install

Enter full config file path of your Web server.
Example: /etc/httpd/httpd.conf
Example: /usr/local/apache2/conf/httpd.conf
Example: c:\Program files\apache group\apache\conf\httpd.conf
Config file path ('none' to skip web server setup):
> /etc/httpd/conf/httpd.conf #输入Apache配置文件路径

-----> Check and complete web server config file '/etc/httpd/conf/httpd.conf'
  Add 'Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"'
  Add 'Alias /awstatscss "/usr/local/awstats/wwwroot/css/"'
  Add 'Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"'
  Add 'ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"'
  Add '<Directory>' directive
  AWStats directives added to Apache config file.

-----> Update model config file '/usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf'
  File awstats.model.conf updated.

-----> Need to create a new config file ?
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ? y

-----> Define config file name to create
What is the name of your web site or profile analysis ?
Example: www.mysite.com
Example: demo
Your web site, virtual server or profile name:
> www.haiyun.me #输入要分析的网站域名

-----> Define config file path
In which directory do you plan to store your config file(s) ?
Default: /etc/awstats
Directory path to store config file(s) (Enter for default):
>  #awstats配置文件目录,默认/etc/awstats

-----> Create config file '/etc/awstats/awstats.www.haiyun.me.conf'
 Config file /etc/awstats/awstats.www.haiyun.me.conf created.

-----> Restart Web server with '/sbin/service httpd restart'
停止 httpd:                                               [确定]
启动 httpd:                                               [确定]

-----> Add update process inside a scheduler
Sorry, configure.pl does not support automatic add to cron yet.
You can do it manually by adding the following command to your cron:
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.haiyun.me
Or if you have several config files and prefer having only one command:
/usr/local/awstats/tools/awstats_updateall.pl now
Press ENTER to continue... 


A SIMPLE config file has been created: /etc/awstats/awstats.www.haiyun.me.conf
You should have a look inside to check and change manually main parameters.
You can then manually update your statistics for 'www.haiyun.me' with command:
> perl awstats.pl -update -config=www.haiyun.me
You can also read your statistics for 'www.haiyun.me' with URL:
> http://localhost/awstats/awstats.pl?config=www.haiyun.me

Press ENTER to finish...

编辑Awstats配置文件修改日记文件目录:

vim /etc/awstats/awstats.www.haiyun.me.com.conf
LogFile="/var/log/httpd/access_log"

新建Awstat数据存放目录:

mkdir /var/lib/awstats

更新Awstat数据:

perl /usr/local/awstats/tools/awstats_updateall.pl now

访问localhost/awstats/awstats.pl?config=www.haiyun.me即可查看Awstats管理界面:
awstats日志分析.png
Awstats界面无密码验证,为安全可配合Apache进行密码验证

Cacti插件syslog接收日志匹配规则Email报警

发布时间:June 22, 2012 // 分类:Cacti // No Comments

Cacti下利用syslog插件配合syslog-ng集中管理日记很方便,还可实现匹配日志内容并用Email报警,需先安装Cacti报警插件thold
Cacti界面——Alert Rules——add:
cacti下syslog添加报警规则.png
当有用户密码错误被拒绝登录时就会Email通知管理员邮箱:
cacti插件syslog报警邮件.png

Syslog-ng配置文件详解

发布时间:June 22, 2012 // 分类:日记分析 // No Comments

Syslog-ng作为syslog的下一代日记记录工具,兼容于syslog协议,可通过定义规则,实现高级过滤功能,可以构建灵活的、可靠的中央日志服务器。
配置文件基于以下架构:

log { source( ); filter( l); destination( ); };
#通过关联数据源、过滤规则、目标操作组成一个完整的消息路径。
#数据源、过滤规则、目标操作分别定义。

数据源定义source:

source <sourcename> { 日志源; 日志源; ... };
#日志源可用参数:
file (filename) : 从指定的文件读取日志信息
unix-dgram  (filename) : 从SOCK_DGRAM模式的unix套接字接收日志消息
unix-stream (filename) : 从SOCK_STREAM模式的unix套接字接收日志消息
udp ( (ip),(port) ) :从UDP端口接收日志
tcp ( (ip),(port) ) : 从TCP端口接收日志
internal() : syslog-ng内部产生的日志
pipe(filename),fifo(filename) : 从指定的管道或者FIFO设备,读取日志信息

应用示例:

source net {udp();};
从UDP 514端口接收日志

过滤参数定义:

filter <filtername> { 过滤参数; };
#过滤参数可用:
facility(,): 根据facility(设备)选择日志消息,使用逗号分割多个facility
level(,): 根据level(优先级)选择日志消息,使用逗号分割多个level,或使用“..”表示一个范围
program(regexp): 日志消息的程序名是否匹配一个正则表达式
host(regexp): 日志消息的主机名是否和一个正则表达式匹配
match(regexp): 对日志消息的内容进行正则匹配
filter(): 调用另一条过滤规则并判断它的值
#过滤参数操作式:
and 和
or 或者
not 不包含
#facility(设备)可用消息类型
auth            用户认证
authpriv        有特权的用户认证
cron            cron守护进程
daemon          各种系统守护进程
ftp             ftp守护进程
kern            内核消息
local0-local7   保留用于本地用法
lpr             打印机  
mail            邮件    
news            新闻    
syslog          内部syslog
uucp            uucp系统
user            各种用户程序来的消息
#Level等级:
emerg   最严重的错误 (如system panic)
alert   需要立即处理的严重错误
crit    critical warming
err     普通错误
warn    警告信息
notice  比较不严重的信息
info    普通信息
debug   除错信息

应用举例:

filter f_local { facility(authpriv) or level(notice); };
#定义过滤规则f_local包含authpriv所有消息和其它设备notice级别以上消息

目标操作定义destination:

destination <name> { 目标操作; 目标操作;  ...  ;};
#目标操作常用参数:
file (filename) :写入指定文件
unix-dgram  (filename) :写入SOCK_DGRAM模式的unix套接字
unix-stream (filename) :写入SOCK_STREAM模式的unix套接字
tcp  (ip),(port) :以TCP协议发送指定主机端口
udp (ip),(port) :以UDP协议发送指定主机端口
usertty(username) :把日志消息发送到已经登陆的指定用户终端
pipe(filename),fifo(filename) :把日志消息发送到指定的管道或者FIFO设备
program(parm) :启动指定的程序,并把日志消息发送到该进程的标准输入

应用示例:

destination d_kern { file("/var/log/kern"); }
定义目标规则d_kern写入日志到文件/var/log/kern
destination d_udp  { udp("127.0.0.1" port(514)); };
定义目标规则d_udp发送日志到相应IP端口

Cacti插件syslog接收windows日志中文乱码解决

发布时间:June 21, 2012 // 分类:Cacti // No Comments

Cacti下用syslog插件接收管理Windows日志出现中文乱码的状况:
cacti下syslog中文日志乱码.png
编辑syslog.php添加:

header('Content-type: text/html; charset=utf-8');

刷新页面后正常。
cacti下syslog中文乱码解决.png

Windows下用EvtSys发送日志到syslog-ng服务器

发布时间:June 21, 2012 // 分类:Cacti,日记分析 // 2 Comments

之前有介绍cacti配合syslog-ng构建中央日志服务器,对于Linux服务器可以直接将日志通过网络发送到syslog-ng服务端,Windows下要利用EvtSys这个小工具转换日记为syslog格式并发送到syslog-ng服务器。
EvtSys官方下载地址:http://code.google.com/p/eventlog-to-syslog/downloads/list,支持windows2003和windows2008系统。
将下载的文件解压复制到C:\WINDOWS\SYSTEM32目录下,打开cmd窗口执行:

#https://www.haiyun.me
evtsys -i -h server
-i ;安装为系统服务
-h ;syslog-ng服务器地址
-p ;syslog-ng服务器端口,默认514

启动EvtSys:

net start evtsys

然后在syslog管理界面就可查看windows server日志信息了。

分类
最新文章
最近回复
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...
  • 孤狼: 擦。。。。apcupsd会失联 nut在冲到到100的时候会ONBATT进入关机状态,我想想办...
  • 海运: 网络,找到相应的url编辑重发请求,firefox有此功能,其它未知。
  • knetxp: 用浏览器F12网络拦截或监听后编辑重发请求,修改url中的set为set_super,将POS...
  • Albert: 啊啊啊啊啊啊啊啊啊 我太激动了,终于好了英文区搜索了半天,翻遍了 pve 论坛没找到好方法,博...
归档