graylog 2.3.2 日志系统安装指南

  • Java (>= 8)
  • MongoDB 3.2
  • Elasticsearch 2.X
  • graylog 2.3.2
  • IP 192.168.0.210
  • centos 7.x
  • IP 192.168.0.210 (单机测试)
  • 结构:mongodb + elasticsearch + graylog + nxlog + collector_sidecar

    mongodb:存储元数据,一般安装好后不用其他设置

    elasticsearch:存储日志

    graylog:web界面,负责接收用户输入数据,展示elasticsearch里的数据

    nxlog ,collector_sidecar:日志收集,传送

    jdk请自行安装,这里不再说明,可在下面地址下载相关版本:

    http://mirror.cnop.net/jdk/

    1.安装mongodb(这里以3.2为例)

    vim  /etc/yum.repos.d/mongodb-org-3.2.repo    #添加yum源

    [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

    yum -y install mongodb

    添加系统服务及启动

    chkconfig --add mongod

    systemctl daemon-reload

    /sbin/chkconfig  mongod on

    systemctl start mongod.service

    注意:这里没有进行mongodb的相关配置包括graylog连接

    的配置,graylog启动时会自行创建相关数据

    2.elasticsearch安装

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

    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

    yum install -y elasticsearch

    vim  /etc/elasticsearch/elasticsearch.yml
    #修改成自己的信息,切记去除注释后的内容前面不要有空格,不然可能会启动失败

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

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

    network.host: 192.168.0.210    #设置绑定的ip地址

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

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

    添加至系统服务及启动:

    chkconfig --add elasticsearch

    systemctl daemon-reload

    systemctl enable elasticsearch.service

    systemctl restart elasticsearch.service

    3.graylog安装(web界面)

    $ sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-2.3-repository_latest.rpm
    #获取最新版本

    $ sudo yum install -y graylog-server pwgen
    #安装最新版本,pwgen用于密码加密生成

    配置

    vi /etc/graylog/server/server.conf
    #配置graylog,修改以下几个地方,其他地方保持默认,也可根据实际情况进行设置

    password_secret =ZOauN2D9OknUXUDJbj4Lebb9zPB0SYfgcLELyo7r3yJK5r6Ep6CFfLco4hPy0tc3QEgYIDUP2RZcXdlCpZm43PvuIIyFuWPS

    # 对密码进行加盐处理(就是密码加盐也就是密码后面加上很长的一串字符串再进行加密),如 md5(md5(password)+salt)和SHA512(SHA512(password)+salt) 方式这里使用pwgen随机生成密码:pwgen -N 1 -s 96

    root_username = admin #登陆web界面用户名,这里去除前面注释

    root_password_sha2 =8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
    #设置登陆web密码,使用 sha256sum进行加密,可使用 echo -n 123456 | sha256sum 命令在系统中生成,这里以123456为例说明。

    root_timezone = +08:00         #设置时区

    rest_listen_uri = http://192.168.0.210:9000/api/ #地址更改成自己的ip,这里以192.168.0.210为例,用于接受Graylog Collector Sidecar发送的心跳信息,collectors也可以访问次uri

    rest_transport_uri = http://192.168.0.210:9000/api/

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

    elasticsearch_hosts = http://192.168.0.210:9200 #elasticsearch地址,用于接入elasticsearch引擎

    allow_highlighting = true #(运行查询结果高亮) elasticsearch_shards = 1 (当前只安装了一个elasticsearch)

    elasticsearch_cluster_name = graylog     #必须与elasticsearch设置相同

    mongodb_uri = mongodb://localhost/graylog              # MongoDB服务器身份验证,使用默认即可,这里不需要像mysql一样导入表,只存储原数据

    $ sudo systemctl start graylog-server

    $ sudo systemctl enable graylog-server

    添加防火墙:

    firewall-cmd --zone=public --add-port=9000/tcp --permanent

    systemctl restart firewalld.service

    4.Collector端与nxlog的部署

    nxlog:

    yum -y install libdbi #要求为 libdbi >= 0.8.1

    wget http://mirror.cnop.net/nxlog/linux/nxlog-ce-2.9.1716-1_rhel7.x86_64.rpm

    rpm -ivh nxlog-ce-2.9.1716-1_rhel7.x86_64.rpm

    gpasswd -a nxlog root

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

    vim /etc/nxlog.conf #注意,本处定义log文件nxlog必须有读权限,不然后面可能查询不到日志信息

    ########################################

    # Modules #

    ########################################

    <Extension gelf>

    Module xm_gelf

    </Extension>

    <Input in>

    Module im_file

    File "/var/log/messages"

    </Input>

    <Output out>

    Module om_udp

    Host 192.168.0.210

    Port 12201

    OutputType GELF

    </Output>

    ########################################

    # Routes #

    ########################################

    <Route r>

    Path in => out

    </Route>

    以上代码这里截个图,以防显示不全:

    systemctl restart nxlog

    Collector :Graylog Collector Sidecar是一种用于采集日志的轻量级配置管理系统,也称为后端,作为守护进程运行。

    wget http://mirror.cnop.net/Graylog/collector-sidecar/collector-sidecar-0.1.4-1.x86_64.rpm

    或去官方下载最新:

    https://github.com/Graylog2/collector-sidecar/releases

    $ sudo rpm -ivh collector-sidecar-0.1.4-1.x86_64.rpm

    $ sudo graylog-collector-sidecar -service install $ sudo systemctl start collector-sidecar

    vim /etc/graylog/collector-sidecar/collector_sidecar.yml   #根据情况修改

    server_url: http://192.168.0.210:9000/api/

    update_interval: 10

    tls_skip_verify: false

    send_status: true

    list_log_files:

    node_id: graylog-collector-sidecar #多台机器请修改成不同id

    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

    systemctl restart collector-sidecar

    systemctl enable collector-sidecar

    systemctl restart nxlog

    /sbin/chkconfig nxlog on

    参考:http://docs.graylog.org/en/2.3/pages/collector_sidecar.html

    5.web访问:

    http://192.168.0.210:9000

    点击 System ->Collectors

    点击 Create configuration

    这里任意输入一个名称,这里以test为例:

    点击名称"test",进入配置界面:

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

    点击右侧 Create Output ,选择相关Type和名字,ip,端口等信息,

    点击右侧 Create Input:

    Type [NXLog] file input

    Path to Logfile /var/log/messages

    重启客户端的collector-sidecar:

    systemctl restart collector-sidecar

    设置web接收日志:

    system->inputs->Launch new input

    选择主机节点

    设置标题

    设置ip

    设置端口(默认)

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

    http://192.168.0.210:9000/system/collectors

    可手动 echo 推送一条数据到被监控的日志文件中,最后回到主界面查看日志:

    其他常见:

    nxlog日志查看:

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

    错误::

    原因,请确定 elasticsearch 是否起来。

    经上牵扯到代码部分本网页可能部分不能完全显示,请参考附件:

    http://www.cnop.net/uploadfile/2017/1129/20171129044810559.pdf
    http://www.cnop.net/uploadfile/2017/1129/20171129050325594.docx

    参考:

    http://docs.graylog.org/en/2.3/

    http://cocojoey.lofter.com/post/1eff2f40_10a6d448

    https://www.cnblogs.com/wsl222000/p/6041835.html

    转载请注明出处:

    http://www.cnop.net/html/2017/graylog_1129/5005.html

    时间: 2024-07-31 04:37:35

    graylog 2.3.2 日志系统安装指南的相关文章

    部署 Graylog 日志系统 - 每天5分钟玩转 Docker 容器技术(92)

    Graylog 是与 ELK 可以相提并论的一款集中式日志管理方案,支持数据收集.检索.可视化 Dashboard.本节将实践用 Graylog 来管理 Docker 日志. Graylog 架构 Graylog 架构如下图所示: Graylog 负责接收来自各种设备和应用的日志,并为用户提供 Web 访问接口. Elasticsearch 用于索引和保存 Graylog 接收到的日志. MongoDB 负责保存 Graylog 自身的配置信息. 与 ELK 一样,Graylog 的部署方案很灵

    公司使用graylog来收集Docker日志

    学习一下 Graylog 相信大部分的人都用过或者听说过ELK这个强大的日志栈架构,我们要用的graylog和ELK非常的相似,但是算是后起之秀. 为什么要选择graylog来作为Docker的日志收集平台呢? Docker原生支持graylog协议,直接将日志发送到graylog(通过gelf协议) graylog官方提供了将本身部署在Docker的支持 graylog官方提供了Dockerfile供我们快速的在Docker上部署日志系统dokerFile. 原文地址:https://www.

    日志系统之Flume采集加morphline解析

    概述 这段时间花了部分时间在处理消息总线跟日志的对接上.这里分享一下在日志采集和日志解析中遇到的一些问题和处理方案. 日志采集-flume logstash VS flume 首先谈谈我们在日志采集器上的选型.由于我们选择采用ElasticSearch作为日志的存储与搜索引擎.而基于ELK(ElasticSearch,Logstash,Kibana)的技术栈在日志系统方向又是如此流行,所以把Logstash列入考察对象也是顺理成章,Logstash在几大主流的日志收集器里算是后起之秀,被Elas

    【Yii系列】错误处理和日志系统

    缘起 跟随上一章的脚步,上一章中,我们主要讲解了在用户发起请求,解析请求,服务器反馈请求以及session的一些知识点,这过程中,难免会遇到一些问题,比方说数据库查询失败,用户输入导致脚本出错,网络问题等等突发情况,对于突发情况,做过软件的一般都知道,会有错误处理和日志去记录下这个过程,同样的,Yii也提供了类似的功能帮助我们去抓住错误,记录错误,并且对相应错误做出对应处理. 错误处理 Yii 内置了一个error handler错误处理器. 所有非致命PHP错误(如,警告,提示)会转换成可获取

    DNS的视图功能以及日志系统

    实验环境:RHEL5.8 32Bit DNS的视图功能以及日志系统详解 DNS的主配置文件中的allow-recursion参数用来定义能够和DNS服务器进行递归的客户端来源,allow-query参数用来定义允许到DNS服务器上面发起查询请求的客户端,allow-transfer参数用来定义允许和DNS服务器进行区域传送的客户端,区域传送主要有两种方式,axfr和ixfr,使用dig命令也可以模拟实现区域传送: 如果我们的DNS服务器允许进行递归.发起查询请求以及进行区域传送的客户端比较多的话

    Linux上的日志系统

    Syslog Syslog-ng 日志系统:syslogd() A: B: D: syslog服务: syslogd:系统,非内核产生的信息 klogd:内核,专门负责记录内科产生的日志 kernel –物理终端(dev/console)--/var/log/dmesg 日志需求滚动(日志切割): messages message.1  message.2 /sbin/init /var/log/messages,系统保准错误日志,非内核产生引导信息:各子系统产生的信息: /var/log/ma

    日志系统之基于flume收集docker容器日志

    最近我在日志收集的功能中加入了对docker容器日志的支持.这篇文章简单谈谈策略选择和处理方式. 关于docker的容器日志 docker 我就不多说了,这两年火得发烫.最近我也正在把日志系统的一些组件往docker里部署.很显然,组件跑在容器里之后很多东西都会受到容器的制约,比如日志文件就是其中之一. 当一个组件部署到docker中时,你可以通过如下命令在标准输出流(命令行)中查看这个组件的日志: docker logs ${containerName} 日志形如: 但这种方式并不能让你实时获

    日志系统之扩展Flume-LineDeserializer

    本人博客文章如未特别注明皆为原创!如有转载请注明出处:http://blog.csdn.net/yanghua_kobe/article/details/46595401 继续闲聊日志系统,在之前的博文里已提到我们在日志收集上的选择是flume-ng.应用程序将日志打到各自的日志文件或指定的文件夹(日志文件按天滚动),然后利用flume的agent去日志文件中收集. Deserializer简介 flume将一条日志抽象成一个event.这里我们从日志文件中收集日志采用的是定制版的SpoolDi

    atitit. 日志系统的原则and设计and最佳实践(1)-----原理理论总结.

    atitit. 日志系统的原则and设计and最佳实践总结. 1. 日志系统是一种不可或缺的单元测试,跟踪调试工具 1 2. 日志系统框架通常应当包括如下基本特性 1 1. 所输出的日志拥有自己的分类. 2 2. 日志按照某种标准分成不同级别. 2 3. 支持多线程. 2 4. 稳定性. 2 3. 一个理想的日志模式 2 4. 判断指定的方法是否被调用了 3 5. 给方法的输入输出加上日志通过Aop 3 6. 日志易读,易解析  对日志感兴趣的可以分为两类: 3 7. 输出日志使用的性能 3 8