簡單舉例通過Kibana給運維展示直觀精美的圖形
阿新 • • 發佈:2018-03-10
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給運維展示直觀精美的圖形