当前位置:首页 > 域名

介绍一套传统的日志监控服务器部署方案

一、介绍监控方案介绍

(1) 方式 1:

Rsyslog->Rsyslog-server+mysql+Loganalyzer  

(2) 重点:(配置文件)

转发日志的套传统主机——配置rsyslog.conf日志转发规则、存储规则、日志系统日志与非系统日志的服务区别定义。接收日志服务器——配置rsyslog.conf日志接受模块、器部存储规则、署方mysql存储模块、介绍监控系统日志与非系统日志的套传统区别定义。日志文件命名规则与日志内容自定义模板的日志区别和使用方法。

(3) 功能 :

将多个 linux主机的服务日志收集在 一个日志服务器上保存在/data/log/并按IP分目录保存;同步存储在MySQL数据库中;展示在web上;

二、基础架构C/S

三、器部安装脚本.sh

1.适用环境:(经过测试,署方过程没有异常),介绍监控其他环境下有异常请更改脚本再运行。套传统

复制Linux version 3.10.0-693.el7.x86_64 CentOS Linux release 7.4.1708 (Core)1.2.

2.脚本说明:

脚本会安装数据库,日志如果你的系统已经装有数据库并有数据,请先修改脚本中数据库的安装语句再执行,避免数据丢失。

使用说明:

(1) 客户端:

执行客户端rsyslog-agent安装脚本请在后面跟上你的rsyslog-server的ip,如:

复制sh rsyslog_install_agent.sh 192.168.32.1281.

(2) 服务端-单机部署

如果你想要把rsyslog-server和web服务装在同一个主机上请按顺序执行脚本:

复制sh rsyslog_mysql_install_server.sh sh loganalyzer_web_install_server.sh1.2.

(3) 服务的-双机部署

如果你想要把rsyslog-server和web服务分开装在不同的主机上,请在rsyslog-server上执行脚本:

复制sh rsyslog_mysql_install_server.sh1.

在web服务器上执行脚本:

复制sh loganalyzer_web_install_server.sh1.

rsyslog_mysql_install_server.sh:

复制#!/bin/bash clear echo >>>>>>>>安装Rsyslog+mariadb-server=Rsyslog-server ------------------------------------------------ !!!如果系统已经安装过mysql数据库,香港云服务器请将脚本中的安装数据库的部分注释再继续 环境: 适用版本:测试正常. Linux version 3.10.0-693.el7.x86_64 CentOS Linux release 7.4.1708 (Core) --------------------------------------------------- 其他系统环境下没有测试,如果报错,请更改脚本再继续安装 sleep 10 echo 第一步:基本环境配置 yum install wget -y wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo && yum makecache fast && yum install centos-release-scl -y sed -i 1c\#!/usr/bin/python2 -Es /usr/sbin/firewalld && sed -i 1c\#!/usr/bin/python2 -Es /usr/bin/firewall-cmd systemctl restart firewalld && systemctl enable firewalld sed -i s/enforcing/disabled/g /etc/selinux/config setenforce 0 clear echo 第二步:安装rsyslog并配置转发到mysql,作为日志服务器rsyslog-server yum remove rsyslog -y && rm -rf /etc/rsyslog* yum install rsyslog rsyslog-mysql mariadb-server -y rpm -ql rsyslog-mysql sed -i s/Syslog/rsyslog/g /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql systemctl start rsyslog && systemctl enable rsyslog systemctl start mariadb && systemctl enable mariadb pwd_sql=$(rpm -ql rsyslog-mysql | grep create) mysql <$pwd_sql mysql -e "grant all privileges on rsyslog.* to rsyslog@% identified by rsyslog;grant all privileges on rsyslog.* to rsyslog@localhost identified by rsyslog;flush privileges;" #sed -i $ a\$ModLoad imtcp\n$InputTCPServerRun 514 /etc/rsyslog.conf sed -i $ a\$ModLoad imudp\n$UDPServerRun 514\n$ModLoad imtcp\n$InputTCPServerRun 514\n$ModLoad ommysql #:ommysql:数据库IP,数据库名,用户名,密码\n*.info;mail.none;authpriv.none;cron.none :ommysql:127.0.0.1,rsyslog,rsyslog,rsyslog /etc/rsyslog.conf sed -i $ a\*.info;mail.none;authpriv.none;cron.none @127.0.0.1 /etc/rsyslog.conf systemctl restart rsyslog firewall-cmd --add-port=514/tcp --zone=public --permanent firewall-cmd --reload && systemctl restart firewalld clear netstat -nltp |grep -E 514|3306 echo 安装结束! 请检查3306和514端口是否在侦听。 注意: 执行此脚本以后firewalld默认enable,如果需要设置开机不自启,请自己disable 接收日志的端口为514 mysql信息:port:3306,数据库、用户名密码均为rsyslog1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.

loganalyzer_web_install_server.sh:

复制 #!/bin/bash clear echo >>>>>>>>安装loganalyzer ------------------------------------------------ @如果系统安装过httpd,请不要使用这个脚本,或者更改以后再使用 适用版本:测试正常. Linux version 3.10.0-693.el7.x86_64 CentOS Linux release 7.4.1708 (Core) --------------------------------------------------- 其他系统环境下没有测试,如果报错,请更改脚本再继续安装 echo 第一步:基本环境配置 yum install wget -y wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo && yum makecache fast && yum install centos-release-scl -y sed -i 1c\#!/usr/bin/python2 -Es /usr/sbin/firewalld && sed -i 1c\#!/usr/bin/python2 -Es /usr/bin/firewall-cmd systemctl stop firewalld sed -i s/enforcing/disabled/g /etc/selinux/config setenforce 0 echo 第二步:开始安装组件 yum install php php-mysql httpd -y systemctl start httpd && systemctl enable httpd echo 第三步:开始下载配置loganalyzer wget https://download.adiscon.com/loganalyzer/loganalyzer-4.1.12.tar.gz --no-check-certificate mkdir -p /var/www/html/loganalyzer && tar -zxvf loganalyzer-4.1.12.tar.gz && cp -rf loganalyzer-4.1.12/* /var/www/html/loganalyzer chmod a+x /var/www/html/loganalyzer/contrib/* sh /var/www/html/loganalyzer/contrib/secure.sh sh /var/www/html/loganalyzer/contrib/configure.sh cp config.php /var/www/html/loganalyzer/src chmod 666 /var/www/html/loganalyzer/src/config.php sed -i s/80/8051/g /etc/httpd/conf/httpd.conf systemctl restart httpd firewalld firewall-cmd --add-port=8051/tcp --zone=public --permanent firewall-cmd --reload && systemctl restart firewalld systemctl enable firewalld echo 第四步:请在浏览器上访问如下url, 如果可以打开则说明正常http://系统ip:8051/loganalyzer/src/install.php能访问就行,不需要开始在web上操作, rsyslog+mysql服务服务装好以后再在web上操作数据源 注意: 执行此脚本以后firewalld默认enable,如果需要设置开机不自启,请自己disable1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.

rsyslog_install_agent.sh:

复制#!/bin/bash clear echo >>>>>>>>安装Rsyslog将日志转发到rsyslog-server ------------------------------------------------ @使用脚本请请先修改18行的ip地址为rsyslog-server的ip 适用版本:测试正常. Linux version 3.10.0-693.el7.x86_64 CentOS Linux release 7.4.1708 (Core) --------------------------------------------------- 其他系统环境下没有测试,如果报错,请更改脚本再继续安装 sleep 10 yum remove rsyslog -y && rm -rf /etc/rsyslog* wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo && yum makecache fast && yum install centos-release-scl -y sed -i 1c\#!/usr/bin/python2 -Es /usr/sbin/firewalld && sed -i 1c\#!/usr/bin/python2 -Es /usr/bin/firewall-cmd sytemctl restart firewalld && sytemctl enable firewalld yum install rsyslog -y sed -i $ a\*.info;mail.none;authpriv.none;cron.none @$1 /etc/rsyslog.conf systemctl restart rsyslog firewall-cmd --add-port=514/tcp --zone=public --permanent firewall-cmd --reload echo rsyslog配置完成!! 请去Rsyslog-server的数据库中查看是否有这台主机的日志。 注意: 执行此脚本以后firewalld默认enable,源码库如果需要设置开机不自启,请自己disable 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27. 四、访问web进行简单配置

1.http://服务器ip:8051/loganalyzer/src/install.php

2.进行数据源的配置,使用mysql_nactive。

注意按着这个脚本安装的数据库、账号、密码均为rsyslog,连接127.0.0.1:3306

3.鼠标点点点的操作大家都会,这里不再继续描述。

到这里这个平台已经算基本完成,后期就是优化的操作,优化的是客户端和服务端的配置文件/etc/rsyslog.conf,更改配置以后一定要重启rsyslog配置才会生效。

五、整体效果

日志服务器本地存储:

web展示:

我这里提供一套配置文件模板,参考。

服务端配置文件:

复制 #配置运行目录 $ModLoad imuxsock # provides support for local system logging (e.g. via logger command) $ModLoad imjournal # provides access to the systemd journal $WorkDirectory /var/lib/rsyslog #接收本机的日志 #配置接收其他主机的日志UDP+TCP $ModLoad imudp $UDPServerRun 514 $ModLoad imtcp $InputTCPServerRun 514 $AllowedSender tcp, 192.168.32.0/24 #定义本地存储路径 $template format1,"/data/log/%fromhost-ip%/warning(up)-%$YEAR%-%$MONTH%-%$DAY%.log" $template format2,"/data/log/%fromhost-ip%/web-access-%$YEAR%-%$MONTH%-%$DAY%.log" $template format3,"/data/log/%fromhost-ip%/web-error-%$YEAR%-%$MONTH%-%$DAY%.log" #非系统日志--应用日志 module(load="imfile" PollingInterval="10") input( type="imfile" File="/var/log/httpd/access_log" Tag="http_accessr" Severity="info" Facility="local1") input(type="imfile" File="/var/log/httpd/error_log" Tag="http_error" Severity="error" Facility="local2") #发送服务器本身的日志warning以上级别的日志 *.warning @@192.168.32.128:514 local2.* @@192.168.32.128:514 local1.* @@192.168.32.128:514 #设置本地存储 :fromhost-ip, !isequal, "127.0.0.1" ?format1 *.warning ?format1 local1.* ?format2 local2.* ?format3 #将日志存储在mysql中 $ModLoad ommysql #:ommysql:数据库IP,数据库名,用户名,密码 *.warning;local1.*;local2.* :ommysql:127.0.0.1,rsyslog,rsyslog,rsyslog1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.

客户端配置文件:

复制 #配置运行目录 $ModLoad imuxsock # provides support for local system logging (e.g. via logger command) $ModLoad imjournal # provides access to the systemd journal $WorkDirectory /var/lib/rsyslog #非系统日志--应用日志 module(load="imfile" PollingInterval="10") #输入nginx_access_log input( type="imfile" File="/var/log/httpd/access_log" Tag="nginx_accessr" Severity="info" Facility="local1") #输入nginx_error_log input(type="imfile" File="/var/log/httpd/error_log" Tag="nginx_error" Severity="error" Facility="local2") #发送规则:发送warning以上等级的系统信息及nginx的所有日志 *.warning @@192.168.32.128:514 *.warning @192.168.32.128:514 local1.* @@192.168.32.128:514 local2.* @@192.168.32.128:514 #定义本地存储路径 *.info;mail.none;authpriv.none;cron.none /var/log/messages authpriv.* /var/log/secure mail.* -/var/log/maillog cron.* /var/log/cron *.emerg :omusrmsg:* uucp,news.crit /var/log/spooler local7.* /var/log/boot.log1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.云服务器提供商

分享到:

滇ICP备2023006006号-16