Filebeat搜集系统日志和nginx日志

一、Elasticsearch和Kibana安装

ubuntu 172.22.15.240 172.22.15.241 172.22.15.242

1.1、在172.22.15.240安装elasticsearch 和kibana

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.2-amd64.deb
dpkg -i elasticsearch-7.13.2-amd64.deb

1.2、修改elasticsearch配置文件,

vim /etc/elasticsearch/elasticsearch.yml

node.name: node-1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 172.22.15.240,127.0.0.1
http.port: 9200
discovery.seed_hosts: ["172.22.15.240"]
cluster.initial_master_nodes: ["172.22.15.240"]

systemctl restart elasticsearch
其他主机curl 172.22.15.240:9200看下能否正常访问


图片1.png

2.1安装Kibana

wget https://artifacts.elastic.co/downloads/kibana/kibana-7.13.2-amd64.deb
dpkg -I kibana-7.13.2-amd64.deb
在ELK官网找到kibana安装方法,下载deb后dpkg -I xxx.deb
修改kibana.yml文件,配置elasticsearch主机ip和hosts ip改为0.0.0.0方便其他主机访问。
systemctl restart kibana
打开链接 xxxx:5601

kibana.png

首先stack management→索引管理看下索引能不能观察到,
发现→8.X数据视图/7.X索引模式 nginx-access*→创建数据视图
try our sample data→discover→create index pattern→填写time filter field name
点击左侧的discover可以看到

nginx-access-2023-07-07

二、在172.22.15.241安装nginx,安装Filebeat搜集系统日志和nginx日志

通过filebeat分别收集系统日志、nginx-access日志和nginx-error日志
Filebeat 是一个轻量级的日志转发器,用于转发和集中日志数据。以下是如何使用 Filebeat 来收集系统日志、Nginx 访问日志和错误日志,并在 Kibana 中区分它们的方法:

0.安装nginx并将access日志格式修改为json格式

安装Nginx

apt update && apt -y install nginx
修改Nginx配置文件--记得重启
vim /etc/nginx/nginx.conf

    log_format json '{ "time_local": "$time_local", '
                          '"remote_addr": "$remote_addr", '
                          '"referer": "$http_referer", '
                          '"request": "$request", '
                          '"status": $status, '
                          '"bytes": $body_bytes_sent, '
                          '"user_agent": "$http_user_agent", '
                          '"x_forwarded": "$http_x_forwarded_for", '
                          '"up_addr": "$upstream_addr",'
                          '"up_host": "$upstream_http_host",'
                          '"upstream_time": "$upstream_response_time",'
                          '"request_time": "$request_time"'
    ' }';
    access_log /var/log/nginx/access_json.log access_json ;
    #access_log /var/log/nginx/access.log;
   error_log /var/log/nginx/error.log;

默认开启nginx的错误日志,但如果是ubuntu,还需要修改下面行才能记录错误日志
[root@elk-web1 ~]#vim /etc/nginx/sites-available/default

   location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        #try_files $uri $uri/ =404; #将此行注释

systemctl restart nginx
ll /var/log/nginx/
total 1012
-rw-r--r-- 1 root root 1029780 Aug 25 15:34 access_json.log
-rw-r--r-- 1 root root 196 Aug 25 15:34 error.log

1. 安装 Filebeat

首先,确保你已经在你的服务器上安装了 Elasticsearch 和 Kibana。然后安装 Filebeat:
sudo apt-get install filebeat
或者使用其他包管理工具根据你的操作系统。

2. 配置 Filebeat

编辑 Filebeat 配置文件(通常是 /etc/filebeat/filebeat.yml),设置输入和输出:

 yaml
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/syslog
  tags: ["test","syslog"]
  fields:
    log_type: system_log

- type: log
  enabled: true
  paths:
    - /var/log/nginx/access.log
  tags: ["test", "nginx"]
  fields:
    log_type: nginx_access_log

- type: log
  enabled: true
  paths:
    - /var/log/nginx/error.log
  tags: ["nginx-error"]
  fields:
    log_type: nginx_error_log

output.elasticsearch:
  hosts: ["172.22.15.240:9200"]

setup.kibana:
  host: "172.22.15.240:5601"

在这个配置中,我们为每种日志类型定义了一个 input,并为它们指定了不同的 tags
fields。这些 tagsfields 将在 Kibana 中用于区分日志。

3. 启动 Filebeat

启动 Filebeat 服务,以便它开始收集和发送日志:
sudo systemctl start filebeat
确保 Filebeat 在系统启动时自动运行:
sudo systemctl enable filebeat

4. 在 Kibana 中创建索引模式

在 Kibana 中,你需要创建索引模式来匹配 Filebeat 发送到 Elasticsearch 的日志:

  1. 打开 Kibana。
  2. 转到“管理”>“索引模式”。
  3. 点击“创建索引模式”。
  4. 输入索引模式的名称,例如 filebeat-*
  5. 选择相应的时间字段(通常是 @timestamp)。
  6. 点击“下一步”并确认创建。

5. 在 Kibana 中区分日志

一旦创建了索引模式,你就可以在 Kibana 中区分不同类型的日志:

  1. 发现(Discover)
    • 选择相应的索引模式(例如 filebeat-*)。
    • 使用搜索栏来过滤日志,例如,你可以搜索 tags: "nginx" AND "access" 来只查看 Nginx
      访问日志。
  2. 可视化(Visualize)
    • 创建可视化时,选择相应的索引模式。
    • 你可以使用桶(Buckets)和指标(Metrics)来创建图表,比如按照 fields.log_type
      行分组。
  3. 仪表板(Dashboard)
    • 创建一个仪表板,将相关的可视化集合在一起。
    • 你可以为每种日志类型创建不同的面板,并在仪表板上清晰地展示它们。

通过以上步骤,你可以在 Kibana 中有效地管理和分析来自不同源的日志数据。记得根据你
的实际日志路径和需求调整 Filebeat 配置。
tags: "test" AND tags: "syslog" AND "@timestamp": ["2023-01-01T16:13:20" TO "2023-01-01T16:13:21"] AND message: "error"


示例1.png

示例2.png

示例3.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,324评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,356评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,328评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,147评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,160评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,115评论 1 296
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,025评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,867评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,307评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,528评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,688评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,409评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,001评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,657评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,811评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,685评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,573评论 2 353

推荐阅读更多精彩内容

  • 第一章 ELK简介 E: elasticsearch 存储数据 javaL: ...
    斗魂_2e5d阅读 469评论 0 0
  • ELK(es,filebeat,kibana,logstash,redis,zookeeper,kafka)部署日...
    呆呆了阅读 949评论 1 2
  • 搭建安全认证的ELK日志系统,其中讲到如何配置logstash的正则提取规则。官网filebeat文档观感最好的文...
    jjf012阅读 2,102评论 0 0
  • 一.ELK简介 二.ELK安装部署 收集nginx日志ESfilebeatkibanaes-head 0.更新系统...
    linux_豪哥阅读 691评论 0 0
  • 扩展结构: 部件介绍 ElasticSearch Elasticsearch 是一个实时的分布式搜索和分析引擎,它...
    天夭夭阅读 3,068评论 1 11