Graylog2+Elasticsearch+Nxlog

博客地址已转移至:http://cocojoey.lofter.com/post/1eff2f40_10a6d448

专注于为中小企业提供成都网站制作、成都网站设计、外贸营销网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业普陀免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

这里今后不再更新。。。。。。。。。。。。。

日志管理工具:收集,解析,可视化

  • Elasticsearch - 一个基于Lucene的文档存储,主要用于日志索引、存储和分析。

  • Logstash -管理事件和日志的工具

  • Kibana - 可视化日志和时间戳数据

  • Graylog2 -具有报警选项的可插入日志和事件分析服务器

  • Nxlog-跨平台,模块化,具备日志缓冲与流量控制、定时作业、内置配置语言的日志采集神器

Graylog与ELK方案的对比

ELK:Elasticsearch+Logstash+Kibana 

Graylog:Elasticsearch+Nxlog+Graylog-server(集成graylog-web)

Graylog架构图:

                最小化架构图:

Graylog2+Elasticsearch+Nxlog

                Graylog集群架构图:

Graylog2+Elasticsearch+Nxlog

ELK架构图:

Graylog2+Elasticsearch+Nxlog

简要说两句:商业日志工具Splunk,号称日志界的Google。还有Nxlog,它们有多牛逼我就不再赘述了。而Graylog简直就是开源版的Splunk。

此次,我们进行最小化安装,集群方案的部署后面会陆陆续续更新:

        安装组件:

                MongoDB

                Elasticsearch

                Graylog-server(集成了Graylog-web)

                Graylog Collector Sidecar(旧版本是Graylog Collector,已经废弃了 )

安装环境:

        Centos7.3+Graylog2.3+elasticsearch3.4.5+Nxlog2.9+Collector-Sidecar-0.1.3

        主机IP:192.168.55.33   此次配置服务端和客户端都在一台主机上

第一部分:    Server端的部署

MongoDB:

                1:安装mongodb的yum源

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

                     [mongodb-org-3.2]

                        name=MongoDB Repository

                        baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/

                        gpgcheck=1

                        enabled=1

                        gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

    

                2:安装mongodb

                          yum install mongodb-org

                3:添加系统服务及启动                    

                         chkconfig --add mongod

                         systemctl daemon-reload

                         /sbin/chkconfig  mongod on

                         systemctl start mongod.service

                    注意:这里没有进行mongodb的相关配置包括graylog连接的配置,graylog启动时会自行创建相关数据

Elasticsearch:    

                  1:首先导入Elastic GPG密钥

                        rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

    

                  2:添加yum源

                        vim  /etc/yum.repos.d/elasticsearch.repo

                      [elasticsearch-2.x]

                         name=Elasticsearch repository for 2.x packages

                         baseurl=https://packages.elastic.co/elasticsearch/2.x/centos

                         gpgcheck=1

                         gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch

                         enabled=1   

                  3:安装elasticsearch

                         yum install elasticsearch

                  4:配置elasticsearch,修改以下几个地方,elasticsearch详细配置自行谷歌

                        vim  /etc/elasticsearch/elasticsearch.yml

                            cluster.name: graylog2     elasticsearch集群名称,若有多个集群,可根据此属性区分。

                            node.name: node-142      集群节点名称,elasticsearch启动时会自动创建,也可手动配置

                            network.host: 192.168.55.33        设置绑定的ip地址,可以是ipv4或ipv6的,默认为0.0.0.0 

                            http.port: 9200        设置对外服务的Http端口,默认是9200

                            transport.tcp.port: 9300       设置节点间交互的tcp端口,默认是9300 

                            discovery.zen.ping.unicast.hosts: ["192.168.55.33"]     设置集群中master集群初始化列表,这个数组里的机器将被自动发现加入集群,多个用逗号隔开

                     

                  5:添加至系统服务及启动                      

                         chkconfig --add elasticsearch

                            systemctl daemon-reload

                            systemctl enable elasticsearch.service

                            systemctl restart elasticsearch.service

            

Graylog:    

                    1:安装Graylog的yum源及epel源

                            rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-2.3-repository_latest.rpm

                            yum install epel-release

                   

                    2:安装Graylog-server及相关组件

                            yum install graylog-server pwgen 

                    

                    3:配置graylog2,修改以下几个地方,其他地方保持默认,也可根据实际情况进行设置,详解自行谷歌

                            password_secret            WxWxFDNy36Wgl3VMQoFVyCdJl5TpiilNPujRBW3xoyYx5cB8aP8N

                                     对密码进行加盐处理(就是密码加盐也就是密码后面加上很长的一串字符串再进行加密),例如

                                     md5(md5(password)+salt)和SHA512(SHA512(password)+salt) 方式

                                    这里使用pwgen生成密码:pwgen -N 1 -s 96

                            root_password_sha2     72d7c50d4e1e267df628ec2ee9eabee

                                        graylog-web登录的用户密码,使用   sha256sum进行加密。

                                        密码加密命令:echo -n yourpassword | sha256sum 

                            root_email          email报警地址,此次博客未涉及到邮件报警相关内容,不用管,此后更新

                            root_timezone = +08:00         设置时区

                            rest_listen_uri = http://192.16855.33:9000/api/      

                                        用于接受Graylog Collector Sidecar发送的心跳信息,collectors也可以访问次uri

                            web_listen_uri = http://192.168.0.200:9000/         graylog-web访问地址

                            elasticsearch_cluster_name = graylog2     必须与elasticsearch设置相同

                            elasticsearch_discovery_zen_ping_unicast_hosts = 192.168.55.33:9300

                                        添加elasticsearch集群的主机,多个主机用逗号隔开

                            mongodb_uri = mongodb://localhost/graylog        MongoDB服务器身份验证,使用默认即可

                  4:添加系统服务及启动                                  

                            chkconfig --add graylog-server

                                systemctl daemon-reload

                                systemctl enable graylog-server.service

                                systemctl start graylog-server.service

            至此,Graylog-server安装完毕,可通过浏览器输入192.168.55.33:9000进行访问,登录,以上配置文件设计的

                        密码加密选项必须设置,并且必须使用指定密码工具生成密码才能正常登录,否则将失败

第二部分:    Collector端的部署

           

            1:简述                   

                         Graylog Collector Sidecar是一种用于采集日志的轻量级配置管理系统,也称为后端。

                            作为守护进程运行。

       Graylog2+Elasticsearch+Nxlog

                这些配置通过Graylog Web界面以图形方式进行集中管理。对于特定需求,可以将原始

                                后端配置(称为Snippets)直接存储到Graylog中。                        

                使用REST API,Sidecar守护进程将定期获取目标的所有相关配置。实际获取哪些配置

                                取决于主机的Sidecar配置文件中定义的“标签”。例如,Web服务器主机可以

                                包括linux和nginx标签。              

                在第一次运行或检测到配置更改时,Sidecar将生成(呈现)相关的后端配置文件。

                                然后它将启动或重新启动那些重新配置的日志收集器。

                目前,Sidecar支持Nxlog,Filebeat和Winlogbeat。支持的功能几乎相同,可以在

                                web界面进行切换,对于所有收集器,可以使用带有SSL加密的GELF输出。

                在服务器端,您可以与多个收集器共享输入,例如,所有Filebeat和Winlogbeat

                                实例都可以将日志发送到单个Graylog-Beats输入。

                此次博客我们以Nxlog作为后端来进行配置。

            1:安装Nxlog和collector-sidecar

                    yum源现在没有ollector-sidecar的,去官方下载rpm包进行安装。

                            yum install collector-sidecar-0.1.3-1.x86_64.rpm  nxlog-ce-2.9.1716-1_rhel7.x86_64.rpm

            2:添加系统服务及用户授权                                            

                            gpasswd -a nxlog root

                            chown -R nxlog.nxlog /var/spool/collector-sidecar/nxlog                       

                         graylog-collector-sidecar -service install 

                            systemctl start collector-sidecar

    
            3:配置Nxlog

                    vim /etc/nxlog.conf  

                         

                                Module      xm_gelf                 

                                                      

                            

                                Moduleim_file                  

                                File"/var/log/messages"              

                                                      

                            

                                Moduleom_udp

                                Host 192.168.55.33

                                Port  12201

                                                     

                           

                               Pathin => out

                           

                        
              4:配置colloector

                       vim /etc/graylog/collector-sidecar/collector_sidecar.yml    

                          server_url: http://192.168.55.33:9000/api/

                            update_interval: 10

                            tls_skip_verify: false

                            send_status: true

                            list_log_files:

                            node_id: graylog-collector-sidecar

                            collector_id: file:/etc/graylog/collector-sidecar/collector-id

                            cache_path: /var/cache/graylog/collector-sidecar

                            log_path: /var/log/graylog/collector-sidecar

                            log_rotation_time: 86400

                            log_max_age: 604800

                            tags:

                                - nginx

                            backends:

                                - name: nxlog

                                  enabled: true

                                  binary_path: /usr/bin/nxlog

                                  configuration_path: /etc/graylog/collector-sidecar/generated/nxlog.conf

              5:重启服务

                      systemctl restart collector-sidecar           systemctl restart-nxlog                    

       至此,Collector相关的东西配置完成,接下来就是Graylog-Web端相关的配置 

Graylog-Web

            1:    浏览器输入192.168.55.33进入管理界面,配置input和output相关信息

点击collectors --> manage configurations --> creat configurations 

Graylog2+Elasticsearch+Nxlog

Graylog2+Elasticsearch+Nxlog

Graylog2+Elasticsearch+Nxlog

采集器名字

Graylog2+Elasticsearch+Nxlog

Graylog2+Elasticsearch+Nxlog

tags标签名字(与采集器客户端配置文件相同)

Graylog2+Elasticsearch+Nxlog

设置output和input相关信息,与nxlog的配置文件相同

Graylog2+Elasticsearch+Nxlog

Graylog2+Elasticsearch+Nxlog

配置完成后,重启客户端的collector-sidecar:systemctl restart collector-sidecar

graylog web查看Collectors 是否运行正常:

Graylog2+Elasticsearch+Nxlog

Graylog2+Elasticsearch+Nxlog

graylog web 设置 日志接收

System -->  inputs --> 选择哪种方式读取日志 -->  设置相关属性(设置服务器端的ip地址) --> 保存

Graylog2+Elasticsearch+Nxlog

查看是否正常运行

search:可以进行正则匹配高亮显示结果

Graylog2+Elasticsearch+Nxlog

至此,全部安装完毕,使用正常,若有不明白或无法正常工作的地方,请留言或者加群讨论:656633543

谢谢各位光临的朋友

该博客会持续优化更新

        

        

    


网站名称:Graylog2+Elasticsearch+Nxlog
本文地址:http://myzitong.com/article/jhodgh.html