1. 程式人生 > >簡單舉例通過Kibana給運維展示直觀精美的圖形

簡單舉例通過Kibana給運維展示直觀精美的圖形

Kibana elk

關於elk集群搭建請查看:http://blog.51cto.com/linyingyong/2084284

先上一個我最後弄出來的圖形:

技術分享圖片

環境 :

nginx服務器 安裝filebeat

配置:

1.nginx配置

nginx配置日誌格式為json,修改nginx配置文件:


vim /usr/local/nginx/conf/nginx.conf 
在http標簽下添加: 
log_format  logstash_json  '{ "@timestamp": "$time_local", '
                                '"@fields": { '
                                '"remote_addr": "$remote_addr", '
                                '"remote_user": "$remote_user", '
                                '"body_bytes_sent": "$body_bytes_sent", '                                
                                '"request_time": "$request_time", '                                
                                '"status": "$status", '                                
                                '"request": "$request", '                                
                                '"request_method": "$request_method", '                                
                                '"http_referrer": "$http_referer", '                                
                                '"body_bytes_sent":"$body_bytes_sent", '                                
                                '"http_x_forwarded_for": "$http_x_forwarded_for", '                                
                                '"http_user_agent": "$http_user_agent" } }';         
在需要收集日誌server添加以下         access_log  logs/www.access.log  logstash_json;  # logstash_json需要和上面定義名字相同

nginx從新加載,加載,就能看到新生成的日誌就是json格式

/usr/local/nginx/sbin/nginx -t 
/usr/local/nginx/sbin/nginx -s reload

生成後日誌截圖

技術分享圖片

2.安裝配置filebeat



wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.2.2-x86_64.rpm 
rpm -ivh filebeat-6.2.2-x86_64.rpm 
編輯filebeat配置文件 
vim /etc/filebeat/filebeat.yml 
註釋原來的: 

#- type: log 
#  paths:    
#    - /var/log/*.log 

在註釋下面添加自己的定義的log 
- input_type: log  
  paths:      
    - /usr/local/nginx/logs/xxx.access.log   
  json.keys_under_root: true  #收集json格式   
  json.overwrite_keys: true   #收集json格式   
  fields:                   #當我們需要收集多個log並且分開命名需要     
    log_source: zhiliao-www          
  
#-------------------------- Elasticsearch output -------------------------- 
#配置輸出 
setup.template.name: "zhiliao-nginx-01" 
setup.template.pattern: "zhiliao-nginx-01-*" 
output.elasticsearch:      
  hosts: ["192.168.10.63:9200"]      
  index: "zhiliao-nginx-01-%{+yyyy.MM.dd}" 
 
啟動filebeat: /etc/init.d/filebeat start

3. kinaba添加索引



輸入zhiliao-nginx*自動匹配到了目前的索引,點擊next step添加

技術分享圖片技術分享圖片



4.自定義kinaba可視化顯示


網站狀態碼占比舉例

技術分享圖片


選擇pie餅狀圖



技術分享圖片

選擇剛才添加的nginx索引


技術分享圖片

選擇Split Slies

技術分享圖片


Aggregation 選擇 Terms

Field字段選擇 json傳遞過來後的字段,可以在首頁查看到狀態碼是@fields.status

Order By選擇count

Order :Descendi 個數8(這個顯示多少自己定義,狀態碼顯示8個夠了)

Custom Label:狀態碼: (這個是在鼠標放在對應區域顯示)

然後點擊三角箭頭就可以預覽




技術分享圖片

保存自定義的圖表




技術分享圖片

新建一個 Dashboard 加載我們添加的Visualization



技術分享圖片技術分享圖片技術分享圖片技術分享圖片


簡單舉例通過Kibana給運維展示直觀精美的圖形