Elastic Stack之Filebeat

78 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第21天,点击查看活动详情

使用Beat收集nginx日志和指标数据

Nginx是一款非常优秀的web服务器,往往nginx服务会作为项目的访问入口,那么,nginx的性能保障就变得非常重要了,如果nginx的运行出现了问题就会对项目有较大的影响,所以,我们需要对nginx的运行有监控措施,实时掌握nginx的运行情况,那就需要收集nginx的运行指标和分析nginx的运行日志了。

image-20221022095041472.png

  • 通过Beats采集Nginx的指标数据和日志数据
  • Beats采集到数据后发送到Elasticsearch中
  • Kibana读取数据进行分析
  • 用户通过Kibana进行查看分析报表

nginx安装

ubuntu

apt-get install gcc
apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g zlib1g-dev
# Ubuntu14.04的仓库中没有发现openssl-dev,由下面openssl和libssl-dev替代
#apt-get install openssl openssl-dev
sudo apt-get install openssl 
sudo apt-get install libssl-dev
    
    
wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -xvf nginx-1.13.7.tar.gz 
./configure
# 执行make命令
make
# 执行make install命令
make install

之后的操作都在/usr/local/nginx目录中进行

sbin目录启动nginx

conf目录配置nginx

./nginx -V 
./nginx
# 重启nginx
./nginx -s reload

centos7

sudo yum install -y epel-release
sudo yum -y update
sudo yum install -y nginx
安装成功后,默认的网站目录为: /usr/share/nginx/html
​
/var/log/nginx                            目录              Nginx的日志目录
​
默认的配置文件为:/etc/nginx/nginx.conf
​
自定义配置文件目录为: /etc/nginx/conf.d/
​
操作Nginx
1.启动 Nginx
systemctl start nginx
2.停止Nginx
systemctl stop nginx
3.重启Nginx
systemctl restart nginx
4.查看Nginx状态
systemctl status nginx
5.启用开机启动Nginx
systemctl enable nginx
6.禁用开机启动Nginx
systemctl disable nginx
​

blog.csdn.net/qq_38384568…

Filebeat

Filebeat是一个轻量级的日志采集器

  • Filebeat保存每个文件的状态并经常将状态刷新到磁盘上的注册文件中
  • 该状态用于记住harvester正在读取的最后偏移量,并确保发送所有日志行。
  • 如果输出(例如ElasticSearch或Logstash)无法访问,Filebeat会跟踪最后发送的行,并在输出再次可以用时继续读取文件。
  • 在Filebeat运行时,每个prospector内存中也会保存的文件状态信息,当重新启动Filebat时,将使用注册文件的数量来重建文件状态,Filebeat将每个harvester在从保存的最后偏移量继续读取
  • 文件状态记录在data/registry文件中

image-20221022100712394.png

流程如下:

  • 首先是input输入,我们可以指定多个数据输入源,然后通过通配符进行日志文件的匹配
  • 匹配到日志后,就会使用Harvester(收割机),将日志源源不断的读取到来
  • 然后收割机收割到的日志,就传递到Spooler(卷轴),然后卷轴就再将他们传到对应的地方

官网地址:www.elastic.co/cn/download…

统一7.9.1

# 解压文件
tar -zxvf filebeat-7.9.1-linux-x86_64.tar.gz 
# 重命名
mv filebeat-7.9.1-linux-x86_64/ filebeat
# 进入文件夹
cd filebeat
# 创建配置文件
vim mogublog-log.yml
​
./filebeat -e -c mogublog-log.yml #启动

mogublog-log.yml

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /home/ubuntu/logs/*.log
  tags: ["web", "test"]  #添加自定义tag,便于后续的处理
  fields:  #添加自定义字段
    from: test-web
  fields_under_root: true #true为添加到根节点,false为添加到子节点中
setup.template.settings:
  index.number_of_shards: 3
output.console:
  pretty: true
  enable: true

mogublog-nginx.yml

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/nginx/*.log
  tags: ["nginx"]
  fields_under_root: false 
setup.template.settings:
  index.number_of_shards: 1
output.elasticsearch:
  hosts: ["192.168.10.130:9200"]