美文网首页
Graylog收集Nginx日志

Graylog收集Nginx日志

作者: 我是孟小鱼呀 | 来源:发表于2019-08-19 16:17 被阅读0次

    Graylog

    日志监控系统

    Graylog是一个开源的日志聚合、分析、审计、展现和预警工具。功能上和ELK类似,但又比ELK要简单,依靠着更加简洁,高效,部署使用简单的优势很快受到许多人的青睐。本篇文章主要介绍Graylog的安装部署以及如何使用Graylog收集分析Nginx日志 .....

    一、安装部署

    graylog采用单机部署,,采用最小化部署,架构如下

    img

    \color{gray}{\small\mathbf{基础架构}}

    img

    \color{gray}{\small\mathbf{集群部署}}

    从上图可以看出大体上包括Elasticsearch、MongoDb和Graylog三部分。

    ▲ Graylog 提供 graylog 对外接口 ,Web界面,CPU

    ▲ Elasticsearch 日志文件的持久化存储和检索, IO

    ▲ MongoDB 只是存储一些 Graylog 的配置

    安装Graylog应用程序需要下面的条件

    
    [CentOS release 6.8 (Final)] Some modern Linux distribution (Debian Linux, Ubuntu Linux, or CentOSrecommended)
    [elasticsearch-5.6.9] Elasticsearch 2.3.5 or later  
    [ mongodb-linux-x86_64-rhel62-3.6.5]MongoDB 2.4 or later (latest stable version is recommended) 
    [graylog-2.4.4]Oracle Java SE 8 (OpenJDK 8 also works; latest stable update is recommended)  
    
    

    安装之前需要先关闭selinux,清空iptables规则和关闭防火墙。准备好了就开始吧~

    setenforce 0sed -i"s/SELINUX=enforcing/SELINUX=disabled/g"
    
    /etc/selinux/configiptables -Fservice iptables savesystemctl disabled
    
    firewalldsystemctl stop firewalld 
    

    1、先决条件

    以最小的服务器设置为基础将需要这些额外的包:

    yum install java-1.8.0-openjdk-headless.x86_64           #安装java软件包 
    yum install epel-release                                 #安装epel软件仓库 
    yum install pwgen                                        #安装pwgen生成密码
    

    2、安装mongodb

    首先创建软件仓库文件

    /etc/yum.repos.d/mongodb-org.repo

    使用以下内容添加存储库文件

    touch /etc/yum.repos.d/mongodb-org.repocat  
    << EOF >/etc/yum.repos.d/mongodb-org.repo 
    [mongodb-org-4.0]name=MongoDB
    Repositorybaseurl=https://repo.mongodb.org/yum/RedHat/$releasever/mongodb-org/4.0/x86_64/ 
    gpgcheck=1 enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
    EOF
    

    配置完成后,可以通过yum安装最新版本的MongoDB

    yum install mongodb-org
    

    然后配置MongoDB作为服务开机启动

    chkconfig --add mongodsystemctl daemon-reloadsudo  
    systemctl enable  mongod.servicesystemctl start mongod.service
    

    3、安装Elasticsearch

    首先安装Elastic GPG密钥,然后添加包含以下内容的存储库文件中,graylog3.0采用的是elasticsearch6.x版本

    rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearchtouch/etc/yum.repos.d/elasticsearch.repocat  
    << EOF  
    >/etc/yum.repos.d/elasticsearch.repo[elasticsearch6.x] 
    name=Elasticsearch repository for 6.x 
    packagesbaseurl=https://artifacts.elastic.co/packages/oss-6.x/yumgpgcheck=1 
    gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-md 
    EOF
    

    随后安装最新版本。

    yum install elasticsearch-oss
    

    修改elasticsearch的配置文件

    vim /etc/elasticsearch/elasticsearch.yml
    

    在16行修改cluster.name改为graylog

    img

    最后一行添加action.auto_create_index: false

    img

    修改配置后,可以启动Elasticsearch:

    chkconfig --add elasticsearchsystemctl daemon-reload 
    systemctl enable elasticsearch.servicesystemctl restart elasticsearch.service
    

    4、安装Graylog

    现在使用以下命令安装Graylog存储库配置和Graylog本身:

    rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-3.0-repository_latest.rpm 
    yum  install graylog-server
    

    安装完成后,首先生成password_secret密码

    pwgen -N 1 -s 96
    

    生成root_password_sha2密码 (后续Web登录时所需要使用的密码)

    echo -n"Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d " " -f1
    

    然后将生成的password_secret密码和root_password_sha2密码字符串,添加到配置文件/etc/graylog/server/server.conf中,分别在55行和66行

    img

    然后修改web登陆接口,在104行,按照如下配置,默认端口9000,可以修改

    img

    完成修改后保存,然后启动graylog

    chkconfig --add graylog-serversystemctl daemon-reload 
    systemctl enable graylog-server.servicesystemctl start graylog-server.service
    

    然后可以使用浏览器登陆 http://ip:9000

    默认管理员用户名:admin

    密码:root_password_sha2配置设定的密码

    img

    登录成功!Graylog配置搭建完成,接下来就可以把想要监控的日志接入进来了。

    二、Graylog配置

    1、安装rsyslog 应用 一般操作系统已经安装过不须要重新安装

    yum install rsyslog
    

    2、配置rsyslog 服务端

    vi /etc/rsyslog.conf增加相关配置
    
    $ModLoad imuxsock # provides support for local system
    logging (e.g. via logger command)$ModLoad imklog  # provides kernel logging
    support (previously done by rklogd)$ModLoad imudp    #开启支持upd的模块
    $UDPServerRun 514  #允许接收udp 514的端口传来的日志
    
    ModLoad imtcp      #开启支持tcp的模块
    
    $InputTCPServerRun 514    #允许接收tcp 514的端口传来的日志
    local5.* /var/log/history.log
    vi /etc/bashrc  export HISTTIMEFORMAT= "%F %T whoami  "
    export PROMPT_COMMAND= '{ command=$(history 1 | { read x y; echo $y; });
    logger -p local5.notice -t bash -i
    "user=$USER,ppid=$PPID,from=$SSH_CLIENT,pwd=$PWD,command:$command"; }' 
    

    重启rsyslog 服务systemctl restart rsyslog

    查看服务是否正常启动

    tail -n 200 -f  /var/log/history.log
    

    3、安装部署 graylog-sidecar filebeat 客户端

    wget https://live400-storage.oss-cn-hangzhou.aliyuncs.com/source/filebeat/filebeat-6.6.1-x86_64.rpm
    
    wget https://live400-storage.oss-cn-hangzhou.aliyuncs.com/source/graylog/graylog-sidecar-1.0.0-1.x86_64.rpm
    
    yum localinstall  filebeat-6.6.1-x86_64.rpm
    
    yum localinstall  graylog-sidecar-1.0.0-1.x86_64.rpm
    

    4、配置graylog-sidecar客户端,编辑sidecar.yml配置文件,注意修改tags和api的路径

    img
    # list_log_files 参考,配置需要收集日志的文件目录
    # list_log_files:
    #  - "/var/log"
      - "/data/logs/nginx" #本次配置
    #  - "/data/logs/mysql"
    #  - "/data/logs/tomcat"
    

    安装进程服务graylog-sidecar -service install

    启动graylog 日志收集服务

    service graylog-sidecar start

    三、Graylog前端界面配置

    01打开graylog的web界面,配置input来源

    (1)点击“system”--“input”

    img

    (2)选择Input源为Beats,并点击新建Input源

    img

    (3)输入来源名,名字随便填写,这里为方便确认,填写为nginx,最后点击Save

    img

    (4)配置完成后出现绿色的Running

    img
    02配置sidecars

    ★ 日志源配置完成后开始配置收集日志的collector

    ★ 后端的collectors启动的时候会通过graylog的api来匹配自身的tags

    ★ 匹配tags之后会生成对应的filebeat的配置文件并开始收集日志

    (1)点击“Cystem”--“Sidecars”

    img

    (2)点击右上角“Configuration”进行配置

    img

    (3)新建配置,也可以克隆已有的 Nginx 配置,点击 More actions,选择 Clone,命名格式:项目-filebeat-nginx

    img

    (4)然后点击 edit,替换 tags 中的项目名称:tags: ["nginx", "项目"]

    img

    (5)搜索刚刚的主机,running状态即可

    img
    03配置Index Set

    (1)新建Index Set。点击“System”--“Indices”--Create Index Set

    注意:Max number of indices的值与刚刚新建配置中local后面的数字对应

    img img
    04配置streams

    (1)新建Streams。点击“Streams”--Create Stream。关联刚刚添加的日志,勾选 Remove matches from ‘All messages’ stream

    img

    (2)点击 Manage Rules--Add Stream Rule,具体配置与刚刚配置参数里内容对应,保存。

    img
    img

    (3)点击“Streams”查看,有日志写入表示日志对接成功。

    相关文章

      网友评论

          本文标题:Graylog收集Nginx日志

          本文链接:https://www.haomeiwen.com/subject/unxesctx.html