ELK+RabbitMq搭建日志系统
Posted innocenter
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ELK+RabbitMq搭建日志系统相关的知识,希望对你有一定的参考价值。
环境准备
1. 三台服务器
10.1.34.215
10.1.34.216
10.1.34.217
2. 全部关闭防火墙和selinux
systemctl stop firewalld && systemctl stop firewalld
sed -i ‘s/=enforcing/=disabled/g‘ /etc/selinux/config && setenforce 0
3. 全部配置系统环境
vim /etc/security/limits.conf 添加以下四行 注:星号不可少
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
此处有可能会涉及到启动报错
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
报错的话 将数值改一下即可
vim /etc/sysctl.conf 添加这行
vm.max_map_count=655360
source /etc/profile 刷新环境
4. 全部安装java环境
这里注意查看一下centos有没有原生的jdk
rpm -qa | grep jdk
yum -y remove +上面出来的两段 分别删除
然后解压自己的java配置环境变量
vim /etc/profile
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_251
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
这块注意一个配置完之后 java进行一个软连接
ln -s /usr/local/jdk/jdk1.8.0_251/bin/java /usr/local/bin/java
5. 安装node.js
因为head插件是用node.js开发的,所以需要此环境
https://nodejs.org/en/download/releases/ 选择先前的版本较好注意选择xz版本的
tar -Jxf node-v10.15.3-linux-x64.tar.xz
vim /etc/profile
PATH=$PATH:/usr/local/node/node-v10.15.3-linux-x64/bin
source /etc/profile
node -v
6. 安装head插件 10.1.34.215
wget https://github.com/mobz/elasticsearch-head/archive/master.zip
unzip master.zip && mv elasticsearch-head-master/ /usr/local/elasticsearch-head
cd /usr/local/elasticsearch-head
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install -g grunt-cli
cnpm install -g grunt
cnpm install grunt-contrib-clean
cnpm install grunt-contrib-concat
cnpm install grunt-contrib-watch
cnpm install grunt-contrib-connect
cnpm install grunt-contrib-copy
cnpm install grunt-contrib-jasmine
vim /usr/local/elasticsearch-head/Gruntfile.js
后台启动grunt server &
cd /usr/local/elasticsearch-head
nohup grunt server & / npm run start & 或者nohup npm run start >/dev/null 2>&1 &
打开浏览器访问10.1.34.215:9100,可以看到head页面
7. 准备安装包 自己对应版本
下载es
https://www.elastic.co/cn/downloads/past-releases#elasticsearch
下载kibana
https://www.elastic.co/cn/downloads/past-releases#kibana
下载logstash
https://www.elastic.co/cn/downloads/past-releases#logstash
8. elasticsearch安装
全部创建用户elk
useradd elk
全部安装elasticsearch
tar zxf elasticsearch-6.7.1.tar.gz
chown -R elk:elk /usr/local/elasticsearch/elasticsearch-6.7.1 给elk用户增加es权限
全部修改配置
vim /usr/local/elasticsearch/config/elasticsearch.yml
解决bootstrap.memory_lock: true
报错
vim /etc/security/limits.conf
baoshan soft memlock unlimited
baoshan hard memlock unlimited
vim /etc/sysctl.conf
vm.swappiness=0
reboot 重启
切换到elk用户
切换到es安装目录
./bin/elastcsearch -d 后台启动
期间如果报error=‘Cannot allocate memory‘ (errno=12)# There is insufficient memory for the Java Runtime Environment to continue.
或者elasticsearch启动过程中被自动killed
到es安装目录下
cd config
vim jvm.options
9. 安装kibana
解压安装包
config目录下修改
vim kibana.yml添加以下内容
server.port: 5601 #监听端口
server.host: "0.0.0.0" #监听IP
elasticsearch.hosts: ["http://10.1.34.215:9200","http://10.1.34.216:9200","http://10.1.34.217:9200"] # 集群es地址
logging.dest: /usr/local/kibana/logs/kibana.log #日志路径
kibana.index: ".kibana" #默认索引
然后增加日志输出文件
mkdir /usr/local/kibana/logs && touch /usr/local/kibana/logs/kibana.log
后台启动 ./bin/kibana &
10. 安装logstash
解压安装包
切换到config下修改logstash.yml
path.data: /usr/local/logstash/logstash-6.3.2/data
path.logs: /usr/local/logstash/logstash-6.3.2/logs
logstash启动时需要指定输入与输出的方式,此处要实现的效果是从Rabbitmq中获取数据输出至es中存储,因此创建rabbitmq.conf
文件:
cd ogstash-6.3.2/
touch rabbitmq.conf
指定配置文件并启动:./bin/logstash -f rabbitmq.conf
,访问http://ip:9600
出现一些关于logstash的配置信息即表示安装成功
11.安装RabbitMQ
下载RabbitMQ的rpm:
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.14/rabbitmq-server-3.6.14-1.el7.noarch.rpm
yum -y install rabbitmq-server-3.6.14-1.el7.noarch.rpm
注:如果报:Requires: socat则更新源
wget –no-cache http://www.convirture.com/repos/definitions/rhel/6.x/convirt.repo -O /etc/yum.repos.d/convirt.repo
yum install socat
启动rabbitmq服务:
后台运行:service rabbitmq-server start
安装插件
启动web管理界面
rabbitmq-plugins enable rabbitmq_management
如果提示找不到,使用查看插件名称
rabbitmq-plugins list
增加访问用户,默认用户guest只能本地访问。
rabbitmqctl add_user admin admin
设置角色:
rabbitmqctl set_user_tags admin administrator
设置默认vhost("/")访问权限
rabbitmqctl set_permissions -p "/" admin "." "." ".*"
浏览器访问:http://IP:15672
用户名admin,密码admin进行登录
最好登录console的时候,删除默认账户guest
rabbitmqctl delete_user guest
注意本机用的时候关闭防火墙
登录进去rabbmq之后可以去看一下队列 应该有上面rabbitmq.conf里设置的那一个队列了
至此环境搭建完毕,可以与java后台进行关联
以上是关于ELK+RabbitMq搭建日志系统的主要内容,如果未能解决你的问题,请参考以下文章