搭建filebeat+redis+logstash+es+kibana架構(gòu),拓?fù)鋱D參考ELK(3)
在東山等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),網(wǎng)絡(luò)營銷推廣,外貿(mào)營銷網(wǎng)站建設(shè),東山網(wǎng)站建設(shè)費(fèi)用合理。安裝redis,并啟動
(1)準(zhǔn)備安裝和數(shù)據(jù)目錄
[root@es ~]# mkdir -p /opt/redis_cluster/redis_6379/{conf,logs,pid}
(2)下載redis安裝包
這里我已經(jīng)提前下載好了,所以直接跳過此步。如沒有安裝包執(zhí)行下面命名下載。
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
(3)解壓redis到/opt/redis_cluster/
[root@es ~]# tar zxf /media/redis-5.0.7.tar.gz -C /opt/redis_cluster/
[root@es ~]# ln -s /opt/redis_cluster/redis-5.0.7 /opt/redis_cluster/redis
(4)切換目錄安裝redis
[root@es ~]# cd /opt/redis_cluster/redis
[root@es redis]# make && make install
(5)編寫配置文件
[root@es redis]# vim /opt/redis_cluster/redis_6379/conf/6379.conf
添加:
bind 127.0.0.1 192.168.8.1
port 6379
daemonize yes
pidfile /opt/redis_cluster/redis_6379/pid/redis_6379.pid
logfile /opt/redis_cluster/redis_6379/logs/redis_6379.log
databases 16
dbfilename redis.rdb
dir /opt/redis_cluster/redis_6379
(6)啟動當(dāng)前redis服務(wù)
[root@es redis]# redis-server /opt/redis_cluster/redis_6379/conf/6379.conf
web主機(jī)修改filebeat配置文件,output給redis
(參考文檔:https://www.elastic.co/guide/en/beats/filebeat/6.6/index.html)
(1)修改filebeat配置output指向redis,重啟
[root@web ~]# vim /etc/filebeat/filebeat.yml
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/nginx/access.log
json.keys_under_root: true
json.overwrite_keys: true
tags: ["access"]
- type: log
enabled: true
paths:
- /var/log/nginx/error.log
tags: ["error"]
setup.template.settings:
index.number_of_shards: 3
setup.kibana:
output.redis:
hosts: ["192.168.8.1"] //指向redis地址
key: "filebeat"
db: 0
timeout: 5
[root@web ~]# systemctl restart filebeat
(2)es主機(jī)測試訪問網(wǎng)站,登錄redis,查看鍵值
測試前需要先用client主機(jī)ab工具發(fā)出請求,而后使用redis命令查看。
[root@client ~]# ab -n 100 -c 20 http://192.168.8.2/index.html
redis-cli #登錄
keys * #列出所有鍵
type filebeat #filebeat為鍵值名
LLEN filebeat #查看list長度
LRANGE filebeat 0 -1 #查看list所有內(nèi)容
安裝logstash,收集redis的日志,提交給es
(1)安裝logstash
[root@es ~]# rpm -ivh /media/elk-6.6/logstash-6.6.0.rpm
(2)配置logstash
[root@es ~]# vim /etc/logstash/conf.d/redis.conf
添加:
input {
redis {
host =>"192.168.8.1"
port =>"6379"
db =>"0"
key =>"filebeat"
data_type =>"list"
}
}
filter {
mutate {
convert =>["upstream_time","float"]
convert =>["request_time","float"]
}
}
output {
stdout {}
elasticsearch {
hosts =>["http://192.168.8.1:9200"]
index =>"nginx_access-%{+YYYY.MM.dd}"
manage_template =>false
}
}
(3)啟動logstash
執(zhí)行下面命令后,redis中的數(shù)據(jù)將會被取走。
[root@es ~]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/redis.conf &
下圖中看到先執(zhí)行l(wèi)len命令,可以看到數(shù)據(jù)還存在,稍等片刻等待被取走,出現(xiàn)紅框中的內(nèi)容后,再次查看,數(shù)據(jù)已經(jīng)被取走了。
(4)修改logstash配置文件,實(shí)現(xiàn)access和error日志分離
[root@es ~]# vim /etc/logstash/conf.d/redis.conf
添加:
input {
redis {
host =>"192.168.8.1"
port =>"6379"
db =>"0"
key =>"filebeat"
data_type =>"list"
}
}
filter {
mutate {
convert =>["upstream_time","float"]
convert =>["request_time","float"]
}
}
output {
stdout {}
if "access" in [tags] {
elasticsearch {
hosts =>["http://192.168.8.1:9200"]
index =>"nginx_access-%{+YYYY.MM.dd}"
manage_template =>false
}
}
if "error" in [tags] {
elasticsearch {
hosts =>["http://192.168.8.1:9200"]
index =>"nginx_error-%{+YYYY.MM.dd}"
manage_template =>false
}
}
}
[root@es ~]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/redis.conf &
啟動后在client主機(jī)創(chuàng)建多個(gè)連接數(shù)測試,刷新elasticsearch查看請求數(shù)量(數(shù)量較多,稍等片刻)。
[root@client ~]# ab -n 10000 -c 1000 http://192.168.8.2/index.html
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧