Graylog 環境搭建與使用


graylog 官網地址: www.graylog.org

graylog 簡易架構圖:

 

 

graylog 生產架構圖:

 

 

graylog 有兩個版本,1、企業版;2、開源版

下面使用開源版本搭建日志中心,graylog 安裝方式有很多,開發、測試環境可以使用 docker 方式安裝,快捷方便。

在安裝 graylog 前,需要先將 docker 環境配置起來。

1、安裝docker

docker install docker

 

2、配置docker鏡像加速,鏡像加速的。使用國內的鏡像庫后我們下載鏡像的速度會提高很多。

如有阿里雲、163等等鏡像庫

vi /etc/docker/daemon.json

加入:

{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}

 

3、docker 配置發生改變后,重新做下加載和重啟

systemctl daemon-reload

systemctl restart docker

 

4、為了安裝graylog快捷方便,直接使用 docker-compose 的方式按來裝,

docker-compose 方式是 docker 官方提供一個簡單的編排方式。

那么就需要有 docker-compose 的運行環境, docker-compose 是一個軟件,需要先安裝。

安裝 docker compose:
4.1、使用檢測是否安裝python-pip包

pip -V

 

4.2、如果沒有安裝需要執行命令

yum -y install epel-release

 

4.3、執行成功之后,安裝pip
yum -y install python-pip

4.4、對安裝好的pip進行升級,執行命令

pip install --upgrade pip

 

4.5、開始安裝docker compose
pip install docker-compose --ignore-installed requests

 

4.6、安裝完成,使用命令檢測是否安裝成功

docker-compose -version

安裝成功后會有版本信息,如 docker-compose version 1.24.0, build 0aa5906

 

5、登錄官網www.graylog.org,主菜單上選擇 products,選擇 graylog open source

 

 

6、選擇 docker 方式安裝

 

 

7、參考 image 使用文檔,已經如何配置

 

 

 

8、找到 docker-compose.yml 文件的配置

 

 

 

 

9、在linux服務器上指定目錄上創建一個 docker-compose.yml 文件

(如 /opt 目錄下創建一個 docker-compose.yml 文件,注意文件名必須是 docker-compose.yml),並將內容copy 到文件中:

version: '2' services: # MongoDB: https://hub.docker.com/_/mongo/ mongodb: image: mongo:3 # Elasticsearch: https://www.elastic.co/guide/en/elasticsearch/reference/6.6/docker.html elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.6.1 environment: - http.host=0.0.0.0 - transport.host=localhost - network.host=0.0.0.0 - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 mem_limit: 1g # Graylog: https://hub.docker.com/r/graylog/graylog/ graylog: image: graylog/graylog:3.0 environment: # CHANGE ME (must be at least 16 characters)! - GRAYLOG_PASSWORD_SECRET=somepasswordpepper # Password: admin - GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918 - GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:9000/ links: - mongodb:mongo - elasticsearch depends_on: - mongodb - elasticsearch ports: # Graylog web interface and REST API - 9000:9000 # Syslog TCP - 1514:1514 # Syslog UDP - 1514:1514/udp # GELF TCP - 12201:12201 # GELF UDP - 12201:12201/udp

 

以上配置內容中需要注意兩個地方:

- GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:9000/ #注意此IP地址必須是外網能訪問的IP地址,如 192.168.11.127
- GRAYLOG_ROOT_TIMEZONE=Asia/Shanghai  #注意加入時區,否則會導致顯示的日期差8個小時

 

10、配置完成后,進入opt 目錄,啟動 graylog 服務

cd /opt

docker-compose up  #啟動 graylog 服務

docker-compose down #停止服務並刪除容器

graylog 啟動后,可以通過ip端口訪問 ,如:http://192.168.11.127:9000

至此 graylog 環境以及搭建完畢!!

 

 

11、應用及設備,如何將日志信息發送到 graylog?使用網絡的方式基於 tcp或udp 方式將日志信息發送到 graylog 服務中。

springboot 微服務使用的日志組件是logback ,將 logback 日志信息發送到 graylog,就需要加入依賴包 logback-gelf

11.1 pom.xml 文件中需要加入組件依賴

<dependency>
    <groupId>de.siegmar</groupId> <artifactId>logback-gelf</artifactId> <version>2.0.1</version> </dependency>

 

11.2 logback-spring.xml 文件加入gelf udp 配置,如下

<appender name="GELF" class="de.siegmar.logbackgelf.GelfUdpAppender">
<graylogHost>192.168.11.127</graylogHost> <!-- graylog 日志服務地址 -->
<graylogPort>12201</graylogPort> <!-- graylog 日志接收端口 -->
<maxChunkSize>508</maxChunkSize>
<useCompression>true</useCompression>
<encoder class="de.siegmar.logbackgelf.GelfEncoder">
<includeRawMessage>false</includeRawMessage>
<includeMarker>true</includeMarker>
<includeMdcData>true</includeMdcData>
<includeCallerData>false</includeCallerData>
<includeRootCauseData>false</includeRootCauseData>
<includeLevelName>true</includeLevelName>
<shortPatternLayout class="ch.qos.logback.classic.PatternLayout">
<pattern>%m%nopex</pattern>
</shortPatternLayout>
<fullPatternLayout class="ch.qos.logback.classic.PatternLayout">
<pattern>%m%n</pattern>
</fullPatternLayout>
<staticField>app_name:${spring.application.name}</staticField>
<staticField>os_arch:${os.arch}</staticField>
<staticField>os_name:${os.name}</staticField>
<staticField>os_version:${os.version}</staticField>
</encoder>
</appender>

 

<springProfile name="local">
<logger name="com.elead.ppm" level="DEBUG"/>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="GELF" />
</root>
</springProfile>

 

12、啟動微服務,進入 graylog 日志中心

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM