Graylog 部署(Centos 6/7+ MongoDB3* + Graylog 3.2 + Elasticsearch6* )

Posted 子不语归来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Graylog 部署(Centos 6/7+ MongoDB3* + Graylog 3.2 + Elasticsearch6* )相关的知识,希望对你有一定的参考价值。

CentOS6 或7或更高都可以

1.安装 MongoDB

手动建立 mongodb repo 源,如果没有安装 vim,则先执行

yum install vim

在线安装mongodb

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

配置如下

[mongodb-org-3.6] 
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

执行安装

yum install mongodb-org

查看mongo安装位置 :

whereis mongod

离线安装mongodb

https://www.mongodb.com/try/download/community
选择合适的版本

此处离线用的是3.2.1
https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.10.tgz

然后执行解压,重命名

查看修改配置文件 :

 vim /etc/mongod.conf

修改数据存储路径
将文件中dbPath修改为自己指定的路径

dbPath: /data1/ViewLog/database/mongodb/mongo

端口修改,也可以默认不改

net:
  port: 27317

启动MongoDB

sudo /usr/bin/mongod -config /etc/mongod.conf


访问 MongoDB 服务器

/usr/bin/mongod 


停止 MongoDB 服务器

sudo /usr/bin/mongod -shutdown -config /etc/mongod.conf

命令:

mongo 

查看数据库:

show dbs

2.安装Elasticsearch

下载elasticsearch
https://www.elastic.co/cn/downloads/elasticsearch 添加链接描述
Graylog目前对7支持还有问题,建议下6的
历史版本下载地址

https://www.elastic.co/cn/downloads/past-releases#elasticsearch

我选择6.8.5

上传至服务器并解压到指定目录

tar -zxvf elasticsearch-6.8.5.tar.gz -C ../module/

重命名

mv elasticsearch-6.8.5/ elasticsearch/
cd elasticsearch/

添加数据目录

mkdir data

修改配置文件

vim config/elasticsearch.yml
#修改集群名
cluster.name: grayloges
#修改节点名
node.name: node-log1
#修改数据的存储目录
path.data: /data1/ViewLog/module/elasticsearch/data
#修改日志的存储目录
path.logs: /data1/ViewLog/module/elasticsearch/logs
#设置绑定的ip,和redis一个道理,设置为0.0.0.0以后就可以让任何计算机节点访问到你了
network.host: 0.0.0.0
# Set a custom port for HTTP:
#不修改就是默认端口
#http.port: 9200

设置资源参数

vi /etc/security/limits.conf

修改如下

* soft nofile 65536
* hard nofile 131072
* soft nproc 65536
* hard nproc 131072

设置用户资源参数

vim /etc/security/limits.d/90-nproc.conf

将“ soft nproc 1024”改为“* soft nproc 4096”*

*   soft    nproc   4096

配置完成后进入bin目录执行启动脚本elasticsearch

 cd bin/

前台启动

./elasticsearch

后台启动

   ./elasticsearch  -d

报错1

java.lang.RuntimeException: can not run elasticsearch as root
        at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:111)
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:178)
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:393)
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:170)
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:161)
        at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86)
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:127)
        at org.elasticsearch.cli.Command.main(Command.java:90)
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:126)
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92)

解决办法:
创建一个独立的用户,比如elk来启动elasticsearch,不用root用户启动、

报错2

java.lang.UnsupportedOperationException: seccomp unavailable: CONFIG_SECCOMP not compiled into kernel, CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER are needed

错误描述:

ElasticSearch集群启动错误,错误的原因是:因为Centos6不支持SecComp,而ES默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动解决:修改elasticsearch.yml

问题解决:

在所有节点的elasticsearch.yml配置文件中加入:

bootstrap.memory_lock: false
bootstrap.system_call_filter: false

后台启动

./elasticsearch  -d

web查看

ip:9200

3.安装Graylog

下载Graylog

https://www.graylog.org/downloads
解压到指定文件夹并重命名

修改配置文件
修改安装目录下的graylog.conf.example

vim graylog.conf.example 
#时区
root_timezone = Asia/Shanghai
#pssworde_secret可以通过命令:pwgen -N 1 -s 96 来随机生成,下面就是我随机生成的
password_secret =UQUOMnZvVGCUsEc5u8tYCCnBjMvtiAQfYOmTcXhGdie8R5OZ7Xxx6WycyWdsqA7IWIF4TjCCQEY0xnvhmvMSb4OqG3LvdQUg
# 生成后,请记住你的 YourPassword
#echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\\n' | sha256sum | cut -d" " -f1
root_password_sha2 =1b5c432b094de3ff79b9296d09347841f38b9cdbea019399c7ed54abba92e975
# elasticsearch 相关配置
elasticsearch_hosts = http://127.0.0.1:9200
elasticsearch_shards =1  
elasticsearch_replicas = 0
# mongodb 连接配置,这里直接本机起的mongodb,没有设置验证
mongodb_uri = mongodb://localhost/graylog
# 网络访问相关,重要,graylog3比2.x版本简洁了很多网络配置,只需配置http_bind_address即可。
http_bind_address = 0.0.0.0:9000

修改配置文件
因为graylog安装bin目录下,默认启动配置文件

配置文件路径 /etc/graylog/server/server.conf
所以需要将graylog.conf.example 复制到/etc/graylog/server/目录下,并改名为server.conf
执行命令

 mkdir -p /etc/graylog/server/

启动Graylog

进入graylog目录下

 ./graylogctl start

查看Graylog运行日志
在graylog安装目录下执行

 tail -200f log/graylog-server.log 

使用ip:9000 进行访问

以上是关于Graylog 部署(Centos 6/7+ MongoDB3* + Graylog 3.2 + Elasticsearch6* )的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 搭建Graylog集群详解

阿里云上搭建Graylog日志服务器的几个注意事项

Centos7 安装Graylog 5.0收集网络设备运行日志

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

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

Centos 安装 graylog