參考來自:
the_script :https://yq.aliyun.com/articles/675198
名山、深處:https://www.cnblogs.com/skychenjiajun/p/8244099.html
cmzsteven:https://blog.csdn.net/cmzsteven/article/details/50413837
Linux公社:https://www.linuxidc.com/Linux/2017-10/147693.htm
qq_33157780: https://blog.csdn.net/qq_33157780/article/details/50672915
日志管理服務器可以解決以下問題:
1、不再需要逐台服務器去查詢系統日志文件
2、將日常的系統信息存儲在mysql數據中,方便進行查詢、統計、審計過濾等操作
3、通過其他軟件可以實現擴平台日志收集,如使用evtsys采集window日志發送到linux日志服務器上
4、在linux下rsyslog配置比較簡單,維護較為容易。
5、rsyslog+loganalyzer可以實現前端圖形化查詢等操作.
所搭建的服務器所用到的鏡像文件及軟件:
CentOS鏡像文件下載地址:http://mirror.nsc.liu.se/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso
一、准備工作:
1.配置IP,涉及到兩個配置文件(/etc/sysconfig/network-scripts/ifcfg-ens33和/etc/resolv.conf),使主機可以上網;
2.安裝必要工具(使用vim、net-tools、wget等工具)
3.關閉selinux
setenforce 0
vim /etc/selinux/config
將配置文件中的SELINUX=enforcing 修改為 SELINUX=disabled
二、rsyslog的安裝與配置
使用yum安裝相關程序包:
1、安裝LAMP:
yum install mysql-server mysql-devel httpd php-mysql php php-gd php-xml -y
2、安裝rsyslog及驅動
yum install libcurl-devel net-snmp-devel rsyslog rsyslog-mysql -y
3、mysql-server
(1)網上下載mysql57-community-release-el7-11.noarch.rpm
並使用rpm安裝:rpm -ivh mysql57-community-release-el7-11.noarch.rpm
(2)使用wget和yum進行下載和安裝;
①使用wget下載
[root@localhost ~]# wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm --2018-01-08 16:57:46-- https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 正在解析主機 dev.mysql.com (dev.mysql.com)... 137.254.60.11 正在連接 dev.mysql.com (dev.mysql.com)|137.254.60.11|:443... 已連接。 已發出 HTTP 請求,正在等待回應... 302 Found 位置:https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm [跟隨至新的 URL] --2018-01-08 16:57:48-- https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm 正在解析主機 repo.mysql.com (repo.mysql.com)... 23.1.165.122 正在連接 repo.mysql.com (repo.mysql.com)|23.1.165.122|:443... 已連接。 已發出 HTTP 請求,正在等待回應... 200 OK 長度:25680 (25K) [application/x-redhat-package-manager] 正在保存至: “mysql57-community-release-el7-11.noarch.rpm” 100%[=============================================================================================
=================================================================================================
====>] 25,680 --.-K/s 用時 0.1s 2018-01-08 16:57:48 (232 KB/s) - 已保存 “mysql57-community-release-el7-11.noarch.rpm” [25680/25680]) [root@localhost ~]#
②使用yum安裝;
yum localinstall -y mysql57-community-release-el7-11.noarch.rpm
③查看Mysql源是否安裝成功
[root@localhost ~]# yum repolist enabled | grep "mysql.*-community.*" mysql-connectors-community/x86_64 MySQL Connectors Community 42 mysql-tools-community/x86_64 MySQL Tools Community 55 mysql57-community/x86_64 MySQL 5.7 Community Server 227 [root@localhost ~]#
④安裝Mysql服務
yum install -y mysql-community-server
⑤查看Mysql服務是否安裝成功
[root@localhost ~]# systemctl status mysqld mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: inactive (dead) Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html [root@localhost ~]#systemctl start mysqld //啟動mysql
三、啟動mysql服務:
1、初次啟動時,會在/var/log/mysqld.log隨機生成root密碼,使用grep 'temporary password' '/var/log/mysqld.log'查看:
2、使用剛才找到的密碼登錄並修改root密碼:
使用rpm -ql rsyslog-mysql 查詢並找到該sql文件
[root@tiaobanji ~]# rpm -ql rsyslog-mysql /usr/lib64/rsyslog/ommysql.so /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
使用該文件(mysql-createDB.sql)創建數據庫,創建的數據庫名為:Syslog
mysql -usyslog -p </usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
假設將root密碼設為Ww,12345678:
set password for root@'localhost'=password('Ww,12345678');
若密碼復雜度較低,會提示錯誤信息:
有的帖子說是原因為mysql默認參數validate_password_policy=medium,將這個值設為0;修改就能使用較為簡單的密碼。
set global validate_password_policy=0(我在centos 7.6測試並不好用)
3、mysql中創建數據庫Syslog的使用用戶syslog並授權:
grant all on Syslog.* to 'syslog'@'127.0.0.1(本機IP)' identified by '111111(密碼)';
flush privileges;
4、修改rsyslog配置文件:
vim /etc/sysconfig/rsyslog
添加兩行:
SYSLOGD_OPTIONS="-c 2 -r -x -m 180"
KLOGD_OPTIONS="-x"
5、編輯rsyslog主配置文件/etc/rsyslog.conf:
在#### MODULES ####下進行以下操作:
取消ModLoadimudp、UDPServerRun 514 這2行的注釋表示通過UPD協議的514端口接收日志文件。
添加$ModLoad ommysql 一行 #######配置服務端支持rsyslog-mysql模塊
添加. :ommysql:192.168.4.200,Syslog,rsyslog,123456789 ####192.168.4.200表示本地主機,Syslog是數據庫名,syslog是數據庫用戶,
重啟rsyslog:
systemctl restart rsyslog
四、loganalyzer的配置
1、在apache的默認documentRoot目錄下(/var/www/html/)創建loganalyzer目錄:
mkdir -p /var/www/html/loganalyzer
創建loganalyzer日志目錄:
mkdir -p /var/log/httpd/loganalyzer
2、官網上下載Loganalyzer解壓到/usr/loca/src下:
wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.6.tar.gz
cd /usr/local/src
tar -zxvf loganalyzer-4.1.6.tar.gz
在解壓后的loganalyzer-4.1.6目錄內復制src/與contrib/下的所有文件到/var/www/html/loganalyzer目錄下:
cd loganalyzer-4.1.6
cp -r src/* /var/www/html/loganalyzer
cp -r contrib/* /var/www/html/loganalyzer
3、在/var/www/html/loganalyzer下創建config.php並設置權限:
touch config.php
chmod 666 config.php
4.在/etc/httpd/conf/httpd.conf文件為找到並修改配置為:
Listen 8080
DocumentRoot "/var/www/html/loganalyzer"
ErrorLog /var/log/httpd/loganalyzer/error.log
CustomLog /var/log/httpd/loganalyzer/access_log combined
重啟httpd: systemctl restart httpd
5、瀏覽器上輸入日志服務器ip+端口號:
點擊next 到step3:(若在step2顯示./config.php文件不存在或是不可寫,可以使用contrib目錄下的configure.sh 腳本生成,或新建config.php文件並給予寫權限。)
配置后數據庫用戶及密碼,點擊next。
step6:創建loganalyzer登錄用戶:
step7:
點擊next並登錄即可完成初始化配置:
6、可以在網上搜索下載loganalyzer3.6.5 中文語言包並將解壓后的3個文件放在/var/www/html/loganalyzer/lang下並重啟rsyslog即可使用loganalyzer中文界面:
若出現如下界面:Could not find the configured table, maybe misspelled or the tablenames are case sensitive
需要修改config.php中的$CFG['Sources']['Source1']['DBTableName'] = 'SystemEvents'; 大小寫不一致
7.修改客戶端服務器/etc/rsyslog.conf文件實現將日志傳輸至構建好的日志服務器:
在#### RULES ####中添加配置:
@表示使用upd協議傳輸文件,划線部分為搭建的集中日志服務器ip.
也可以使用. @ip 表示所有日志文件都傳輸至日志服務器
刷新loganalyzer頁面就可看到客戶端服務器的日志信息也被記錄到數據庫中,構建完成.
五、安裝中文語音包
LogAnalyzer默認為英文,個人也是推薦使用英文。這里也提供中文語言包。
完整PDF文檔可以到Linux公社資源站下載:
免費下載地址在 http://linux.linuxidc.com/
用戶名與密碼都是www.linuxidc.com
具體下載目錄在 /2017年資料/10月/16日/CentOS7.3下部署Rsyslog+LogAnalyzer+MySQL中央日志服務器/
下載方法見 http://www.linuxidc.com/Linux/2013-07/87684.htm
解壓后將整個目錄方至/var/www/html/loganalyzer/lang目錄下。然后再次訪問頁面在右上角選擇中文即可。
本文永久更新鏈接地址:http://www.linuxidc.com/Linux/2017-10/147693.htm
六、若需要重新安裝(拷貝虛擬機文件移植到其他地方使用)
解決辦法:1)可直接清空config.php文件
[root@rsyslog loganalyzer]# > config.php
2)清空數據中導入的logcon_*表
如果刪表不方便的話,可以刪掉之前導入的Syslog數據庫,然后重新導入Syslog數據庫,重新授權;
3)更改/etc/httpd/conf/httpd.conf配置文件
更改Listen IP地址:監聽端口
4)更改/etc/rsyslog.conf配置文件
更改. :ommysql:192.168.4.200,Syslog,rsyslog,123456789中的IP地址為已移植到的主機地址;
5)更改IP配置文件/etc/sysconfig/network-scripts/ifcfg-ens33網段需要與物理網卡網段一致;