隨著機房內的服務器和網絡設備增加,日志管理和查詢就成了讓系統管理員頭疼的事。
系統管理員遇到的常見問題如下:
1、日常維護過程中不可能登錄到每一臺服務器和設備上去查看日志;
2、網絡設備上的存儲空間有限,不可能存儲日期太長的日志,而系統出現問題又有可能是很久以前發生的某些操作造成的;
3、在某些非法入侵的情況下,入侵者一般都會清除本地日志,清除入侵痕跡;
4、zabbix等監控系統無法代替日志管理,無法監控如系統登錄、計劃任務執行等項目。
基于上述原因,在當前的網絡環境中搭建一臺用于日志集中管理的Rsyslog日志服務器就顯得十分有必要了。
Rsyslog服務的優點如下:
1、Rsyslog服務器可以大多數的網絡設備支持,在網絡設備的系統設備選項中大多都有遠程日志服務的配置選項。只需要填寫上IP地址和端口(大多數設備已經默認是514了),然后確定就可以了;
2、Linux服務器只需要在本地的Rsyslog服務配置中加入簡單的一行就可以將日志發送到日志服務器,布署和配置起來十分簡單;
3、通過軟件(如evtsys)也可以支持Windows服務器,布署和配置也不是很難,但是有些軟件是要收費的;
4、搭配前端的loganalyzer等軟件,可以輕松實現圖形化管理和查詢日志。
二、系統環境及軟件版本:
Rsyslog_server: CentOS7.2
Rsyslog_server IP:192.168.253.160
Rsyslog_client: CentOS7.2 + Windows7
所用軟件:
Rsyslog Version: rsyslog-7.4.7-12.el7.x86_64
LogAnalyzer Version: loganalyzer-3.6.5.tar.gz
MySQL Version:MySQL5.7
Httpd Version:httpd-2.4.6-40.el7.centos.x86_64
PHP Version:php-5.4.16-36.el7_1.x86_64
三、環境準備:
3.1 關閉防火墻:
# systemctl stop firewalld
3.2 將SELINUX設置為disabled
# setenforce 0 # sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
四、配置LAMP環境:
4.1 安裝MySQL,由于CentOS7默認會安裝Mariadb,因此使用MySQL官方提供快速的安裝方法,地址:http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/
# mkdir /home/rsyslog_server/tools -p #創建下載文件存放目錄
# cd /home/rsyslog_server/tools
# yum install wget -y
# wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
# rpm -Uvh mysql57-community-release-el7-8.noarch.rpm #安裝MySQL官方yum倉庫
# yum install mysql-community-server -y #安裝MySQL
# systemctl start mysqld.service
# systemctl status mysqld.service
# grep 'temporary password' /var/log/mysqld.log #查看初始密碼
# mysql -u root -p
>ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!'; #更改密碼,密碼需要符合以下規則:至少一個大寫字母,一個小寫字母,一個數字,一個特殊字符,而且密碼長度需要超過8位
4.2 安裝Apache及PHP
# yum install httpd -y # yum install php php-gd php-xml php-mysql -y
4.3 啟動服務并加入開機自啟動:
# systemctl start httpd.service # systemctl enable httpd.service # systemctl start mysqld.service # systemctl enable mysqld.service
4.4 測試PHP環境
# vi index.php <?php phpinfo() ?>
在瀏覽器中輸入http://192.168.253.160/index.php,若顯示以下內容,則配置成功。
五、檢查并安裝服務端軟件
5.1 檢查是否安裝了rsyslog軟件
# rpm -qa rsyslog #CentOS7默認會安裝rsyslog
5.2 安裝rsyslog 連接MySQL數據庫的模塊
# yum install rsyslog-mysql -y #rsyslog使用此模塊將數據傳入MySQL數據庫,必須安裝
六、配置服務器端
6.1 導入rsyslog-mysql 數據庫文件
# cd /usr/share/doc/rsyslog-7.4.7/ # mysql -uroot -p<mysql-createDB.sql # Enter password:
6.2 登錄數據庫查看:
mysql> show databases;
mysql> show tables;
導入數據庫操作創建了Syslog 庫并在該庫中創建了兩張空表SystemEvents 和SystemEventsProperties。
6.3 在MySQL下創建rsyslog用戶并授權:
mysql> grant all on Syslog.* to rsyslog@'localhost' identified by 'MyNewPass4!'; mysql> flush privileges; mysql> exit
6.4 配置服務端支持rsyslog-mysql 模塊,并開啟UDP服務端口獲取網內其他LINUX系統日志;
# vi /etc/rsyslog.conf #按如下進行更改 #### MODULES #### $Modload ommysql *.* :ommysql:localhost,Syslog,rsyslog,MyNewPass4! #localhost 表示本地主機,Syslog 為數據庫名,rsyslog 為數據庫的用戶,123456為該用戶密碼。 $ModLoad immark # immark是模塊名,支持日志標記 $ModLoad imudp #imupd是模塊名,支持udp協議 $UDPServerRun 514 #允許514端口接收使用UDP和TCP協議轉發過來的日志 #### RULES #### #在RULES下注釋掉*.info;mail.none;authpriv.none;cron.none改為 *.info;mail.none;authpriv.none;cron.none # :ommysql:localhost,Syslog,rsyslog,MyNewPass4! #*.info;mail.none;authpriv.none;cron.none /var/log/messages *.info;mail.none;authpriv.none;cron.none :ommysql:localhost,Syslog,rsyslog,MyNewPass4!
6.5 重啟rsyslog服務
# systemctl restart rsyslog.service
七、配置客戶端
7.1 檢查客戶端有沒有安裝rsyslog
# rpm -qa rsyslog
7.2 配置rsyslog客戶端發送本地日志到服務端
# vi /etc/rsyslog.conf *.* @192.168.253.160:514 #在文件結尾處增加此內容
7.3 重啟rsyslog服務
# systemctl restart rsyslog.service
7.4 編輯/etc/bashrc,將客戶端執行的所有命令寫入系統日志/var/log/messages中
# vi /etc/bashrc export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }' #在結尾處加上此內容
設置使其生效
# source /etc/bashrc
八、測試rsyslog_server可否正常接收rsyslog_client的日志
[root@syslog log]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 207 Server version: 5.7.17 MySQL Community Server (GPL) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | Syslog | | mysql | | performance_schema | +--------------------+ 4 rows in set (0.00 sec) mysql> use Syslog; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> show tables; +------------------------+ | Tables_in_Syslog | +------------------------+ | SystemEvents | | SystemEventsProperties | | logcon_charts | | logcon_config | | logcon_dbmappings | | logcon_fields | | logcon_groupmembers | | logcon_groups | | logcon_savedreports | | logcon_searches | | logcon_sources | | logcon_users | | logcon_views | +------------------------+ 13 rows in set (0.00 sec) mysql> select count(*) from SystemEvents; +----------+ | count(*) | +----------+ | 75 | #####這里不為零 說明mysql已經和rsyslog連接正常并接受到數據 +----------+ 1 row in set (0.00 sec) mysql>
九、安裝LogAnalyzer
# cd /home/rsyslog_server/tools/ # wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.5.tar.gz # tar zxf loganalyzer-3.6.5.tar.gz # cd loganalyzer-3.6.5 # mkdir -p /var/www/html/loganalyzer # cp -rf src/* /var/www/html/loganalyzer/
#cp -rf contrib/* /var/www/html/loganalyzer
十、在瀏覽器中進行安裝LogAnalyzer
10.1 打開瀏覽器,輸入http://192.168.253.160/loganalyzer
提示無配置文件,點擊here按鈕生成;
10.2 點擊next進行系統環境測試:
此處提示沒有config.php文件,使用contrib中的configure.sh腳本可生成;
# cd contrib/ # cp configure.sh /var/www/html/loganalyzer/ # cd /var/www/html/loganalyzer/ # sh configure.sh
此部分操作在/var/www/html/loganalyzer/目錄下創建config.php文件并配置權限為666,也可以使用mkdir及chmod命令執行。
10.3 繼續下一步,填寫數據庫信息
點擊next生成數據庫中的表;
10.4 設置管理員
10.5 創建第一個系統日志source
10.6 完成
Rsyslog + LogAnalyzer 日志服務器部署完畢,可根據需要進行設置。
最后的問題
帳號登出后 再登陸loganalyzer的web頁面老是提示帳號密碼錯誤
使用phpmyadmin在Syslog數據庫里更改密碼加密方式為MD5
點擊執行 再次登陸后正常
原創文章,作者:N22-昆山-Dexter_Wang,如若轉載,請注明出處:http://www.www58058.com/67498