安装graylog日志管理工具-麒麟服务器

目录

背景

准备工作

安装JDK

安装Docker-compose

安装Graylog

安装Logstash

结果展示


背景

本文是基于国产环境下安装部署graylog,使用的服务器是4.19.90-17.ky10.aarch64,由于graylog-sidecar没有aarcher64架构的安装包,此处选择graylog+logstash实现日志采集、管理工作。

架构

af14bb8656794494ab3b7d8a5e70e2e5.png

准备工作

  1. jdk安装包
  2. docker安装包(默认已安装)
  3. docker-compose安装包
  4. logstash安装包
  5. 两台服务器,一台安装graylog,另一台安装logstash采集日志

下载地址:https://pan.baidu.com/s/1ebSVz8vERJvm0UrPMUNACQ ,提取码: 3jw

安装JDK

1. 创建一个目录用于解压后的文件,并解压缩到该目录下

sudo mkdir /usr/local/java
sudo tar -zxvf jdk-8u371-linux-aarch64.tar.gz -C /usr/local/java

2. 修改环境变量

sudo vim ~/.bashrc

3. 文件末尾追加如下内容

#set oracle jdk environment
export JAVA_HOME=/usr/local/java/jdk1.8.0_371  ## 这里要注意目录要换成自己解压的jdk 目录
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export PATH=${JAVA_HOME}/bin:$PATH

4.  使环境变量生效

source ~/.bashrc

5. 设置默认jdk

sudo update-alternatives --install /usr/bin/java java /usr/local/java/jdk1.8.0_371/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/local/java/jdk1.8.0_371/bin/javac 300
sudo update-alternatives --install /usr/bin/jar jar /usr/local/java/jdk1.8.0_371/bin/jar 300
sudo update-alternatives --install /usr/bin/javah javah /usr/local/java/jdk1.8.0_371/bin/javah 300
sudo update-alternatives --install /usr/bin/javap javap /usr/local/java/jdk1.8.0_371/bin/javap 300

6. 执行

sudo update-alternatives --config java

 7. 测试是否安装成功

java -version
javac -version

安装Docker-compose

1. 对docker-compose-linux-aarch64进行重命名、修改权限

mv docker-compose-linux-aarch64 docker-compose

chmod 777 docker-compose

2. 查看系统变量存放路径

echo $PATH

3. 我这边的系统变量地址其中之一是/usr/bin

4. 将docker-compose放到/usr/bin目录下

mv docker-compose /usr/bin/

5. 验证docker-compose

 f762f143d3dc4cdca056a2367d74cae7.png

安装Graylog

 1. 将准备好的配置文件放入服务器中,以下是配置文件内容

version: '2'
services:
#MongoDB: https://hub.docker.com/_/mongo/
  mongodb:
    restart: always
    image: mongo:4.4.6
#Elasticsearch: https://www.elastic.co/guide/en/elasticsearch/reference/7.10/docker.html
  elasticsearch:
    restart: always
    image: elasticsearch:7.13.2
    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:4.2-jre11
    environment:
      - GRAYLOG_HTTP_BIND_ADDRESS=0.0.0.0:9000
      # 注意:此处改成当前服务器的ip
      - GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:9000/
      - GRAYLOG_ROOT_TIMEZONE=Asia/Shanghai
      # 密码盐值,随便改
      - GRAYLOG_PASSWORD_SECRET=<密码盐值,随意改,必须超过16位/>
      - GRAYLOG_ROOT_USERNAME=<用户名称,随意改/>
      - GRAYLOG_ROOT_PASSWORD_SHA2=<通过SHA256进行加密后的密文/>
    links:
      - mongodb:mongo
      - elasticsearch
    restart: always
    depends_on:
      - mongodb
      - elasticsearch
    ports:
      # web端访问地址ip+9000端口
      - 9000:9000
      # Syslog TCP
      - 1514:1514
      # Syslog UDP
      - 1514:1514/udp
      # GELF TCP  gelf将会在springboot logback中配置使用这个范围内端口
      # 暴露多个接口 后面可以对不同项目 区分创建stream和index
      - 12201-12210:12201-12210
      # GELF UDP gelf将会在springboot logback中配置使用这个端口
      - 12201:12201/udp
volumes:
  mongo_data:
    driver: local
  es_data:
    driver: local
  graylog_data:
    driver: local

2. 针对密码进行加密

echo -n 密码原文 | sha256sum

3. 启动graylog

sudo docker-compose -f docker-compose.yml up -d

安装Logstash

1. 减压安装包

tar -zxvf logstash-7.17.12-linux-aarch64.tar.gz

2. 此处我们使用gelf插件通过udp协议将日志数据推送到graylog,首先,我们安装gelf插件

bin/logstash-plugin install logstash-output-gelf

此处会花费较长时间,耐心等待一会...

3. 然后修改logstash.conf文件

# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.

input {
  file {
    path => "日志文件的地址"
	# 此处根据自己需要再日志内容中添加字段以及内容
    add_field => {"appNm" => "auth"}
    start_position => "beginning"
	# 此处根据时间戳将日志进行合并
	codec => multiline {
	  pattern => "^\s*(\d{4}|\d{2})\-(\d{2}|[a-zA-Z]{3})\-(\d{2}|\d{4})|^(.*)(\d{4}|\d{2})\-(\d{2}|[a-zA-Z]{3})\-(\d{2}|\d{4})\s(\d{2}):(\d{1,2})|^{(.*)}|^\d{4}|^(.*)(\d{4}|\d{2})\-(\d{2}|[a-zA-Z]{3})\-(\d{2}|\d{4})\s(\d{2}):(\d{1,2})"
      negate => true
	  what => "previous"
	}
  }
}

output {
  gelf {
  # 此处填写graylog的地址
    host => "graylog的地址"
    port => 12201
    protocol => "UDP"
  }
}

4. 启动logstash,可在nohup.out文件内查看启动日志

nohup ./bin/logstash -f config/logstash.conf & > nohup.out

注意:如果发生报错,提示没有安装相关组件,则可以通过bin/logstash-plugin install <组件名称> 这个命令进行安装

结果展示

aff82a11fe4448d5adb0efd46f4728a9.png

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值