本文介绍在CentOS 7系统上使用Elasticsearch 5.x安装Graylog 2.4/2.5的方法,Graylog 2.4完全支持Elasticsearch 5.x和任何最新版本的MongoDB。
禁用SELinux及添加所需的存储库 1、禁用SELinux Graylog依赖于Java,Elasticsearch和MongoDB的功能,Elasticsearch负责日志存储,MongoDB用于存储与Graylog相关的配置,当更改Graylog和端口标签的数据目录时,可能需要禁用SELinux以避免权限问题。 要禁用SELinux,请运行以下命令: setenforce 0 sed -i 's/(^SELINUX=).*/SELINUX=disabled/' /etc/selinux/config cat /etc/selinux/config 需要重新启动才能实现更改,但设置setenforce 0会使SELinux处于许可模式,从而防止出现任何与SELinux相关的问题。 2、添加所需的存储库 启用EPEL存储库: # yum -y install epel-release 添加MongoDB存储库: cat << EOT > /etc/yum.repos.d/mongodb-org-3.6.repo [mongodb-org-3.6] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/3.6/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc EOT 添加Elasticsearch存储库: cat << EOT > /etc/yum.repos.d/elasticsearch.repo [elasticsearch-5.x] name=Elasticsearch repository for 5.x packages baseurl=https://artifacts.elastic.co/packages/5.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOT 使用以下命令安装Elastic GPG密钥: # rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch 完成所有这些设置后,我们可以继续安装Graylog软件包。
安装必须的包及启用服务 1、安装Java,Elasticseach和MongoDB 运行此命令以安装所有必需的包: # yum install java-1.8.0-openjdk-headless.x86_64 # yum install pwgen elasticsearch mongodb-org 2、启动并启用MongoDB服务 启动mongod服务并将其设置为启动时启动: # systemctl enable mongod && systemctl start mongod # systemctl status mongod 3、为Graylog配置Elasticsearch 需要修改Elasticsearch配置文件并将群集名称设置为graylog,要编辑的文件是/etc/elasticsearch/elasticsearch.yml: # vim /etc/elasticsearch/elasticsearch.yml cluster.name: graylog 4、启动并启用elasticsearch服务 你可能需要为Elasticsearch数据配置不同的分区,默认的Elasticsearch文件位置是:
对于MongoDB:
我将在/var/lib/elasticsearch/data下挂载一个辅助驱动器: # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 50G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 49G 0 part ├─centos-root 253:0 0 45.1G 0 lvm / └─centos-swap 253:1 0 3.9G 0 lvm [SWAP] sdb 8:16 0 200G 0 disk 我将使用/dev/sdb来实现此目的: parted -s -a optimal -- /dev/sdb mklabel gpt parted -s -a optimal -- /dev/sdb mkpart primary 0% 100% parted -s -- /dev/sdb align-check optimal 1 mkfs.xfs /dev/sdb1 echo "/dev/sdb1 /var/lib/elasticsearch/data xfs defaults 0 0" >> /etc/fstab mkdir /var/lib/elasticsearch/data mount -a chown -R elasticsearch:elasticsearch /var/lib/elasticsearch/data 确认它已安装: # df -hT | grep /dev/sdb1 /dev/sdb1 xfs 200G 33M 200G 1% /var/lib/elasticsearch/data 现在可以启动elasticsearch并将其设置为在重新启动时启动: # systemctl start elasticsearch && systemctl enable elasticsearch
安装Graylog 现在使用以下命令安装Graylog存储库和Graylog本身: # rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-2.4-repository_latest.rpm # yum install graylog-server 如果是Graylog 2.5则为: $ rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-2.5-repository_latest.rpm $ yum install graylog-server 还需要在/etc/graylog/server/server.conf下设置add password_secret和root_password_sha2变量,这些设置是强制性的,没有它们,Graylog将无法启动: # cat /etc/graylog/server/server.conf | grep password | grep -v '^ *#' password_secret = root_password_sha2 = 使用之前安装的pwgen工具生成password_secret: # pwgen -N 1 -s 96 需要使用以下命令来创建root_password_sha2: # echo -n yourpassword | sha256sum 为了能够连接到Graylog你应该设置:rest_listen_uri及web_listen_uri。 到运行graylog服务的计算机的公共主机名或公共IP地址。 Graylog目录结构是:
启动Graylog服务及配置Graylog Firewalld 1、启动Graylog服务 现在启动graylog服务并使其在系统启动时启动: # systemctl start graylog-server && systemctl enable graylog-server # systemctl status graylog-server 2、配置Graylog Firewalld 对于单节点安装,你只需打开端口9000以进行UI访问和API,要在CentOS 7上执行此操作,请使用firewalld: # firewall-cmd --add-port=9000/tcp --permanent # firewall-cmd --reload # firewall-cmd --list-ports | grep 9000 9000/tcp 现在可以使用http://public_ip:9000访问Graylog Web界面:
至此,在CentOS 7上使用Elasticsearch 5.x安装Graylog成功了。
相关主题 |