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 日志中心

相关文章
相关标签/搜索