日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ELK+Kafka 企业日志收集平台(二)这是原版

發布時間:2024/9/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ELK+Kafka 企业日志收集平台(二)这是原版 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上篇博文主要總結了一下elk、基于kafka的zookeeper集群搭建,以及系統日志通過zookeeper集群達到我們集群的整個過程。下面我們接著下面這個未完成的幾個主題

4.Kibana部署;

5.Nginx負載均衡Kibana請求;

6.案例:nginx日志收集以及MySQL慢日志收集;

7.Kibana報表基本使用;

?

Kibana的部署;

Kibana的作用,想必大家都知道了就是一個展示工具,報表內容非常的豐富;

下面我們在兩臺es上面搭建兩套kibana

1.獲取kibana軟件包

[root@es1 ~]# wget https://download.elastic.co/kibana/kibana/kibana-4.1.2-linux-x64.tar.gz [root@es1 ~]# tar -xf kibana-4.2.0-linux-x64.tar.gz -C /usr/local/

2.修改配置文件

[root@es1 ~]# cd /usr/local/ [root@es1 local]# ln -sv kibana-4.1.2-linux-x64 kibana `kibana' -> `kibana-4.2.0-linux-x64' [root@es1 local]# cd kibana[root@es1 kibana]# vim config/kibana.yml server.port: 5601 #默認端口可以修改的 server.host: "0.0.0.0" #kibana監聽的ip elasticsearch.url: "http://localhost:9200" #由于es在本地主機上面,所以這個選項打開注釋即可

3.提供kibana服務管理腳本,我這里寫了個相對簡單的腳本

[root@es1 config]# cat /etc/init.d/kibana #!/bin/bash #chkconfig: 2345 55 24 #description: kibana service managerKIBBIN='/usr/local/kibana/bin/kibana' LOCK='/usr/local/kibana/locks'START() {if [ -f $LOCK ];thenecho -e "kibana is already \033[32mrunning\033[0m, do nothing."elseecho -e "Start kibana service.\033[32mdone\033[m"cd /usr/local/kibana/binnohup ./kibana & >/dev/nulltouch $LOCKfi }STOP() {if [ ! -f $LOCK ];thenecho -e "kibana is already stop, do nothing."elseecho -e "Stop kibana serivce \033[32mdone\033[m"rm -rf $LOCKps -ef | grep kibana | grep -v "grep" | awk '{print $2}' | xargs kill -s 9 >/dev/nullfi }STATUS() {Port=$(netstat -tunl | grep ":5602")if [ "$Port" != "" ] && [ -f $LOCK ];thenecho -e "kibana is: \033[32mrunning\033[0m..."elseecho -e "kibana is: \033[31mstopped\033[0m..."fi }case "$1" instart)START;;stop)STOP;;status)STATUS;;restart)STOP sleep 2START;;*)echo "Usage: /etc/init.d/kibana (|start|stop|status|restart)";; esac

4.啟動kibana服務

[root@es1 config]# chkconfig --add kibana [root@es1 config]# service kibana start Start kibana service.done [root@es1 config]#

5.服務檢查

[root@es1 config]# ss -tunl | grep "5601" tcp LISTEN 0 511 *:5601 *:* [root@es1 config]#

ok,此時我直接訪問es1這臺主機的5601端口

ok,能成功的訪問5601端口,那我把es1這臺的配置放到es2上面去然后啟動,效果跟訪問es1一樣

Nginx負載均衡kibana的請求

1.在nginx-proxy上面yum安裝nginx

yum install -y nignx

2.編寫配置文件es.conf

[root@saltstack-node1 conf.d]# pwd /etc/nginx/conf.d [root@saltstack-node1 conf.d]# cat es.conf upstream es {server 192.168.2.18:5601 max_fails=3 fail_timeout=30s;server 192.168.2.19:5601 max_fails=3 fail_timeout=30s; }server {listen 80;server_name localhost;location / {proxy_pass http://es/;index index.html index.htm;#authauth_basic "ELK Private";auth_basic_user_file /etc/nginx/.htpasswd;}}

3.創建認證

[root@saltstack-node1 conf.d]# htpasswd -cm /etc/nginx/.htpasswd elk New password: Re-type new password: Adding password for user elk-user [root@saltstack-node1 conf.d]# /etc/init.d/nginx restart Stopping nginx: [ OK ] Starting nginx: [ OK ] [root@saltstack-node1 conf.d]#

4.直接輸入認證用戶及密碼就可訪問啦http://192.168.2.21/

Nginx及MySQL慢日志收集

首先我們在webserver1上面都分別安裝了nginx 及mysql.

1.為了方便nginx日志的統計搜索,這里設置nginx訪問日志格式為json

(1)修改nginx主配置文件

說明:如果想實現日志的報表展示,最好將業務日志直接以json格式輸出,這樣可以極大減輕cpu負載,也省得運維需要寫負載的filter過濾正則。

[root@webserver1 nginx]# vim nginx.conf log_format json '{"@timestamp":"$time_iso8601",''"@version":"1",''"client":"$remote_addr",''"url":"$uri",''"status":"$status",''"domain":"$host",''"host":"$server_addr",''"size":$body_bytes_sent,''"responsetime":$request_time,''"referer": "$http_referer",''"ua": "$http_user_agent"''}';access_log /var/log/access_json.log json;

(2)收集nginx日志和MySQL日志到消息隊列中;這個文件我們是定義在客戶端,即生產服務器上面的Logstash文件哦.

注意:這里剛搭建完畢,沒有什么數據,為了展示效果,我這里導入了線上的nginx和MySQL慢日志

input {file { #從nginx日志讀入type => "nginx-access"path => "/var/log/nginx/access.log"start_position => "beginning"codec => "json" #這里指定 codec格式為json}file { #從MySQL慢日志讀入type => "slow-mysql"path => "/var/log/mysql/slow-mysql.log"start_position => "beginning"codec => multiline { #這里用到了logstash的插件功能,將本來屬于一行的多行日志條目整合在一起,讓他屬于一條 pattern => "^# User@Host" #用到了正則去匹配negate => truewhat => "previous"}} }output { # stdout { codec=> rubydebug }if [type] == "nginx-access" { #通過判斷input中定義的type,來讓它在kafka集群中生成的主題名稱kafka { #輸出到kafka集群bootstrap_servers => "192.168.2.22:9092,192.168.2.23:9092,192.168.2.24:9092" #生產者們topic_id => "nginx-access" #主題名稱compression_type => "snappy" #壓縮類型}}if [type] == "slow-mysql" {kafka {bootstrap_servers => "192.168.2.22:9092,192.168.2.23:9092,192.168.2.24:9092"topic_id => "slow-mysql"compression_type => "snappy"}} }

(3)Logstash 從kafka集群中讀取日志存儲到es中,這里的定義logstash文件是在三臺kafka服務器上面的哦,并且要保持一致,你可以在一臺上面修改測試好之后,拷貝至另外兩臺即可。

input {kafka {zk_connect => "192.168.2.22:2181,192.168.2.23:2181,192.168.2.24:2181"type => "nginx-access"topic_id => "nginx-access"codec => plainreset_beginning => falseconsumer_threads => 5decorate_events => true}kafka {zk_connect => "192.168.2.22:2181,192.168.2.23:2181,192.168.2.24:2181"type => "slow-mysql"topic_id => "slow-mysql"codec => plainreset_beginning => falseconsumer_threads => 5decorate_events => true} }output { # stdout { codec=> rubydebug }if [type] == "nginx-access" {elasticsearch {hosts => ["192.168.2.18:9200","192.168.2.19:9200"]index => "nginx-access-%{+YYYY-MM}"}}if [type] == "slow-mysql" {elasticsearch {hosts => ["192.168.2.18:9200","192.168.2.19:9200"]index => "slow-mysql-%{+YYYY-MM}"}} }

通過上圖可以看到,nginx日志以及MySQL慢日志已經成功抵達es集群

然后我們在kibana上面創建索引就可以啦

(4)創建nginx-access 日志索引

此時就可以看到索引啦

(5)創建MySQL慢日志索引

p

MySQL的索引也出來啦

Kibana報表展示

kibana報表功能非常的強大,也就是可視化;可以制作出下面不同類型的圖形

下面就是我簡單的一些圖形展示

由于篇幅問題,可以看官方介紹。

參考:

https://github.com/liquanzhou/ops_doc/tree/master/Service/kafka

http://www.lujinhong.com/kafka%E9%9B%86%E7%BE%A4%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97.html

http://www.it165.net/admin/html/201405/3192.html

http://blog.csdn.net/lizhitao/article/details/39499283

https://taoistwar.gitbooks.io/spark-operationand-maintenance-management/content/spark_relate_software/zookeeper_install.html

來源:http://blog.sctux.com/?p=451

總結

以上是生活随笔為你收集整理的ELK+Kafka 企业日志收集平台(二)这是原版的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。