ELK
什么是ELK
ELK又称ELKstack,官网 https://www.elastic.co/
什么是ELK,通俗来讲,ELK是由是由: Elasticsearch、Logstash、Kibana、三部分组合而成,它们都是开源软件。这三个软件当中,每个软件用于完成不同的功能,他们之间完美衔接,高效的满足了很多场合的应用。是目前主流的一种日志系统。
elasticsearch:
是一个高度可扩展全文搜索和分析引擎,基于Apache Lucene 构建,能对大容量的数据进行接近实时的存储、搜索和分析操作,可以处理大规模日志数据,比如Nginx、Tomcat、系统日志等功能。
Logstash:
数据收集引擎。它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到用户指定的位置;支持普通log、自定义json格式的日志解析。
Kibana
数据分析和可视化平台。通常与 Elasticsearch 配合使用,对其中数据进行搜索、分析和以统计图表的方式展示。
基础环境
这里实验所使用系统CentOS 7.4 x86_64、3G内存、4核处理器
注:这里安装包版本必须一致
1:安装jdk
1. 安装jdk
rpm -ivh jdk-8u131-linux-x64_.rpm
2:安装elasticsearch和基础配置
1. 安装elasticsearch
rpm -ivh elasticsearch-7.3.2-x86_64.rpm
2. 修改配置文件:
vim /etc/elasticsearch/elasticsearch.yml
3. 配置
**集群的名称**
cluster.name: my-application
**节点的名字,在集群中是唯一的**
node.name: node-1
**监听的IP地址(一般写本机)**
network.host: 192.168.131.80 (本机ip)
0.0.0.0(代表所有)
**监听的端口**
http.port: 9200
**发现的集群的其他elasticsearch节点(多个节点用逗号隔开)**
discovery.seed_hosts: ["192.168.189.80"]
cluster.initial_master_nodes: ["node-1"]
**集群中有几个Elasticsearch 运行时,集群恢复正常**
gateway.recover_after_nodes: 2
保存退出
4. 启动Elasticsearch 并设置为开机自启
systemctl start elasticsearch
systemctl enable elasticsearch
5. 查看端口有没有起来
ss -nlt
3:安装kibana和基础配置
1. 安装kibana
rpm -ivh kibana-7.3.2-x86_64.rpm
2. 修改配置文件
vim /etc/kibana/kibana.yml
3. 配置
**监听端口**
server.port: 5601
**监听IP**
server.host: "192.168.131.80"
**elasticsearch服务器地址**
elasticsearch.hosts: ["http://192.168.131.80:9200"]
**设置页面语言为中文**
i18n.locale: "zh-CN"
4. 启动kibana 并设置为开机自启
systemctl start kibana
systemctl enable kibana
5. 查看端口有没有起来
ss -nlt
4:安装logstash和基础配置
1. 安装logstash
rpm -ivh logstash-7.3.2.rpm
2. 修改配置文件
cd /etc/logstash/conf.d/
vim system.conf
3. 配置
input{ \\收集的日志信息
file { \\收集的方式是文件形式
path => "/var/log/messages" \\日志的绝对路径
type => "system-log" \\日志的类型,只是标签的含义,可以自定义名字
start_position => "beginning" \\从日志文件的最开始收集日志
}
}
output{ \\日志的输出
elasticsearch { \\日志输出给elasticsearch
hosts => "192.168.131.80:9200" \\elasticsearch的IP和端口
index => "system-log_%{+YYYY.MM.dd}" \\日志的索引和日期后缀
}
}
4. 给日志文件增加读的权限
chmod +r /var/log/messages
**logstash默认是以其他用户去读取日志,所以给其他用户增加一个读的权限**
5. 启动logstash 并设置为开机自启
systemctl start logstash
systemctl enable logstash
6. 查看端口有没有起来
ss -nlt
5:浏览器访问,创建索引,查询日志!
各个服务启动后,浏览器访问kibana(ip:5601),创建索引然后就可以查询日志了!
6:各个服务监听端口
elasticsearch:
9200 节点监听端口
9300 集群监听端口
kibana: 5601
logstash: 9600