亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • 怎么用filebeat收集多個域名網站日志并存儲到不同es索引庫

怎么用filebeat收集多個域名網站日志并存儲到不同es索引庫

發布時間:2022-08-23 13:56:40 來源:億速云 閱讀:173 作者:iii 欄目:開發技術

這篇文章主要介紹“怎么用filebeat收集多個域名網站日志并存儲到不同es索引庫”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“怎么用filebeat收集多個域名網站日志并存儲到不同es索引庫”文章能幫助大家解決問題。

    1.為什么要針對不同的應用系統創建不同的索引

    公司生產環境中一臺機器上一定會運行著多個域名的應用,web應用也是集群的方式,如果filebeat收集來的日志都是分散存儲,且在es上建立的索引也都是分散的,這樣不利于日志的聚合匯總,因此就需要把同一種應用的不同機器上的日志全部采集過來存儲到一個索引庫中,在kibana根據各種條件去匹配

    2.搭建web集群環境

    2.1.環境準備

    IP服務應用
    192.168.81.210nginx01bbs、blog、www
    192.168.81.220nginx02bbs、blog、www

    2.2.web集群部署

    所有節點都按如下配置

    1.安裝nginx
    yum -y install nginx
    2.配置站點配置文件
    cat www.conf 
    server{
    	server_name www.jiangxl.com;
    	listen 80;
    	location ~ / {
    		root /web/www;
    		index index.html;
    	}
    }
    cat bbs.conf 
    server{
    	server_name bbs.jiangxl.com;
    	listen 80;
    	location ~ / {
    		root /web/bbs;
    		index index.html;
    	}
    }
    cat blog.conf 
    server{
    	server_name blog.jiangxl.com;
    	listen 80;
    	location ~ / {
    		root /web/blog;
    		index index.html;
    	}
    }
    3.創建站點路徑
    mkdir /web/{www,bbs,blog} -p
    chown -R nginx.nginx /web/
    echo "www index" > /web/www/index.html
    echo "bbs index" > /web/bbs/index.html
    echo "blog index" > /web/blog/index.html
    4.重載nginx
    nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    systemctl reload nginx
    5.訪問站點
    curl www.jiangxl.com bbs.jiangxl.com blog.jiangxl.com
    www index
    bbs index
    blog index

    怎么用filebeat收集多個域名網站日志并存儲到不同es索引庫

    2.3.配置應用支持json格式的日志輸出

    所有節點都這樣配置

    cat www.conf 
    server{
    	server_name www.jiangxl.com;
    	listen 80;
    	location ~ / {
    		root /web/www;
    		index index.html;
    	}
    	access_log  /var/log/nginx/www_access.log  main;
    }
    cat bbs.conf 
    server{
    	server_name bbs.jiangxl.com;
    	listen 80;
    	location ~ / {
    		root /web/bbs;
    		index index.html;
    	}
    	access_log  /var/log/nginx/bbs_access.log  main;
    }
    cat blog.conf 
    server{
    	server_name blog.jiangxl.com;
    	listen 80;
    	location ~ / {
    		root /web/blog;
    		index index.html;
    	}
    	access_log  /var/log/nginx/blog_access.log  main;
    }

    怎么用filebeat收集多個域名網站日志并存儲到不同es索引庫

    3.配置filebeat實現不同日志對應不同索引

    3.1.實現思路

    **日志索引思路:**如何才能讓filebeat根據不同的日志路徑去創建不同的索引,其實我們可以想一下ls -l命令,使用ls -l命令才能得到文件的詳細信息,但是使用ll也可以得到,這是為什么呢?是由于ll僅僅只是一個別名,我們也可以當成一個標記,ll對應的就是ls -l命令

    那么日志也一樣的,我們可以把www_access.log當成是一個標記,當標記內容為www_access.log時,我們就把他的日志存儲在www_access_xxx的索引庫中

    具體配置:如果一個主機上有多個不同應用的日志需要采集,我們可以定義多個type類型,最后根據定義的標記在indices中進行匹配

    **日志聚合思路:**我們也可以將所有機器的tomcat、nginx日志進行聚合收集,不需要根據應用去區分,而是把所有的tomcat日志收集在一起,這樣便于開發人員去查詢日志,查哪臺主機的就在kibana上進行過濾就行了

    如下圖所示,tomcat就是聚合收集,查哪臺機器的日志就添加一個篩選寫上主機名就可以了

    怎么用filebeat收集多個域名網站日志并存儲到不同es索引庫

    filebeat標記匹配語法:

    filebeat.inputs:
    - type: log 									//一個日志一個type
      enabled: true										//是否寫在es中
      paths:											//日志路徑
        - /var/log/nginx/www_access.log
      json.keys_under_root: true								//開啟json格式解析
      json.overwrite_keys: true  
      tags: ["www"]														//標記內容,在[]里填寫即可
    output.elasticsearch:
      hosts: ["192.168.81.210:9200"]
      indices:													//索引匹配
        - index: "nginx-www-access-%{+yyyy.MM.dd}"					//索引庫名稱
          when.contains:										//匹配什么標記
            tags: "www"											//匹配標記為www的日志

    3.2.配置filebeat不同日志使用不同索引庫

    nginx集群內的所有filebeat都需要如下配置

    vim復制小技巧:復制2-8行的內容,粘貼到第9行的操作命令:在vim命令模式輸入:2,8t9,2,8表示2-8t行復制,9表示粘貼在第九行

    1.配置filebeat
    vim /etc/filebeat/filebeat.yml 
    filebeat.inputs:
    - type: log 
      enabled: true
      paths:
        - /var/log/nginx/www_access.log
      json.keys_under_root: true
      json.overwrite_keys: true  
      tags: ["www"]
    - type: log 
      enabled: true
      paths:
        - /var/log/nginx/bbs_access.log
      json.keys_under_root: true
      json.overwrite_keys: true  
      tags: ["bbs"]
    - type: log 
      enabled: true
      paths:
        - /var/log/nginx/blog_access.log
      json.keys_under_root: true
      json.overwrite_keys: true  
      tags: ["blog"]
    output.elasticsearch:
      hosts: ["192.168.81.210:9200"]
      indices:
        - index: "nginx-www-access-%{+yyyy.MM.dd}"
          when.contains:
            tags: "www"
        - index: "nginx-bbs-access-%{+yyyy.MM.dd}"
          when.contains:
            tags: "bbs"
        - index: "nginx-blog-access-%{+yyyy.MM.dd}"
          when.contains:
            tags: "blog"
    setup.template.name: "nginx"
    setup.template.pattern: "nginx-*"
    setup.template.enabled: false
    setup.template.overwrite: true
    2.重啟filebeat
    systemctl restart filebeat

    怎么用filebeat收集多個域名網站日志并存儲到不同es索引庫

    3.3.在es上查看創建的索引庫

    由于nginx集群相同的應用是要寫在同一個索引庫中的,因此我們要觀察每加一個集群產生的數據變化

    剛配置完nginx01時的樣子

    www:12條 blog:11條 bbs:12條

    怎么用filebeat收集多個域名網站日志并存儲到不同es索引庫

    增加nginx02后的樣子

    訪問nginx02上的應用六七次后,數據明顯發生了變化

    www:19條 blog:18條 bbs:19條

    怎么用filebeat收集多個域名網站日志并存儲到不同es索引庫

    可以具體看索引中的數據,看看是不是對應的日志,完全正確

    怎么用filebeat收集多個域名網站日志并存儲到不同es索引庫

    3.4.在kibana上關聯es索引庫

    3.4.1.創建www索引庫

    點擊Managerment----索引模式---創建索引

    怎么用filebeat收集多個域名網站日志并存儲到不同es索引庫

    字段選擇@timestamp

    怎么用filebeat收集多個域名網站日志并存儲到不同es索引庫

    3.4.2.創建bbs索引庫

    操作與www的一致

    怎么用filebeat收集多個域名網站日志并存儲到不同es索引庫

    3.4.3.創建blog索引庫

    操作與www的一致

    怎么用filebeat收集多個域名網站日志并存儲到不同es索引庫

    3.4.4.所有應用索引庫都一一對應上了

    怎么用filebeat收集多個域名網站日志并存儲到不同es索引庫

    4.在kibana統計日志分析

    4.1.統計nginx01主機www應用200狀態碼數量

    篩選添加:beat.name(主機名)is(是) nginx01(主機名)

    狀態碼(訪問狀態碼) is(是) 200(狀態碼為200)

    怎么用filebeat收集多個域名網站日志并存儲到不同es索引庫

    4.2.統計所有節點訪問狀態碼為200的日志

    只需要添加一個篩選器即可

    篩選添加:狀態碼(訪問狀態碼) is(是) 200(狀態碼為200)

    日志也起到了聚合的作用,所有節點都可以統計

    怎么用filebeat收集多個域名網站日志并存儲到不同es索引庫

    關于“怎么用filebeat收集多個域名網站日志并存儲到不同es索引庫”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    敖汉旗| 托里县| 肥西县| 仁布县| 阿克| 通化县| 木兰县| 陵川县| 峨边| 郁南县| 启东市| 宁蒗| 全南县| 青河县| 二连浩特市| 平昌县| 手游| 左权县| 射阳县| 沭阳县| 汨罗市| 大埔县| 山丹县| 搜索| 临潭县| 罗城| 景泰县| 杂多县| 施甸县| 平顶山市| 云梦县| 界首市| SHOW| 潮州市| 巴彦县| 黄龙县| 永川市| 江永县| 安国市| 高要市| 潼关县|