Prefacio
Con el aumento en el número de visitas al sitio web, un solo archivo de registro de Apache se volverá cada vez más grande de forma predeterminada.El archivo de registro ocupa mucho espacio en el disco y es inconveniente para ver la información relacionada. Si no divide el registro, solo puede eliminar registros grandes (como los registros de Apache) a la vez. Esto también perderá mucha información valiosa para el sitio web, ya que estos registros se pueden utilizar para análisis de acceso, monitoreo de seguridad de red y redes Monitoreo del estado operativo, etc., por lo que administrar estos registros masivos es de gran importancia para el sitio web.
Uno: separación del día de Apache
La división de registros es de gran importancia para los sitios web. Las siguientes dos herramientas dividen automáticamente los registros de Apache de acuerdo con la fecha del día: la propia herramienta de división de rotatelogs de Apache y la herramienta de terceros cronolog que divide los registros
- Los archivos de registro ocuparán mucho espacio en disco bajo la acumulación de tiempo
- Sería inconveniente ver información relacionada
1.1: dos herramientas para dividir archivos de registro
- Apache viene con la herramienta de división rotatelogs para lograrlo, solo necesitamos agregar un archivo de configuración para abrirlo
- Segmentación cronológica de herramientas de terceros
1.2: herramienta de segmentación de rotatelogs
- El archivo de registro del sitio web de configuración se reenvía a rotatelogs para su procesamiento dividido
- Formato de configuración ————
ErrorLog "| /usr/sbin/rotatelogs -l logs/error_%Y%m%d.log 86400"
CustomLog "| /usr/sbin/rotatelogs -l logs/access_%Y%m%d.log 86400" combined
En el entorno de producción real, la mayor parte de un servidor corresponde a N sitios de subdominios. Para facilitar la gestión del consentimiento, puede configurarlo en un modo de host virtual y utilizar el nombre del sitio para identificar el archivo de registro.
Por ejemplo: ErrorLog "| rotatelogs (ruta absoluta del comando) - l Ruta del archivo de registro / nombre del sitio web-error_% Y% m% d.log 86400 "
ErrorLog indica el nombre del registro de errores; Registro de acceso a registro personalizado; / user / sbin / rotalogs indica la ruta absoluta del comando; -l especifica la ruta del archivo de registro;% Y% m% d.log 86400 indica la división por día, la hora del día es 86400 segundos
Dos: práctica de registro separada de rotatelogs
1: Primero instale Apache
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# rpm -q httpd
httpd-2.4.6-93.el7.centos.x86_64
#找到rotatelogs的路径 复制一下一会要用
[root@localhost ~]# which rotatelogs
/usr/sbin/rotat:elogs
2: Edite el archivo de configuración httpd
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
3: reinicie el servicio para ver el puerto
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# netstat -ntap | grep 80
tcp 0 0 20.0.0.41:80 0.0.0.0:* LISTEN 86943/httpd
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN 18020/X
tcp6 0 0 :::6000 :::* LISTEN 18020/X
4: Ver archivos de registro
- Si encuentra el registro de errores y el registro de inicio de sesión, si no inicia el servicio, no habrá ningún archivo de registro. Preste atención aquí.
[root@localhost ~]# ls /var/log/httpd/
access_log error_log
5: Configurar la separación de rotatelogs
[root@localhost ~]# etc/httpd/conf/httpd.conf
6: reinicia el servicio
[root@localhost ~]# systemctl start httpd
#检查apache配置文件
[root@localhost ~]# httpd -t
Syntax OK
[root@localhost ~]# ls /var/log/httpd/
access_log error_log
7: Vaya al host y actualice la página web
8: Verifique el archivo de registro nuevamente y se ha generado un nuevo archivo de registro
[root@localhost ~]# ls /var/log/httpd/
access_log error_log www.kgc.com.access_20200805.log www.kgc.com.error_20200805.log
Dos: práctica de registro dividido de Cronolog
■ Compile el código fuente e instale la herramienta cronolog
■ Configure el archivo de registro del sitio web y transfiéralo al cronolog para el procesamiento de segmentación
■ Formato de configuración
ErrorLog "I cronolog命令的绝对路径 日志文件路径/网站名-error_ %Y%m%d.log"
CustomLog "I cronolog命令的绝对路径 日志文件路径/网站名_%Y %m%d.log" combined
2.1: Instalar Cronolog
[root@localhost ~]# cd /opt
[root@localhost opt]# rz -E
rz waiting to receive.
[root@localhost opt]# ls
cronolog-1.6.2-14.el7.x86_64.rpm rh
[root@localhost opt]# rpm -ivh cronolog-1.6.2-14.el7.x86_64.rpm
#复制软件路径
[root@localhost opt]# which cronolog
/usr/sbin/cronolog
2.2: Configurar la separación de registros
[root@localhost ~]# etc/httpd/conf/httpd.conf
2.3: Reinicie el servicio
[root@localhost opt]# systemctl restart httpd
#里面就一个错误日志跟登录日志
[root@localhost httpd]# ls
access_log error_log
2.4: Vaya al host y haga clic en actualizar
2.5: Verifique nuevamente que se haya generado el nuevo archivo de registro
[root@localhost httpd]# ls
access_log error_log www.kgc.com.access_20200805.log
##更该一下时间
[root@localhost httpd]# date
2020年 08月 05日 星期三 20:11:16 CST
[root@localhost httpd]# date -s 07/02/20
2020年 07月 02日 星期四 00:00:00 CST
#再次查看日志文件 生成7月2号的 日志可以看见任意一天的文件比较方便
[root@localhost httpd]# ls
access_log www.kgc.com.access_20200702.log www.kgc.com.error_20200702.log
error_log www.kgc.com.access_20200805.log
Tres: implementar el sistema de análisis de registros de AWStats
Introducción al sistema de análisis de registros de AWStats
- Un sistema de análisis de registros de código abierto desarrollado por Perl Language
- Se puede utilizar para analizar los registros de acceso de Apache, Samba, Vsftpd, IIS y otros servidores.
- Información combinada con crond y otros servicios de tareas programadas, el contenido del registro se puede analizar con regularidad
Pasos
3.1: Instale el servicio DNS y Apache
[root@localhost ~]# yum -y install bind httpd
..省略内容
3.2: Configurar DNS
-
/etc/named.conf ## Archivo de configuración principal
-
/etc/named.rfc1912.zones ## Archivo de configuración de zona
-
/var/named/named.localhost ## Archivo de configuración de datos regionales
-
Configurar el archivo de configuración principal
[root@localhost ~]# vim /etc/named.conf
11
12 options {
13 listen-on port 53 {
any; }; ##进来后把监听地址改为any
14 listen-on-v6 port 53 {
::1; };
15 directory "/var/named"; ##目录
16 dump-file "/var/named/data/cache_dump.db";
17 statistics-file "/var/named/data/named_stats.txt";
18 memstatistics-file "/var/named/data/named_mem_stats.txt";
19 recursing-file "/var/named/data/named.recursing";
20 secroots-file "/var/named/data/named.secroots";
21 allow-query {
any; }; ##把localhost改为any 任何都可以访问地址
- Configurar perfil de zona
zone "abc.com" IN {
type master;
file "abc.com.zone";
allow-update {
none; };
};
- Configurar datos de área
[root@tom03 ~]# cd /var/named/
[root@tom03 named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@tom03 named]# cp -p named.localhost abc.com.zone
[root@tom03 ~]# vim /var/named/abc.com.zone
3.3: Reinicie el servicio y cierre la función de seguridad
[root@localhost named]# setenforce 0
[root@localhost named]# iptables -F
[root@localhost named]# systemctl start named
3.4: Análisis por parte del cliente
nslookup resuelto con éxito
3.5: configurar httpd
[root@tom03 ~]# vim /etc/httpd/conf/httpd.conf
#打开vipv4监听端口
Listen 20.0.0.43:80
#修改指定域名、S、
ServerName www.abc.com:80
[root@tom03 ~]# cd /var/www/html/
[root@tom03 html]# ls
[root@tom03 html]# vim index.html
#编写主页信息、、
<h1>hello</h1>
#重启服务
[root@tom03 ~]# systemctl restart httpd
3.6: Prueba de acceso
Cuatro: Implementar AWStats
[root@tom03 html]# rz -E
rz waiting to receive.
[root@tom03 html]# ls
awstats-7.6.tar.gz index.html
[root@tom03 html]# mv awstats-7.6.tar.gz /opt
[root@tom03 html]# cd /opt
[root@tom03 opt]# ls
awstats-7.6.tar.gz rh
#解压缩
[root@tom03 opt]# tar zxvf awstats-7.6.tar.gz
[root@tom03 opt]# ls
awstats-7.6 awstats-7.6.tar.gz rh
[root@tom03 opt]# mv awstats-7.6 /usr/local/awststs
[root@tom03 opt]# cd /usr/local/
[root@tom03 local]# ls
awststs etc include lib64 sbin src
bin games lib libexec share
[root@tom03 local]# cd awststs/
[root@tom03 awststs]# ls
docs README.md tools wwwroot
[root@tom03 awststs]# cd tools/
[root@tom03 tools]# ls
awstats_buildstaticpages.pl logresolvemerge.pl
awstats_configure.pl maillogconvert.pl
awstats_exportlib.pl nginx
awstats_updateall.pl urlaliasbuilder.pl
dolibarr webmin
geoip_generator.pl xslt
httpd_conf
#pl结尾的是脚本文件
[root@tom03 tools]# ./awstats_configure.pl
Sigue presionando la tecla Enter,
[root@tom03 tools]# vim /etc/httpd/conf/httpd.conf
- Los siguientes son los datos escritos por awstats
- Modificarlo
<Directory "/usr/local/awststs/wwwroot">
Options None
AllowOverride None
# Order allow,deny #添加注释
# Allow from all #添加注释
Require all granted #允许所有人可以访问
</Directory>
- Modificar el archivo de configuración de estadísticas del sitio
[root@tom03 tools]# cd /etc/awstats/
[root@tom03 awstats]# ls
awstats.www.abc.com.conf #生成的新文件
[root@tom03 awstats]# vim awstats.www.abc.com.conf
- directorio de almacenamiento de datos dirdata, porque este directorio no existe, así que cree este directorio
[root@tom03 lib]# mkdir awstats
#重启服务
[root@tom03 lib]# systemctl restart httpd
- Visita siguiente
Modifique el localhost en http: //localhost/awstats/awstats.pl? Config = www.kgc.com al nombre de dominio
- Actualizar las estadísticas de los datos de visitas a la página web
[root@tom03 lib]# cd /usr/local/awststs/
[root@tom03 awststs]# ls
docs README.md tools wwwroot
[root@tom03 awststs]# cd tools/
[root@tom03 tools]# ls
awstats_buildstaticpages.pl logresolvemerge.pl
awstats_configure.pl maillogconvert.pl
awstats_exportlib.pl nginx
awstats_updateall.pl urlaliasbuilder.pl
dolibarr webmin
geoip_generator.pl xslt
httpd_conf
#awstats_configure.pl 配置脚本 awstats_updateall.pl #更新数据
[root@localhost tools]# ./awstats_updateall.pl now
...省略内容
- Visite el sitio web nuevamente, las estadísticas son exitosas
- Configurar tareas periódicas
[root@localhost tools]# crontab -e
'//添加一下内容'
*/4 * * * * /usr/local/awstats/tools/awstats_updateall.pl now
[root@localhost tools]# systemctl start crond
You have new mail in /var/spool/mail/root
[root@localhost tools]# cd /var/www/html
#配置自动跳转
[root@localhost html]# vim xx.html
<html>
<head>
<meta http-equiv=refresh content="0;url=http://www.abc.com/awstats/awstats.pl?config=www.abc.com">
</head>
<body></body>
</html>
- Reiniciar servicio
[root@localhost html]# systemctl restart httpd