ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

graylog日志平台搭建 (一) 部署mongo集群

2021-07-20 13:33:08  阅读:454  来源: 互联网

标签:mongod mongo 05 27017 192.168 graylog var 日志


此次搭建graylog日志平台,使用到的组件有mongo、elasticsearch、kafka、zookeeper、graylog、filebeat,下面总结一下搭建过程:

一、部署mongo集群(单机版也可以)

1、时间同步

安装ntpdate,添加定时任务同步时间

最好所有机器都配置时间同步

yum install ntpdate -y
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# crontab -e
5 * * * * ntpdate -u ntp.ntsc.ac.cn

2、yum安装mongo

配置仓库源并安装
vim /etc/yum.repos.d/mongodb-org.repo
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc


yum -y install mongodb-org

启动mongo并设置开机自启

systemctl daemon-reload
systemctl enable mongod.service
systemctl start mongod.service
3、集群模式专有配置(单机版可以忽略此步) 修改配置文件设置副本集
# vim /etc/mongod.conf
# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# Where and how to store data.
storage:
  dbPath: /var/lib/mongo
  journal:
    enabled: true
#  engine:
#  wiredTiger:

# how the process runs
processManagement:
  fork: true  # fork and run in background
  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile
  timeZoneInfo: /usr/share/zoneinfo

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.


#security:

#operationProfiling:

replication:
  replSetName: graylog-rs  #设置副本集名称

#sharding:

## Enterprise-Only Options

#auditLog:

#snmp:

初始化副本集

> use admin;
switched to db admin
> rs.initiate( {
...      _id : "graylog-rs",
...      members: [
...          { _id: 0, host: "192.168.1.10:27017"},
...          { _id: 1, host: "192.168.1.11:27017"},
...          { _id: 2, host: "192.168.1.12:27017"}
...      ]
...  })

确认副本集状态

rs.status()

        "members" : [
                {
                        "_id" : 0,
                        "name" : "192.168.1.10:27017",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "uptime" : 623,
                        "optime" : {
                                "ts" : Timestamp(1621748878, 1),
                                "t" : NumberLong(1)
                        },
                        "optimeDate" : ISODate("2021-05-23T13:47:58Z"),
                        "syncingTo" : "",
                        "syncSourceHost" : "",
                        "electionTime" : Timestamp(1621748728, 1),
                        "electionDate" : ISODate("2021-05-23T13:45:28Z"),
                        "configVersion" : 1,
                        "self" : true,
                        "lastHeartbeatMessage" : ""
                },
                {
                        "_id" : 1,
                        "name" : "192.168.1.11:27017",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 162,
                        "optime" : {
                                "ts" : Timestamp(1621748728, 1),
                                "t" : NumberLong(1)
                        },
                        "optimeDurable" : {
                                "ts" : Timestamp(1621748728, 1),
                                "t" : NumberLong(1)
                        },
                        "optimeDate" : ISODate("2021-05-23T13:45:28Z"),
                        "optimeDurableDate" : ISODate("2021-05-23T13:45:28Z"),
                        "lastHeartbeat" : ISODate("2021-05-23T13:45:28.690Z"),
                        "lastHeartbeatRecv" : ISODate("2021-05-23T13:45:28.288Z"),
                        "pingMs" : NumberLong(0),
                        "lastHeartbeatMessage" : "",
                        "syncingTo" : "192.168.1.10:27017",
                        "syncSourceHost" : "192.168.1.10:27017",
                        "syncSourceId" : 0,
                        "infoMessage" : "",
                        "configVersion" : 1
                },
                {
                        "_id" : 2,
                        "name" : "192.168.1.12:27017",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 162,
                        "optime" : {
                                "ts" : Timestamp(1621748728, 1),
                                "t" : NumberLong(1)
                        },
                        "optimeDurable" : {
                                "ts" : Timestamp(1621748728, 1),
                                "t" : NumberLong(1)
                        },
                        "optimeDate" : ISODate("2021-05-23T13:45:28Z"),
                        "optimeDurableDate" : ISODate("2021-05-23T13:45:28Z"),
                        "lastHeartbeat" : ISODate("2021-05-23T13:45:28.690Z"),
                        "lastHeartbeatRecv" : ISODate("2021-05-23T13:45:28.286Z"),
                        "pingMs" : NumberLong(0),
                        "lastHeartbeatMessage" : "",
                        "syncingTo" : "192.168.1.10:27017",
                        "syncSourceHost" : "192.168.1.10:27017",
                        "syncSourceId" : 0,
                        "infoMessage" : "",
                        "configVersion" : 1
                }
        ]
生成 keyFile 文件,拷贝到其它节点,在第一台PRIMARY节点执行

openssl rand -base64 756 > /var/lib/mongo/access.key
chown -R mongod.mongod /var/lib/mongo/access.key
chmod 600 /var/lib/mongo/access.key
scp -r /var/lib/mongo/access.key 192.168.1.11:/var/lib/mongo/
scp -r /var/lib/mongo/access.key 192.168.1.12:/var/lib/mongo/
拷贝完成后,需要修改配置文件

集群搭建到此结束。

4、创建用户

创建管理员用户 随便找一台机器执行即可
use admin
db.createUser({user: "admin", pwd: "Admin_123456", roles: ["root"]})
db.auth("admin","Admin_123456")

创建用于graplog连接的用户

use graylog
db.createUser({
   user: "graylog", 
   pwd: "Graylog_123456",
  "roles" : [{
      "role" : "dbOwner",
      "db" : "graylog"
    }, {
      "role" : "readWrite",
      "db" : "graylog"
    }]
})

开启安全认证配置,三台机器都需要如此设置,然后重启服务

# vim /etc/mongod.conf
#添加如下配置
security:
  keyFile: /var/lib/mongo/access.key    #单机mongo不用加这行
  authorization: enabled

  systemctl restart mongod 5、验证 1、登陆是否能认证成功 2、副本集状态是否正常   到此mongo集群副本集部署好了。

 

标签:mongod,mongo,05,27017,192.168,graylog,var,日志
来源: https://www.cnblogs.com/opsdemo/p/15033893.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有