將 Apache access,error log 透過 rsyslog 發至 Graylog

由於 httpd 預設沒有將 access/error log 丟到 syslog 做處理,要需手動新增
新增方式有兩種

  1. 直接編輯 httpd.conf 將 log file 導向到 syslog
  2. 編輯 rsyslog.conf 叫 rsyslog 去撈本來存放在 /var/log/httpd/(access|error).log

第一種方式會需要做 systemctl reload httpd.service ,對於線上運作中的機器有一定風險 一個弄不好鍋就是你戴好 ^^
雖然有文章指出 reload 不會中斷現有的 connection 不過還是少碰為妙
How to do an Apache Graceful Restart in CentOS 7

Gralylog 安裝紀錄 (使用 Default CentOS 7.7)

本篇參考資料 How to install and configure Graylog on CentOS 7




  1. 執行系統更新
1
yum update -y 
  1. 安裝 EPEL
1
yum install epel-release -y
  1. 安裝所需項目,其中 pwgen 套件是等等要用來產生 graylog server 設定檔的密鑰
1
yum install pwgen vim -y
  1. 安裝 java
1
2
3
yum install java-1.8.0-openjdk-headless.x86_64 -y

確認安裝正確可以使用 java -version
  1. 安裝 MongoDB ,由於 RHEL 預設 repo 沒有這個項目必須手動增加 repo
1
vim /etc/yum.repos.d/mongodb-org.repo

新增內容如下