ELK+FileBeat 在:Centos7 环境下的安装与部署
1.参考资料:
ELK+FileBeat 7.14.0版本安装、部署及使用 - 韋大脸 - 博客园 (cnblogs.com)
(89条消息) elk安装部署linux环境(亲测有效)_linux安装elk_號先生的博客-CSDN博客
2.准备的环境:
2.1centod7虚拟机、静态IP、网络连接模式net、jdk8的环境
2.1.1 centos 环境下安装JDK8 的 环境
参考资料:(89条消息) linux使用yum安装JDK8_搬用工的博客-CSDN博客
2.2 静态IP配置
2.2.1 参考资料: (89条消息) Linux设置静态IP_linux配置静态ip_微风粼粼的博客-CSDN博客
2.2.2 遇见的错误:虚拟机不能ping通主机,互相不能ping通
解决办法:1.查看主机和虚拟机的防火墙,是否关闭。没有关闭,进行关闭。2. 检查网关的配置,网关是否写错
3.下载ELK+filebeat 等的压缩包,本次采用解压的方式安装
logstash-7.8.0.tar.gz
kibana-7.8.0-linux-x86_64.tar.gz
elasticsearch-7.8.0-linux-x86_64.tar.gz
filebeat-8.8.2-linux-x86_64.tar.gz
阿里云盘连接:https://www.aliyundrive.com/s/nHjenpdABGg
百度云盘连接:链接:https://pan.baidu.com/s/1J9nY5-A-G_I_aGPnWisBdA?pwd=szlz 提取码:szlz
3.1 elasticsearch安装部署
1.解压es安装包到/opt/文件夹下
sudo tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz /opt/
2.进入elasticsearch-7.8.0/config/文件夹,编辑elasticsearch.yml文件
需设置上图7处地方。
**注意点:**1. es不能使用root用户启动,必须用其他用户,并且给这个用户赋予操作elasticsearch-7.14.0文件夹的权限
2.在与path.data 和 path.logs 对应的目录下创建相应的文件夹,并且把他们的权限转给es用户
创建用户
useradd es
–将对应的文件夹权限赋予用户 es
chown -R es /opt/elasticsearch-7.8.0
chown -R es /opt/data
3.1.2启动前需要先配置一些环境
1、配置可打开的文件描述符的最大数
sudo vi /etc/security/limits.conf
添加参数配置
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
2、配置文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量
sudo vi /etc/sysctl.conf
在文件末尾添加
vm.max_map_count=655360
然后执行
sudo sysctl -p
3、默认的JVM的 xms 和xmx 设置过大,可能会与机器不匹配
cd /opt/elasticsearch-7.8.0/config
修改xms xmx 的配置
vim jvm.options
3.1.3 启动 es
在 cd /opt/elasticsearch-7.8.0/bin 文件夹下执行
切换 es 用户
su es
3.2.1 启动es 有两种方式 前台启动 和 后台启动 主要的区别在于会不会在控制台中显示日志
前台启动
./elasticsearch
后台启动
./elasticsearch -d
浏览器打开http://192.168.2.129:9200/,如出现下图,则说明启动成功
查看 elasticsearch 的进程
ps -ef | grep elasticsearch
ps aux | grep elasticsearch
停止 elasticsearch 的进程
前端停止
CTRL C
后台停止
kill 进程号
3.2 logstash安装部署
解压logstash到/opt/目录下
sudo tar -zxvf logstash-7.8.0.tar.gz /opt/
进入logstash-7.14.0/config目录下编辑logstash-sample.conf文件,当然也可以新建一个配置文件,这里以logstash-sample.conf为例
在input->beats->port默认是5044,后面部署的filebeat的日志都会发送到这里,所以filebeat里面的配置要和这里的保持一致
输出到es里的配置增加了action, 配置了es的hosts,另外配置一个index,这里的索引不能使用大写字母
input {
tcp {
port => 5044
}
}
output {
elasticsearch {
action => "index"
hosts => ["http://192.168.213.131:9200"]
index => "elklog-131-%{+YYYY.MM.dd}"
#user => "elastic"
#password => "changeme"
}
}
运行logstash:
在logstash-7.8.0文件夹在执行
sudo ./bin/logstash -f ./config/logstash-sample.conf
注意:
- 需要在logstash运行的机器上防火墙开放5044端口
- Logstash启动时依赖于es,因此es要先于logstash启动
3.3filebeat安装部署
filebeat是一个轻量级的日志采集服务,可以将采集的日志发送到es或者logstash
解压filebeat到指定位置
sudo tar -zxvf filebeat-8.8.2-linux-x86_64.tar.gz /opt/
进入filebeat-8.8.2文件夹,编辑filebeat.yml文件,这里只设置了输入格式为log的路径,同时把enable设置为true
这里的outputs设置,采用输出到logstash后再输入es的方式,因此将es output的配置注释,将logstash的配置打开并配置logstash的hosts
运行filebeat:
在filebeat-7.14.0-linux-x86_64文件夹下执行
./filebeat -e -c ./filebeat.yml
注意:
filebeat运行时要访问logstash,因此logstash要先于filebeat启动
3.4kibana安装部署
将kibana安装包解压到/opt/目录
sudo tar -zxvf kibana-7.8.0-linux-x86_64.tar.gz /opt/
进入kibana-7.8.0-linux-x86_64/config文件夹,编辑kibana.yml文件
Kibana不能使用root用户启动,必须用其他用户,并且给这个用户赋予操作kibana-7.14.0-linux-x86_64文件夹的权限
sudo chown -R es /opt/kibana-7.8.0-linux-x86_64
启动kibana:
在kibana-7.14.0-linux-x86_64文件夹下执行
./bin/kibana
防火墙开放5601端口,网页访问http://192.168.2.129:5601/
登录kibana,找到Management->Stack Management->Index Management可以看到,配置的两个索引elklog-129-2021.08.24显示在indices下
创建索引模式
中查询创建的索引模式和数据