ES负责存储、分析数据,但是这一切前提是需要有数据,ES本身是不能够收集数据的,数据的收集如何来做呢?我们可以通过两个软件来实现数据的收集,那就是:
Logstash:收集、处理数据然后交给ES
Beats:收集数据交给ES
两者不同点在于Logstash能够更像一个数据中转站,它能够收集数据,并且对收集的数据进行处理,所以logstash消耗的计算机资源也是比较大的。Beats只负责收集数据,将数据收集后交给ES,和logstash相比其消耗的计算机资源更少,可以忽略。
一、logstash介绍
logstash是一个开源的数据采集工具,通过数据源采集数据.然后进行过滤,并自定义格式输出到目的地。
数据分为:
- 结构化数据 如:mysql数据库里的表等
- 半结构化数据 如: xml,yaml,json等
- 非结构化数据 如:文档,图片,音频,视频等
logstash可以采集任何格式的数据,当然我们这里主要是讨论采集系统日志,服务日志等日志类型数据。
官方产品介绍:https://www.elastic.co/cn/products/logstash
input插件: 用于导入日志源 (配置必须)
https://www.elastic.co/guide/en/logstash/current/input-plugins.html
filter插件: 用于过滤(不是配置必须的)
https://www.elastic.co/guide/en/logstash/current/filter-plugins.html
output插件: 用于导出(配置必须)
https://www.elastic.co/guide/en/logstash/current/output-plugins.html
二、logstash安装部署
a、安装前准备
机器准备:node3
- 静态IP(要求能上公网,最好用虚拟机的NAT网络类型上网)
- 主机名及主机名绑定
- 关闭防火墙和selinux
- 时间同步
- yum源(centos安装完系统后的默认yum源就OK)
安装前准备参考https://www.zutuanxue.com/home/4/52_138
本文通过自定义脚本init_linux_os.sh脚本来完成
# cat init_linux_os.sh
#!/bin/bash
#Description: initialize linux OS from ZUTUANXUE(http://www.zutuanxue.com)
#Release: 1.0
#Auther: www.zutuanxue.com
#Email:
#OS: Centos 8.X
################
hosts() {
echo "" > /etc/hosts
cat >> /etc/hosts<<EOF
127.0.0.1 localhost
::1 localhost
192.168.98.200 manage01
192.168.98.201 node1
192.168.98.202 node2
192.168.98.203 node3
192.168.98.204 node4
EOF
}
################
cat <<EOF
#Description: initialize linux OS from ZUTUANXUE(http://www.zutuanxue.com)
#Release: 1.0
#Auther: www.zutuanxue.com
#Email:
#OS: Centos 8.X
#1、disable firewall
#2、disable selinux
#3、set chrony client
EOF
#
hosts
#disable fireall
systemctl disable firewalld
systemctl stop firewalld
iptables -F
iptables -t nat -F
#disable selinux
sed -i -r '/SELINUX=/cSELINUX=disabled' /etc/selinux/config
#set chrony client
sed -i.bak '/^pool 2.centos.pool.ntp.org iburst$/s//#/' /etc/chrony.conf
cat >> /etc/chrony.conf <<EOF
server ntp1.aliyun.com
server ntp2.aliyun.com
server ntp3.aliyun.com
server ntp4.aliyun.com
EOF
if systemctl restart chronyd.service;then
echo -e "