Graylog 環境搭建與使用

graylog 官網地址: www.graylog.orghtml

graylog 簡易架構圖:python

 

 

graylog 生產架構圖:linux

 

 

graylog 有兩個版本,一、企業版;二、開源版web

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

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

一、安裝dockerdocker

docker install dockerjson

 

二、配置docker鏡像加速,鏡像加速的。使用國內的鏡像庫後咱們下載鏡像的速度會提升不少。springboot

若有阿里雲、163等等鏡像庫服務器

vi /etc/docker/daemon.json

加入:

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

 

三、docker 配置發生改變後,從新作下加載和重啓

systemctl daemon-reload

systemctl restart docker

 

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

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

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

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

pip -V

 

4.二、若是沒有安裝須要執行命令

yum -y install epel-release

 

4.三、執行成功以後,安裝pip
yum -y install python-pip

4.四、對安裝好的pip進行升級,執行命令

pip install --upgrade pip

 

4.五、開始安裝docker compose
pip install docker-compose --ignore-installed requests

 

4.六、安裝完成,使用命令檢測是否安裝成功

docker-compose -version

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

 

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

 

 

六、選擇 docker 方式安裝

 

 

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

 

 

 

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

 

 

 

 

九、在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個小時

 

十、配置完成後,進入opt 目錄,啓動 graylog 服務

cd /opt

docker-compose up  #啓動 graylog 服務

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

graylog 啓動後,能夠經過ip端口訪問 ,如:http://192.168.11.127:9000

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

 

 

十一、應用及設備,如何將日誌信息發送到 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>

 

十二、啓動微服務,進入 graylog 日誌中心

相關文章
相關標籤/搜索