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

谢谢各位光临的朋友

该博客会持续优化更新

        

        

    

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章标题:Graylog2+Elasticsearch+Nxlog-创新互联
当前链接:http://azwzsj.com/article/ddspdj.html