1. 程式人生 > >Centos6.7搭建Rsyslog日誌伺服器

Centos6.7搭建Rsyslog日誌伺服器

前言:

隨著機房內的伺服器和網路裝置增加,日誌管理和查詢就成了讓系統管理員頭疼的事。

系統管理員遇到的常見問題如下:

1、日常維護過程中不可能登入到每一臺伺服器和裝置上去檢視日誌;
2、網路裝置上的儲存空間有限,不可能儲存日期太長的日誌,而系統出現問題又有可能是很久以前發生的某些操作造成的;
3、在某些非法入侵的情況下,入侵者一般都會清除本地日誌,清除入侵痕跡;
4、zabbix等監控系統無法代替日誌管理,無法監控如系統登入、計劃任務執行等專案。

基於上述原因,在當前的網路環境中搭建一臺用於日誌集中管理的Rsyslog日誌伺服器就顯得十分有必要了。

Rsyslog服務的優點如下:

1、Rsyslog伺服器可以大多數的網路裝置支援,在網路裝置的系統裝置選項中大多都有遠端日誌服務的配置選項。只需要填寫上IP地址和埠(大多數裝置已經預設是514了),然後確定就可以了;
2、Linux伺服器只需要在本地的Rsyslog服務配置中加入簡單的一行就可以將日誌傳送到日誌伺服器,佈署和配置起來十分簡單;
3、通過軟體(如evtsys)也可以支援Windows伺服器,佈署和配置也不是很難,但是有些軟體是要收費的;
4、搭配前端的loganalyzer等軟體,可以輕鬆實現圖形化管理和查詢日誌。

一、Rsyslog伺服器的安裝與配置

1、清空iptabels, 關閉selinux避免安裝過中報錯

清空iptables

iptables -F
service iptables save

關閉selinux

setenforce 0
vim /etc/selinux/conifg

將配置檔案中的
SELINUX=enforcing
修改為:
SELINUX=disabled

2、yum安裝LAMP環境及rsyslog、rsyslog mysql支援模組
yum install -y mysql-server mysql-devel libcurl-devel net-snmp-devel php php-gd php-xml php-mysql httpd rsyslog rsyslog-mysql
3、設定mysqld和httpd開機啟動,並啟動服務
chkconfig mysqld on
chkconfig httpd on

service mysqld start
service httpd start
4、修改mysql的root密碼
mysqladmin -u root password "你的密碼"

修改密碼後就可以使用如下命令登入mysql

mysql -u root -p
5、修改mysql的配置檔案,支援uft8

因為通過 yum安裝的mysql是不支援uft8的,在收集Windows伺服器的日誌和某些支援中文的裝置的情況下,收集到的日誌無法正確顯示,因此需要修改mysql配置檔案支援中文顯示。

配置檔案全文如下:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character_set_server=utf8
init_connect='SET NAMES utf8'
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysql.server]
default-character-set=utf8

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
default-character-set=utf8

[client]
default-character-set=utf8

重啟mysqld服務

service mysqld restart
6、匯入Rsyslog資料庫到mysql

Rsyslog的mysql資料庫預設檔案是:

/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

在rsyslog-mysql相應版本的資料夾中
你可以使用下列命令中查詢到:

echo  $(rpm -ql rsyslog-mysql | grep sql$)

使用如下命令將檔案匯入到mysql:

mysql -u root -p < $(rpm -ql rsyslog-mysql | grep sql$) 

隨後輸入你在第3步中設定的mysql密碼就可以匯入資料庫了,資料庫名為:Syslog

7、設定Rsyslog資料庫的字符集

上一步匯入的資料庫只有二個表: SystemEvents 和 SystemEventsProperties
Syslog資料庫及這二個表的預設字符集也不是uft8,需要進行修改

#修改Syslog資料庫的字符集
mysql> ALTER DATABASE `Syslog` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

#修改相應資料表的字符集
mysql> alter table SystemEvents  default character set =utf8;

mysql> alter table SystemEventsPorperties  default character set =utf8;

檢視修改後的效果:

#檢視資料庫的字符集設定
mysql> show variables like 'character%';

#檢視Systlog資料庫所有表的字符集設定
mysql> use Syslog;
mysql> show table status from Syslog\G;
8、建立Rsyslog資料庫使用者

登入mysql建立Rsyslog的資料庫使用者logger

#登入mysql
mysql -u root -p

#建立使用者 
mysql> grant all privileges on Syslog.* to 'rsyslog'@'localhost' identified by '147258'; 
mysql> flush privileges; 
mysql> exit;
9、修改rsyslog配置檔案
vim /etc/sysconfig/rsyslog

配置檔案如下:

# Options for rsyslogd
# Syslogd options are deprecated since rsyslog v3.
# If you want to use them, switch to compatibility mode 2 by "-c 2"
# See rsyslogd(8) for more details
SYSLOGD_OPTIONS="-c 2 -r -x -m 180"
KLOGD_OPTIONS="-x"

各引數詳解:
-c 指定執行相容模式。
-r 指定監聽埠。 預設514
-x 在接收客戶端訊息時,禁用DNS查詢。需和-r引數配合使用。
-m 標記時間戳。單位是分鐘,為0時,表示禁用該功能。

10、配置服務端支援rsyslog-mysql模組,並開啟UDP服務埠
vim /etc/rsyslog.conf

在#### MODULES ####下新增這兩行

$ModLoad ommysql.so
*.* :ommysql:localhost,Syslog,rsyslog,147258

注:localhost表示本地主機,Syslog為資料庫名,rsyslog為資料庫的使用者,147258為該使用者密碼

取消下面三行註釋

$ModLoad immark
$ModLoad imudp
$UDPServerRun 514

重啟rsyslog服務:

service rsyslog restart
11、新增服務端iptables防火牆規則

如果服務端有需要配置iptables規則的話,執行如下命令開放TCP和UDP的514埠

iptables -I INPUT -p tcp --dport 514 -j ACCEPT

iptables -I INPUT -p udp --dport 514 -j ACCEPT

service iptables save

二 、Loganalyzer安裝與配置

1、下載Loganalyzer

Loganalyzer官網下載安裝檔案到/usr/local/src目錄下
最新版本是4.1.3 穩定版本是:3.6.6

2、解壓檔案並複製原始碼到apache的loganalyzer目錄
cd /usr/local/src
tar -zxvf loganalyzer-4.1.3.tar.gz
cd loganalyzer-4.1.3
mkdir -p /var/www/html/loganalyzer/
cp -r src/* /var/www/html/loganalyzer/
cp -r contrib/* /var/www/html/loganalyzer/
3、生成空的配置檔案並設定許可權
cd /var/www/html/loganalyzer/
touch config.php
chmod 666 config.php
4、修改php環境

為配合LogAnalyzer對php環境的要求,請修改/etc/php.ini中的內容為:

memory_limit = 512M  
max_execution_time = 120
5、建立apache日誌目錄
# mkdir -p  /var/log/httpd/loganalyzer
6、配置apache

這部分,請根據apache實際情況操作。以預設系統為例,虛擬主機配置檔案都放在/etc/httpd/conf/httpd.conf

配置檔案修改如下:

Listen 80
ServerAdmin [email protected]
ServerName log_server:80
DocumentRoot "/var/www/html/loganalyzer"
<Directory />
    Options FollowSymLinks
    AllowOverride All
</Directory>
<Directory "/var/www/html/loganalyzer">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

ErrorLog /var/log/httpd/loganalyzer/error.log
LogLevel warn
CustomLog /var/log/httpd/loganalyzer/access_log combined
ServerSignature On

重啟httpd服務

service httpd restart
7、Loganalyzer初始化配置

在瀏覽器輸入網址,進入安裝嚮導
訪問http://serverip:80
一共8個步驟,這裡只將需要修改的步驟列出,其餘只需要”Next”即可

第3步:”Enable User Database”選擇“Yes”;

第4、5二個步驟是指定使用者資料庫資訊(資料庫指定為:Syslog)和建立使用者

第7步:”Source Type” 選擇 “MYSQL Native”並在下載配置資料庫資訊
這裡寫圖片描述

第8步Finish後,完成安裝就可登入並檢視日誌資訊了。

三 、Linux客戶端配置

Centos預設都會安裝rsyslog。

1、確認rsyslog服務是否啟動
chkconfig | grep rsyslog

如果沒有設定為開機啟動,執行如下命令:

chkconfig rsyslog on
service rsyslog start
2、配置Rsyslog客戶端傳送本地日誌到服務端
vim /etc/rsyslog.conf

在末行新增一行:

*.* @192.168.7.201

注:192.168.7.201 為日誌伺服器端IP地址

3、重啟Rsyslog服務
service rsyslog restart

這時在服務端重新整理就可以看到相關日誌資訊了。

四 、Windows客戶端配置

Loganalyzer官網推薦在Winodws上使用Winsyslog來實現日誌資料的收集和傳送,但是這個軟體是收費的。這裡用一個開源的軟體Evtsys,但這個軟體也有個問題無法在Server 2012以上的系統中使用,在Server 2008中是沒有問題的

Evtsy官網由於是佈署在google伺服器上的因此現在無法訪問,可以到網上去搜索下載。
下載後的檔案解壓將裡面的evtsys.exe檔案放到c:\windows\System32目錄下,然後執行cmd執行下面的命令:

evtsys -i -s 10 -h log-server-ip -p 514 
net start evtsys

只要看到最後的安裝成功即可。
以下附上命令的詳細引數

Version: 4.4 (32-bit) 
Usage: evtsys.exe -i|-u|-d [-h host] [-b host] [-f facility] [-p port] 
       [-s minutes] [-l level] [-n] 
  -i           Install service 
  -u           Uninstall service 
  -d           Debug: run as console program 
  -h host      Name of log host 
  -b host      Name of secondary log host (optional) 
  -f facility  Facility level of syslog message 
  -l level     Minimum level to send to syslog.\n", stderr); 
           0=All/Verbose, 1=Critical, 2=Error, 3=Warning, 4=Info 
  -n           Include only those events specified in the config file. 
  -p port      Port number of syslogd 
  -q bool      Query the Dhcp server to obtain the syslog/port to log to 
               (0/1 = disable/enable) 
  -s minutes   Optional interval between status messages. 0 = Disabled 

Default port: 514 
Default facility: daemon 
Default status interval: 0 
Host (-h) required if installing. 

這時在重新整理Loganalyzer就可以看到相關日誌了.

相關推薦

Centos6.7搭建Rsyslog日誌伺服器

前言: 隨著機房內的伺服器和網路裝置增加,日誌管理和查詢就成了讓系統管理員頭疼的事。 系統管理員遇到的常見問題如下: 1、日常維護過程中不可能登入到每一臺伺服器和裝置上去檢視日誌; 2、網路裝置上的儲存空間有限,不可能儲存日期太長的日誌,而系統

centos7 搭建rsyslog日誌伺服器,收集web伺服器日誌

網上很多rsyslog日誌蒐集伺服器的教程都很亂!自己來寫一篇。 資源有限,在一臺機器上做實驗。 centos7預設已經安裝: [root@QFQLDl155405 2018-07-31]# rpm -qa | grep rsys rsyslog-8.24.0-12.el7.

Linux使用Rsyslog搭建中心日誌伺服器(轉載)

Syslog是一個通過IP網路允許一臺機器傳送事件通知資訊給事件收集者(Syslog伺服器或者Syslog Daemon)的協議。換言之,就是一臺機器或者裝置能夠被配置,使之產生Syslog資訊並且傳送到一臺特定的Syslog伺服器/Daemon。 Syslog資訊建立在UDP之上,一般S

CentOS6-7rsyslog服務(一)

messages sys rect ftp ssl 方式 登入 分析 .info rsyslog特性:CentOS6和7 1,多線程 2,支持UDP, TCP, SSL, TLS, RELP ? MySQL, PGSQL, 3,Oracle實現日誌存儲 4,強大的過濾器,

【linux】linux:CentOS 7 搭建部署SVN伺服器

目錄 一、安裝subversion 二、建立版本庫 三、配置 四、SVN服務​ 五、 建立 svn 版本檔案 六、新增目錄檔案到版本庫 七、設定伺服器自動提交檔案 八、客戶端測試 一、安裝subversion (1) subve

Centos 7 搭建 Zimbra 郵件伺服器和foxmail配置

環境配置: 本機ip:192.168.1.41 設定主機名 hostnamectl set-hostname mail.jlkj.com 新增hosts echo "192.168.1.41 mail.jlkj.com" >> /etc/hos

CentOS6.7搭建Qt5.6.2環境

1.去官網下載,最新的Qt5,linux版本—— qt-opensource-linux-x64-5.6.2.run 網址:http://www.qt.io/download-open-source/ 2.安裝必要的庫: #yum install mesa-

centos6.7搭建lnmp及配置

nginx 1.8 mysql 5.6 php 5.4 安裝lnmp 這裡預設nginx是1.6 所以還要升級nginx1.8centos安裝配置nginx1.8 然後遇到一個問題 啟動nginx伺服器時 報錯 address alread

Centos 7 搭建 Zimbra 郵件伺服器

Zimbra協作套件(ZCS)是一個由Zimbra群件產品,在世界各地廣泛使用。使用者可以使用一個非常豐富的網路介面來共享資料夾、聯絡人、日程安排和其他的東西。目前協作套件的最新版本是Zimbra 8.6.0。它帶來了新的功能,改進的郵件伺服器,它提供了一個更好的網路客戶端體

將shell指令碼執行情況寫入Rsyslog日誌伺服器

在運維工作中,免不了編寫一些指令碼交由計劃任務(cron)去定時執行完成一些日常工作,實現運維工作自動化。比如在我的日常工作中備份資料是一項重要的工作,需要定時將資料備份到備份服器和一些其他的備份介質中。其中大部分的備份工作都是寫到腳本當中,並編輯/etc/cr

CentOS6.7搭建tomcat開發環境

簡介:本文主要介紹CentOS6.7(也適用於其他版本)環境下安裝tomcat,搭建java後臺開發環境。 安裝jdk 下載 可以使用wget直接在vps裡下載: wget -O jdk-8u91-linux-x64.rpm http:/

CentOS 7 搭建 gogs Git 伺服器

CentOS 7 搭建 gogs Git 伺服器 本地環境如下: Linux 系統環境為:CentOS Linux releas

centos6.7搭建git伺服器(2017最新版)

前提:網上有很多centos搭建git伺服器的教程,但很多都沒有說清楚,導致我在安裝的時候走了很多彎路,耗費了一天時間在那裡研究許可權管理一塊。鑑於此,準備重新發個最新版的centos搭建git伺服器。 技術交流QQ群:242722019 一.centos     os

Centos6.7下 samba伺服器搭建與配置(share共享模式)

Samba服務介紹       在早期的網路世界當中,檔案資料在不同主機之間的傳輸大多是使用 ftp 這個好用的伺服器軟體來進行傳送。不過使用 FTP 傳輸檔案卻有個小小的問題, 那就是你無法直接修

用vsftpd搭建ftp伺服器CentOS6.7

首先是yum -y install vsftpd 再則是cd /var/ftp ls -alchown ftp pub      #chown將指定檔案的擁有者改為使用者或組 ls -al 然後是開啟vsftpd的配置檔案 vim /etc/vsftpd/vsftpd.co

centos6.8搭建python2.7.13開發環境

python 2.7操作系統版本:CentOS release 6.8openssl版本:OpenSSL 1.0.1e-fipspython版本:python2.7.13 第一步.安裝python2.7.13.tgz [root@localhost home]wget https://www.python.

用系統為centos6的主機,搭建PXE服務器,實現批量安裝centos6,7系統

tex art ase pre 復制 tor log 文件名 vml 1. iptables -F setenforce 0 臨時關掉selinux,清掉防火墻 永久生效更改配置文件:vim /etc/sysconfig/selinux chkc

搭建ELK日誌分析平臺(下)—— 搭建kibana和logstash伺服器

轉:http://blog.51cto.com/zero01/2082794 筆記內容:搭建ELK日誌分析平臺——搭建kibana和logstash伺服器筆記日期:2018-03-03 27.6 安裝kibana 27.7 安裝logstash 27.8 配置logstas

ubuntu下搭建rsyslog 服務端(接受日誌)管理儲存遠端日誌

   1.   vim /etc/rsyslog.conf       去掉下面4行前面的#號註釋符.   (開啟tcp和udp接受) $ModLoad imudp $UDPServerRun 514 $ModLo

Centos6.5搭建sftp伺服器

Centos6.5搭建sftp伺服器 SFTP,即 SSH 檔案傳輸協議( SSH File Transfer Protocol ),或者說是安全檔案傳輸協議( Secure File Transfer Protocol )。SFTP 是一個獨立的 SSH 封裝協議包,通過安全連線以相似