一 elk以及kafka集群 环境准备
1.1 日志收集流程
1.2 elk集群准备
1.2.1 es集群环境准备
es版本为7.12https://www.elastic.co/cn/downloads/http://www.pingtaimeng.com/article/detail/id/2151994 7.12安装
1.2.1.1 准备java环境
yum install -y java-1.8.0-*
1.2.1.2 安装es
rpm -ivh elasticsearch-7.12.1-x86_64.rpm #rpm启动不了,
换成二进制安装即可
1.2.1.3 更改配置文件
配置文件给两外两台节点复制一份,,改下network.host和node.name即可
[es@localhost elasticsearch-7.12.1]$ grep -v "^#" config/elasticsearch.yml
cluster.name: elk
node.name: node-103
network.host: 172.31.7.103
http.port: 9200
discovery.seed_hosts: ["172.31.7.103", "172.31.7.104","172.31.7.105"]
cluster.initial_master_nodes: ["172.31.7.103", "172.31.7.104","172.31.7.105"] #哪些节点可以x选举为master
action.destructive_requires_name: true #禁止模糊删除数据
1.2.1.4 启动es
默认启动的时候回报两个错误如下以及解决办法:
#报错1
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] 意思是说你的进程不够用了
解决方案: 切到root 用户:进入到security目录下的limits.conf;执行命令
vim /etc/security/limits.conf 在文件的末尾添加下面的参数值:
* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096
#报错2
2,[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 需要修改系统变量的最大值
解决方案:切换到root用户修改配置sysctl.conf
sudo vim /etc/sysctl.conf
增加配置值: vm.max_map_count=655360
sudo sysctl -p
启动es必须需要普通用户去启动
useradd es
chown -R es /home/es/elasticsearch-7.12.1
su - es #必须用普通用户启动
./bin/elasticsearch -d #后台启动
vim config/jvm.options #修改jvm
nohup ./bin/elasticsearch > nohup.log & #后台启动
启动完成之后,还有9200和9300两个端口号
1.2.1.5 浏览器验证
使用谷歌浏览器,去谷歌商店安装一款elasticsearch head的插件,就可以看到如下信息:
带*号的是主节点
1.2.2 kibana安装
使用rpm安装的,
1.2.2.1 kibana配置文件
[root@localhost ~]# grep -v "^#" /etc/kibana/kibana.yml |grep -v "^$"
server.port: 5601
server.host: "172.31.7.103"
elasticsearch.hosts: ["http://172.31.7.103:9200","http://172.31.7.104:9200","http://172.31.7.105:9200"]
1.2.2.2 启动服务
systemctl start kibana
1.2.2.3 浏览器访问
http://172.31.7.103:5601/app/home#/
1.2.3 安装filebeat客户端进行验证
安装一个filebeat客户端,收集/var/log/*.log,然后把收集到的日志给到es集群如下
然后到kibana里面创建索引即可
选择下面这个选项即可