搭建Graylog3.2,并管理Nginx日志(一)

Graylog是一个优秀的日志平台,这几天因为需要使用他,所以在这里记录一下安装和使用。

Graylog3.2版本文档:https://docs.graylog.org/en/3.2/index.html

准备工作

系统环境:Ubuntu18、docker、docker-compose

安装

我选择了docker的安装方式,Graylog需要mongo、elasticsearch的支持,我的docker-compose.yml如下,端口根据需要自行调整:

version: '2'
services:
  # MongoDB
  mongodb:
    image: mongo:latest
    container_name: graylog-mongodb
    ports:
      - 27027:27017
  # Elasticsearch
  elasticsearch:
    image: elasticsearch:6.7.0
    container_name: graylog-elasticsearch
    environment:
      - http.host=0.0.0.0
      - transport.host=localhost
      - network.host=0.0.0.0    
      - xpack.security.enabled=false
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    mem_limit: 1g
    ports:
      - 9200:9200
      - 9300:9300
  # Graylog
  graylog:
    image: graylog/graylog:3.2
    container_name: graylog
    environment:
      # 自行修改
      - GRAYLOG_PASSWORD_SECRET=somepasswordpepper
      # Password: admin
      - GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
      # 提供给外部web端访问,我搭建Graylog的服务器IP是192.168.1.104,因为9000端口已经被占用了,所以这里我用了9001
      - GRAYLOG_HTTP_EXTERNAL_URI=http://192.168.1.104:9001/
    links:
      - mongodb:mongo
      - elasticsearch
    depends_on:
      - mongodb
      - elasticsearch
    ports:
      # Graylog web interface and REST API
      - 9001:9000
      # Syslog TCP
      - 514:514
      # Syslog UDP
      - 514:514/udp
      # GELF TCP
      - 12201:12201
      # GELF UDP
      - 12201:12201/udp
      # 5044 TCP
      - 5044:5044
      # 5044 UDP
      - 5044:5044/udp

访问Graylog的Web端

Graylog提供了Web的操作界面,安装完成之后即可在浏览器通过ip+端口访问:http://192.168.1.104:9001,效果如下:

收集Nginx日志

服务器上的Graylog到这里已经搭建完成了。

Graylog收集日志的方式有很多种,因为篇幅有限,所以在这里以通过Graylog Collector Sidecar收集Nginx日志为例:

  1. 创建server_api_token
  2. Nginx所在服务器安装并配置:Graylog Collector Sidecar,它会与Graylog服务器通信,拉取配置信息,然后读取本地日志并上传
  3. Nginx所在服务器安装:filebeat(我使用的它,可以自行选择其它的)
  4. 配置Graylog的相关设置,Nginx服务器Graylog Collector Sidecar的一些设置是在这里完成的
  5. 配置完成,Graylog Collector Sidecar上传日志

创建server_api_token

下一个步骤在配置sidecar的时候会用到该token,文档在这:http://docs.graylog.org/en/3.0/pages/configuration/rest_api.html#creating-and-using-access-token

首先在Web管理界面,进入System/Authentication,选择左边的Users,在列表中点击按钮:Edit tokens

在界面中填入值,并生成Token,拷贝Token的值需要点击按钮:Copy to clipboard

server_api_token到此创建完成!

安装Graylog Collector Sidecar

在Nginx所在服务器安装,安装的时候注意版本问题:https://docs.graylog.org/en/3.2/pages/sidecar.html#installation

下载地址:https://github.com/Graylog2/collector-sidecar/releases

我用的版本是:graylog-sidecar_1.0.1-1_amd64.deb。

安装:sudo dpkg -i graylog-sidecar_1.0.1-1_amd64.deb

安装完成之后,默认的配置文件在这里:/etc/graylog/sidecar/sidecar.yml,我们需要修改他,具体文档:https://docs.graylog.org/en/3.2/pages/sidecar.html#sidecar-configuration,我的配置文件如下:

server_url: http://192.168.1.104:9001/api/
server_api_token: "123456"   ## 这就是上面步骤获取到的那个server_api_token
node_id: nginxUbuntuPc
update_interval: 10
tls_skip_verify: true
send_status: true
list_log_files: []
cache_path: /var/cache/graylog-sidecar
log_path: /var/log/graylog-sidecar
log_rotation_time: 86400
log_max_age: 604800
tags: nginx_beats_input    ## 这个值随意输入一个
backends:
    - name: nxlog
      enabled: false
      binary_path: /usr/bin/nxlog
      configuration_path: /etc/graylog/collector-sidecar/generated/nxlog.conf
    - name: filebeat
      enabled: true
      binary_path: /usr/bin/filebeat
      configuration_path: /etc/graylog/collector-sidecar/generated/filebeat.yml

配置完成,保存退出,启动:

sudo /usr/bin/graylog-sidecar -service install

## 先安装了filebeat再启动,也就是先执行下一步

sudo systemctl start graylog-sidecar

查看运行日志:

tail -f /var/log/graylog-sidecar/sidecar.log

安装filebeat

在Nginx所在服务器安装,文档:https://docs.graylog.org/en/3.2/pages/sidecar.html#install-collectors

下载地址:https://www.elastic.co/cn/downloads/beats/filebeat

安装:sudo dpkg -i filebeat-7.6.1-amd64.deb

配置Graylog

1.首先在Web管理界面,进入System/Inputs,进行如下操作:

接着填入参数,端口根据需要进行修改,然后保存即可:

如何上面配置没问题,那么会看到它处于运行状态:

2.Web界面进入System/Sidecars,进行如下操作:

Collector根据需要这里选择了:filebeat on Linux

paths处填写你Nginx服务器上日志所在位置

hosts处填写Graylog服务器的IP+端口(上面System/Inputs时候填入的端口):

点击Create即可!

3.继续在System/Sidecars界面:

如果前面的Graylog Collector Sidecar配置正确,并启动成功了,那么这里是能看见下面列表的。如果什么都没有,根据错误信息检查配置并重新启动Graylog Collector Sidecar。

选择列表里面的filebeat,然后Configure选择刚才建立的Collectors Configuration。这个步骤我已经操作过了,所以看见的效果有一点不一样:

配置完成,查看日志

配置已经完成了,接下来启动Nginx,并尝试访问Nginx让他生成日志,接着在Graylog查看上传的日志:

到此基本完成Nginx的日志简单收集,Graylog还有很多强大的功能,后续更新。。。。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值