一、ELK应用场景
复杂的企业应用服务集群中,日志的类型多种多样,不易归档不说,还不容易监控。无论是谁都很难准确定位服务器上的各种问题,也没有能够高效搜索日志定位问题的方式方法。ELK就提供了这样一个功能,能够搜索各个服务器的日志信息并且提供图形化界面做数据展示和分析。
二、ELK日志系统介绍
简写 | 全称 | 简介 | 作用 |
---|---|---|---|
E | Elasticsearch | 开源分布式搜索引擎,提供存储、分析、搜索的功能。 | 搜集日志数据并提供给kibana查询分析 |
L | Logstash | 日志搜集分析过滤框架,支持多种数据输入输出格式 | 用于收集日志,对日志进行过滤及格式化输出到elasticsearch |
K | Kibana | 开源的图形化展示系统 | 对elasticsearch提供的数据进行可视化分析 |
三、Beats介绍
由于Logstash对资源消耗较大,因此引进了轻量级日志采集框架Beats,主要包括以下六种:
名称 | 功能 |
---|---|
Packetbeat | 用于收集网络流量数据 |
Heartbeat | 用于运行时间监控 |
Filebeat | 用于搜集文件数据 |
Winlogbeat | 用于搜集windows事件数据 |
Metricbeat | 用于指标数据 |
Auditbeat | 用于审计数据 |
四、ELK环境搭建(非集群)
1.安装JDK
- 使用yum查看JDK版本
yum search java|grep -i --color JDK
命令结果
- 使用yum命令安装jdk
yum install java-1.8.0-openjdk*
- 查看jdk安装位置
ls -l /usr/lib/jvm
- 编辑环境变量
vi /etc/profile
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/toos.jar
export JAVA_HOME CLASSPATH PATH
source /etc/profile #生效环境配置
2.安装Elasticsearch
- 下载路径:
elasticsearch
kibana
logstash - 解压安装包
tar -zxvf elasticsearch-7.4.0-linux-x86_64.tar.gz
- 修改elasearch配置文件
vim /home/elasticsearch/config/elasticsearch.yml
#添加以下内容
network.host: 0.0.0.0
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
node.name: node-1
cluster.initial_master_nodes: ["node-1"]
- 注意事项
root用户是不能直接启动elasticsearch的,需要创建新用户,然后切换用户去启动elasticsearch。
groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch
cd /home/
chown -R elsearch:elsearch elasticsearch
su elsearch
cd elasticsearch/bin
sh elasticsearch &
需要修改服务器最大链接数:
vim /etc/security/limit.conf
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
编辑sysctl.conf文件
vim /etc/sysctl.conf
vm.max_map_count=655360
-
测试
现在已经配置启动完成,可以在浏览器中输入url,服务器ip:9200看是否能看到如下内容:
elasticsearch部署完成后
3.安装kibana
vi /home/kibana/config/kibana.yml
#新增如下内容:
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200/"]
# elasticsearch.url: "http://192.168.153.135:9200"
kibana.index: ".kibana"
- 启动kibana
cd /home/kibana/bin
sh kibana --allow-root &
-
测试
在浏览器中输入ip:5601查看kibana是否启动成功
kibana安装成功
4.安装logstash
cd logstash/bin
#新建文件logstash.conf
vim logstash.conf
input {
file {
path => "/var/log/messages"
type => "system"
start_position => "beginning"
}
}
output {
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "nagios-system-%{+YYYY.MM.dd}"
}
}
启动logstash:sh logstash -f logstash.conf &
5.配置kibana
Index Management
create Index Patterns
这样ELK的环境就搭建完成了。