概要:
在CentOS-7上搭建Filebeat+Logstash+Elasticsearch+kibana环
1.1 安装elasticsearch
首先去elastic官网下载安装包,当然也可以在线安装(可能会比较慢)。
elasticsearch不能使用root用户启动,所以切换test[管理员]用户来进行安装
在/usr/local/目录下新建 sourcepackage目录,用来存放安装包
使用xftp将下载好的安装包上传到该目录
在/usr/local/目录下创建elastic目录,作为elastic生态软件的安装目录
sudo mkdir elastic
将elasticsearch-7.4.2-linux-x86_64.gz解压到elastic目录
sudo tar -zxvf sourcepackage/elasticsearch-7.4.2-linux-x86_64.gz -C elastic/
为了避免启动报错,启动之前先配置一下,切换到root用户:
1.编辑 /etc/security/limits.conf:
nofile: 每个用户打开最大文件数的限制
nproc: 每个用户创建的进程数的限制
vi /etc/security/limits.conf
在文件尾追加如下内容:
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
2.编辑 /etc/profile:
vi /etc/profile
在文件尾追加如下内容:
ulimit -SHn 65536
刷新配置:source /etc/profile
3.虚拟内存配置
vi /etc/sysctl.conf
在文件尾追加如下内容:
vm.max_map_count=655360
并执行命令:sysctl -p
使用默认配置,启动elasticsearch
可能需要先修改权限
cd elastic/elasticsearch-7.4.2/
sudo chown -R test elasticsearch-7.4.2/
bin/elasticsearch
启动完成后,查看是否启动成功
curl 'http://localhost:9200/?pretty'
看到如上图所示内容,说明elasticsearch启动完成,但是此时仅限本机访问,显然是不行的,必须要让其他主机也能访问,修改配置文件:
vi /usr/local/elastic/elasticsearch-7.4.2/config/elasticsearch.yml
在Network里面,改成如图配置:
在Discovery里面至少要打开一个配置:
否则会报错:
at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
配置好后,可以在宿主机访问了
1.2 安装Logstash
到官网下载安装包—》上传文件—》解压—》配置—》启动。
1.配置管道
cd /usr/local/elastic/logstash-7.4.2/config
vi mypipeline.conf
在文件中输入:
input {
beats {
port => 5044
codec => "json"
}
}
output {
elasticsearch { hosts => ["localhost:9200"] }
stdout { codec => rubydebug }
}
【此处以filebeat作为输入源,elasticsearch作为输出端,后面还需要安装filebeat】
2.配置jdk
elasticsearch自带了jdk,所以不需要配置。为了不影响全局环境变量,这里只设置elastic的jdk。
编辑脚本:
vi /usr/local/elastic/logstash-7.4.2/bin/logstash.lib.sh
在文件开头加入如下内容:
export JAVA_CMD="/usr/local/elastic/jdk1.8.0_231/bin/"
export JAVA_HOME="/usr/local/elastic/jdk1.8.0_231/"
3.启动
/usr/local/elastic/logstash-7.4.2/bin/logstash -f /usr/local/elastic/logstash-7.4.2/config/mypipeline.conf --config.reload.automatic
看到输出这个内容,启动成功。
在浏览器端访问 http://192.168.135.11:9200/_cat/indices?v
可以看到有logstash的索引:
1.3 安装Filebeat
到官网下载安装包—》上传文件—》解压—》配置—》启动。
编辑配置文件:
vim /usr/local/elastic/filebeat-7.4.2/filebeat.yml
- 配置源日志文件路径
2.配置输出
默认使用elasticsearch作为输出,注释默认配置,此处我们使用Logstash作为输出:
3.启动
/usr/local/elastic/filebeat-7.4.2/filebeat -e -c /usr/local/elastic/filebeat-7.4.2/filebeat.yml -d "publish"
1.4 安装Kibana
到官网下载安装包—》上传文件—》解压—》配置—》启动。
编辑配置文件:
vim /usr/local/elastic/kibana-7.4.2/config/kibana.yml
1.配置elasticsearch地址:
2.想要通过局域网的其他主机访问kibana,还需要修改server.host配置:
3.启动
/usr/local/elastic/kibana-7.4.2/bin/kibana -c /usr/local/elastic/kibana-7.4.2/config/kibana.yml --allow-root
启动成功可以看到如下内容:
接下来就可以开始配置kibana图形化日志分析了