注意:elasticsearch自带openjdk 13.0.2,可以不安装单独jdk。
全局环境,使用root操作。
mkdir /usr/java/
tar -zxf jdk-8u241-linux-x64.tar.gz -C /usr/java/
vim /etc/profile
在文件最后空一行,添加如下内容:
# java
JAVA_HOME=/usr/java/jdk1.8.0_241
JRE_HOME=/usr/java/jdk1.8.0_241/jre
PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/:$JRE_HOME/lib:$CLASSPATH
export JAVA_HOME JRE_HOME PATH CLASSPATH
source /etc/profile
java -version
提示如下表示jdk环境OK:
java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)
创建用户组elk和用户elk
groupadd elk
useradd -g elk -m -d /home/elk elk
passwd elk
123456
修改系统限制, vim /etc/security/limits.conf
* soft nofile 102400
* hard nofile 102400
* - core unlimited
* - nofile 65535
* - nproc 256800
root - nproc 256800
修改信号量, vim /etc/sysctl.conf
# 该参数必须大于等于262144,否则es启动会报错。
vm.max_map_count=262144
使信号量生效
sysctl -p
确认内核参数是否生效:
sysctl vm.max_map_count
mkdir /home/elk/es/
mkdir /home/elk/es/data/
mkdir /home/elk/es/logs/
tar -zxf elasticsearch-7.6.1-linux-x86_64.tar.gz -C /home/elk/es/
cd /home/elk/es/elasticsearch-7.6.1/config/
vim elasticsearch.yml
修改如下内容:
# 第17行,打开该配置并设置集群名称,如 elk+ip后两位
cluster.name: elk-116.8
# 第23行,打开该配置并设置节点名称,如 node-ip后两位
node.name: node-116.8
# 第33行,打开该配置并设置data存放的路径
path.data: /home/elk/es/data
# 第37行,打开该配置并设置logs日志存放的路径
path.logs: /home/elk/es/logs
# 第55行,打开该配置并设置为监听的网络地址
network.host: 192.168.116.8
# 第59行,打开该配置并设置监听的端口
http.port: 9200
# 第68行,建议打开此配置,在启动此节点时,传递主机的初始列表以执行发现,单台机器只填写一个IP,多台机器使用填写多个IP,用逗号隔开。ip可以用主机名代替。
discovery.seed_hosts: ["192.168.116.8"]
# 第72行,建议打开此配置,使用初始的符合主机资格的节点集引导集群,填写节点名称即可。
cluster.initial_master_nodes: ["node-116.8"]
vim jvm.options
根据实际情况,修改22、23行内存大小,建议设置为一致。
-Xms1g
-Xmx1g
cd /home/elk/es/elasticsearch-7.6.1/bin
nohup ./elasticsearch &
查看启动日志
tailf nohup.out
netstat -antop|grep 9200
有如下显示表示在监听端口中:
tcp6 0 0 192.168.116.8:9200 :::* LISTEN 19377/java off (0.00/0/0)
可以使用浏览器访问如下地址:
http://192.168.116.8:9200/
上传安装包kibana-7.6.1-linux-x86_64.tar.gz到服务器
创建目录并解压
mkdir /home/elk/kibana/
tar -zxf kibana-7.6.1-linux-x86_64.tar.gz -C /home/elk/kibana/
修改配置文件
cd /home/elk/kibana/kibana-7.6.1-linux-x86_64/config
vim kibana.ym
修改内容如下:
# 第7行,启用该配置,并修改为IP地址
server.host: "192.168.116.8"
# 第25行,启用该配置,并自定义服务名
server.name: "kibana-116.8"
# 第28行,启用该配置,并修改为ES的地址和端口
elasticsearch.hosts: ["http://192.168.116.8:9200"]
# 第115行,启用该配置,设置语言环境为中文
i18n.locale: "zh-CN"
启动kibana
cd /home/elk/kibana/kibana-7.6.1-linux-x86_64/bin
nohup ./kibana &
查看日志
tailf nohup.out
查看进程,kibana为node启动
ps -ef|grep node
查看端口,默认为5601端口
netstat -atnop|grep 5601
安装Logstash环境,确认已配置好jdk1.8
mkdir /home/elk/logstash
tar -zxf logstash-7.6.1.tar.gz -C /home/elk/logstash
cd /home/elk/logstash/logstash-7.6.1/config/
cp logstash-sample.conf logstash.conf
修改配置文件 vim logstash.conf
# 第12行,修改localhost为实际IP地址
hosts => ["http://192.168.116.8:9200"]
cd /home/elk/logstash/logstash-7.6.1/bin
nohup ./logstash -f ../config/logstash.conf &
tailf nohup.out
或者
cd /home/elk/logstash/logstash-7.6.1/logs
tailf logstash-plain.log
ps -ef|grep logstash
netstat -atnop|grep 5044
netstat -atnop|grep PID # PID为进程的id
metricbeat模块用来收集系统指标发送给elasticsearch或logstash,请先确保es和kibana已经运行。
mkdir -p /home/elk/beat/metricbeat/
tar -zxf metricbeat-7.6.1-linux-x86_64.tar.gz -C /home/elk/beat/metricbeat/
cd /home/elk/beat/metricbeat/metricbeat-7.6.1-linux-x86_64
./metricbeat modules enable system
metricbeat.yml
cd /home/elk/beat/metricbeat/metricbeat-7.6.1-linux-x86_64
vim metricbeat.yml
# 第67行,启用该行,并修改为kibana的地址
host: "192.168.116.8:5601"
4.1 默认metricbeat上报事件到elasticsearch,修改配置文件metricbeat.yml
如下:
# 第92行,默认该行启用,表示metricbeat将事件发送到elasticsearch
output.elasticsearch:
# 第94行,需修改为ES的地址,默认端口为9200
hosts: ["192.168.116.8:9200"]
4.2. [暂不可用] 可以手动修改,使metricbeat上报事件到logstash,修改配置文件metricbeat.yml
如下:
# 第92行,禁用该行
#output.elasticsearch:
# 第94行,禁用该行
#hosts: ["localhost:9200"]
# 第105行,启用该行,表示metricbeat将事件发送到logstash
output.logstash:
# 第107行,启用该行,修改为logstash的地址,默认端口为5044
hosts: ["192.168.116.8:5044"]
./metricbeat setup -e
出现如下提示时,表示初始化完成,大概需30秒,会自动回到终端。
Kibana dashboards successfully loaded.
nohup ./metricbeat -e &
tailf nohup.out
Metricbeat启动后,开始向ES发送采集到的系统指标
注:其他beat插件工具安装方法请自行学习。
注:此部分可以在页面依次点击主页-添加日志数据-系统日志,按照自管型步骤进行操作,最后检查数据OK后,即可查看相关数据。
注:如果是收集系统日志,则需要root运行。其他需要有相应文件的访问权限
filebeat是日志文件数据收集工具
mkdir -p /home/elk/beat/filebeat/
tar -zxf filebeat-7.6.1-linux-x86_64.tar.gz -C /home/elk/beat/filebeat/
cd /home/elk/beat/filebeat/filebeat-7.6.1-linux-x86_64
vim filebeat.yml
# 第28行,需要爬取日志的路径,使用绝对路径,默认如下,可以自行修改
- /var/log/*.log
3.1 默认filebeat上报日志到elasticsearch,修改如下:
# 第148行,默认该行启用,表示filebeat上报日志到elasticsearch
output.elasticsearch:
# 第150行,需修改为ES的地址,默认端口为9200
hosts: ["192.168.116.8:9200"]
3.2 如需上报到logstash,需修改配置文件如下:
# 第148行,禁用该行
#output.elasticsearch:
# 第150行,禁用该行
# hosts: ["localhost:9200"]
# 第161行,启用该行,表示filebeat将日志发送到logstash
output.logstash:
# 第163行,启用该行,修改为logstash的地址,默认端口为5044
hosts: ["192.168.116.8:5044"]
./filebeat test config
./filebeat test output
./filebeat modules enable system
将会在modules.d/system.yml
文件中修改设置。
./filebeat setup
nohup ./filebeat -e &
tailf logs/filebeat
ps -ef|grep filebeat
浏览器输入以下地址:
http://192.168.116.8:5601/app/kibana#/dashboard/Metricbeat-system-overview-ecs
或者输入以下地址:
http://192.168.116.8:5601
然后点击右侧 仪表板(Dashboard),输入system,找到"[Metricbeat System] Overview ECS",并点击,如图:
进入后页面如图:
在此即可监视系统使用情况。
elk所需安装包,均可在elasticsearch官网找到,或者es中文社区找到。
es官网下载:https://www.elastic.co/cn/downloads/
es中文社区下载:https://elasticsearch.cn/download/
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.1.tar.gz
https://artifacts.elastic.co/downloads/kibana/kibana-7.6.1-linux-x86_64.tar.gz
https://artifacts.elastic.co/downloads/logstash/logstash-7.6.1.tar.gz
https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.6.1-linux-x86_64.tar.gz
https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.6.1-linux-x86_64.tar.gz
参考链接:
https://www.jianshu.com/p/934c457a333c
https://www.qikegu.com/docs/3105
https://blog.51cto.com/cloumn/blog/240
https://www.cnblogs.com/yuhuLin/p/7018858.html