ELK是一套完整的日志分析解決方案,由ElasticSearch、Logstash、Kibana這三款開(kāi)源軟件組成。Elasticstash是基于Lucene開(kāi)發(fā)的分布式存儲(chǔ)檢索引擎,用來(lái)存儲(chǔ)各類日志;Logstash對(duì)日志進(jìn)行收集、分析,并將其存儲(chǔ)供以后使用;Kibana是基于Node.js開(kāi)發(fā)的展示工具,為L(zhǎng)ogstash和ElasticSearch提供用于日志展示的Web界面,還用于幫助匯總、分析和搜索重要日志數(shù)據(jù)。
ELK的工作原理如下:
在所有需要收集日志的服務(wù)上部署Logstash,作為L(zhǎng)ogstash agent用于監(jiān)控并過(guò)濾所收集的日志,將過(guò)濾后的內(nèi)容整合在一起,最終全部交給ElasticSearch檢索引擎;可以用ElasticSearch進(jìn)行自定義搜索,在通過(guò)kibana結(jié)合自定義搜索內(nèi)容生成圖標(biāo),進(jìn)行日志數(shù)據(jù)展示。
兩臺(tái)CenostOS 7
IP:192.168.80.100 安裝:elasticsearch、logstash、Kibana
IP:192.168.80.110 安裝:elasticsearch
Elasticsearch是實(shí)時(shí)全文搜索和分析引擎,提供搜集、分析、存儲(chǔ)數(shù)據(jù)三大功能;是一套開(kāi)放REST和JAVA API等結(jié)構(gòu)提供高效搜索功能,可擴(kuò)展的分布式系統(tǒng)。它構(gòu)建于Apache Lucene搜索引擎庫(kù)之上。
1、安裝ElasticSearch
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch //安裝elasticsearch的yum源密鑰
vi /etc/yum.repos.d/elasticsearch.repo //配置elasticsearch的yum源
[elasticsearch-2.x]
name=Elasticsearch repository for 2.x packages
baseurl=http://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enable=1
yum install elasticsearch -y //安裝
yum install java -y //安裝java環(huán)境必須是1.8以上
java -version //查看版本
vi /etc/elasticsearch/elasticsearch.yml //修改配置文件
17行 集群名稱
cluster.name: abner
23行 節(jié)點(diǎn)名稱
node.name: linux-node1
33行 修改data和日志存放的路徑
path.data: /data/es-data
path.logs: /var/log/elasticsearch/
43行 防止交換swap分區(qū)
bootstrap.memory_lock: true
54行 開(kāi)啟監(jiān)聽(tīng)網(wǎng)絡(luò)
network.host: 0.0.0.0
58行 開(kāi)啟監(jiān)聽(tīng)的端口
http.port: 9200
mkdir -p /data/es-data //新建data存放目錄
chown -R elasticsearch:elasticsearch /data/es-data //修改目錄權(quán)限
systemctl start elasticsearch //啟動(dòng)服務(wù)
netstat -ntap | grep 9200 //查看端口狀態(tài)
瀏覽器訪問(wèn)測(cè)試頁(yè)192.168.80.100:9200
2、實(shí)現(xiàn)與ElasticSearch交互
第一種:JAVA APO
第二種:RESTful API(通過(guò)json格式 交互)
curl -i -XGET 'http://192.168.80.100:9200/_count?pretty' -d '{
"query": {
"match_all": {}
}
}'
3、安裝elasticsearch-head插件/usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head //安裝插件,該安裝方式是從git的方式拉取的也可以用docker pull
瀏覽器訪問(wèn)測(cè)試插件是否安裝成功http://192.168.80.100:9200/_plugin/head/
4、ElasticSearch集群部署(在另外一臺(tái)虛擬機(jī)上安裝)
1)安裝ElasticSearch(步驟同上)
2)Linux-node1開(kāi)啟集群自動(dòng)發(fā)現(xiàn)機(jī)制vi /etc/elasticsearch/elasticsearch.yml //修改配置文件
systemctl restart elasticsearch //重啟node1服務(wù)
3)Linux-node2開(kāi)啟集群自動(dòng)發(fā)現(xiàn)機(jī)制vi /etc/elasticsearch/elasticsearch.yml //修配置文件
systemctl restart elasticsearch //重啟node2服務(wù)
4)瀏覽器訪問(wèn)會(huì)看到主節(jié)點(diǎn)和副節(jié)點(diǎn)http://192.168.80.100:9200/_plugin/head/
5、安裝監(jiān)控組件/usr/share/elasticsearch/bin/plugin install lmenezes/elasticsearch-kopf //安裝
瀏覽器訪問(wèn)監(jiān)控頁(yè)面http://192.168.80.100:9200/_plugin/kopf/#!/cluster
Logstash是一個(gè)用來(lái)搜集、分析、過(guò)濾日志的工具。它支持幾乎任何類型的日志,包括系統(tǒng)日志、錯(cuò)誤日志和自定義應(yīng)用程序日志。它可以從許多來(lái)源接收日志,這些來(lái)源包括 syslog、消息傳遞(例如 RabbitMQ)和JMX,它能夠以多種方式輸出數(shù)據(jù),包括電子郵件、websockets和Elasticsearch。
1、安裝Logstash
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch //下載yum源密鑰
vim logstash.repo //配置logstash的yum源
[logstash-2.1]
name=Logstash repository for 2.1.x packages
baseurl=http://packages.elastic.co/logstash/2.1/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enable=1
yum install logstash -y //安裝
2、Logstash的使用
ln -s /opt/logstash/bin/logstash /usr/bin/ //對(duì)logstash命令做軟連接
logstash -e 'input { stdin{} } output { stdout{} }' //執(zhí)行l(wèi)ogstash命令定義輸入和輸出流,類似管道
注釋: -e:執(zhí)行操作
input:標(biāo)準(zhǔn)輸入
{ input }:插件
output:標(biāo)準(zhǔn)輸出
{ stdout }:插件
logstash -e 'input { stdin{} } output { stdout{ codec => rubydebug } }' //通過(guò)rubydebug來(lái)輸出下更詳細(xì)的信息
logstash -e 'input { stdin{} } output { elasticsearch { hosts => ["192.168.80.100:9200"] } stdout { codec => rubydebug } }' //輸入到elasticsearch中
http://192.168.80.100:9200/_plugin/head/ //訪問(wèn)elastic的web頁(yè)面查看
3、Logstash配置文件的使用vi 01-logstash.conf //編輯配置文件收集系統(tǒng)日志
input {
file {
path => "/var/log/messages"
type => "system"
start_position => "beginning"
}
}
output {
elasticsearch {
hosts => ["192.168.175.132:9200"]
index => "system-%{+YYYY.MM.dd}"
}
}
logstash -f 01-logstash.conf //指定配置文件進(jìn)行過(guò)濾匹配
vi 02-logstash.conf //編輯配置文件同時(shí)收集系統(tǒng)日志和安全日志
input {
file {
path => "/var/log/messages"
type => "system"
start_position => "beginning"
}
file {
path => "/var/log/secure"
type => "secure"
start_position => "beginning"
}
}
output {
if [type] == "system" {
elasticsearch {
hosts => ["192.168.1.202:9200"]
index => "nagios-system-%{+YYYY.MM.dd}"
}
}
if [type] == "secure" {
elasticsearch {
hosts => ["192.168.1.202:9200"]
index => "nagios-secure-%{+YYYY.MM.dd}"
}
}
}logstash -f 02-logstash.conf //指定配置文件進(jìn)行過(guò)濾匹配
Kibana是一個(gè)基于Web的圖形界面,用于搜索、分析和可視化存儲(chǔ)在 Elasticsearch指標(biāo)中的日志數(shù)據(jù)。它利用Elasticsearch的REST接口來(lái)檢索數(shù)據(jù),不僅允許用戶創(chuàng)建他們自己的數(shù)據(jù)的定制儀表板視圖,還允許他們以特殊的方式查詢和過(guò)濾數(shù)據(jù)。
1、下載安裝Kibana
wget https://download.elastic.co/kibana/kibana/kibana-4.3.1-linux-x64.tar.gz //下載kibana程序包
tar zxvf kibana-4.3.1-linux-x64.tar.gz //解壓
mv kibana-4.3.1-linux-x64/ /usr/local/kibana //將程序包移動(dòng)并且改名
vi /usr/local/kibana/config/kibana.yml //修改配置文件
#服務(wù)端口
server.port: 5601
#服務(wù)地址
server.host: "0.0.0.0"
#elasticsearch對(duì)應(yīng)的地址和端口
elasticsearch.url: "http://192.168.175.132:9200"
#數(shù)據(jù)字段類型
kibana.index: ".kibana"
yum install screen -y //安裝screen,以便于kibana在后臺(tái)運(yùn)行(當(dāng)然也可以不用安裝,用其他方式進(jìn)行后臺(tái)啟動(dòng))
/usr/local/kibana/bin/kibana //啟動(dòng)
netstat -antp |grep 5601 //監(jiān)聽(tīng)端口
2、瀏覽器訪問(wèn)192.168.80.100:5601
填寫(xiě)對(duì)應(yīng)的日志索引
點(diǎn)擊Discover根據(jù)時(shí)間選擇器來(lái)篩選日志
輸出nginx、apache、message、secrue的日志到前臺(tái)展示
1、編輯nginx配置文件,修改以下內(nèi)容(在http模塊下添加)
log_format json '{"@timestamp":"$time_iso8601",''"@version":"1",'
br/>'"@version":"1",'
'"url":"$uri",'
'"status":"$status",'
'"domian":"$host",'
'"host":"$server_addr",'
'"size":"$body_bytes_sent",'
'"responsetime":"$request_time",'
'"referer":"$http_referer",'
'"ua":"$http_user_agent"'
'}';
修改access_log的輸出格式為剛才定義的json
access_log logs/elk.access.log json;
2、修改apache的配置文件
LogFormat "{ \
\"@timestamp\": \"%{%Y-%m-%dT%H:%M:%S%z}t\", \
\"@version\": \"1\", \
\"tags\":[\"apache\"], \
\"message\": \"%h %l %u %t \\"%r\\" %>s %b\", \
\"clientip\": \"%a\", \
\"duration\": %D, \
\"status\": %>s, \
\"request\": \"%U%q\", \
\"urlpath\": \"%U\", \
\"urlquery\": \"%q\", \
\"bytes\": %B, \
\"method\": \"%m\", \
\"site\": \"%{Host}i\", \
\"referer\": \"%{Referer}i\", \
\"useragent\": \"%{User-agent}i\" \
}" ls_apache_json
一樣修改輸出格式為上面定義的json格式
CustomLog logs/access_log ls_apache_json;
3、編輯logstash配置文件,進(jìn)行日志收集vi full.conf //編輯日志收集配置文件
input {
file {
path => "/var/log/messages"
type => "system"
start_position => "beginning"
}
file {
path => "/var/log/secure"
type => "secure"
start_position => "beginning"
}
file {
path => "/var/log/httpd/access_log"
type => "http"
start_position => "beginning"
}
file {
path => "/usr/local/nginx/logs/elk.access.log"
type => "nginx"
start_position => "beginning"
}
}
output {
if [type] == "system" {
elasticsearch {
hosts => ["192.168.80.100:9200"]
index => "nagios-system-%{+YYYY.MM.dd}"
}
}
if [type] == "secure" {
elasticsearch {
hosts => ["192.168.80.100:9200"]
index => "nagios-secure-%{+YYYY.MM.dd}"
}
}
if [type] == "http" {
elasticsearch {
hosts => ["192.168.80.100:9200"]
index => "nagios-http-%{+YYYY.MM.dd}"
}
}
if [type] == "nginx" {
elasticsearch {
hosts => ["192.168.80.100:9200"]
index => "nagios-nginx-%{+YYYY.MM.dd}"
}
}
}
logstash -f /etc/logstash/conf.d/full.conf //運(yùn)行l(wèi)ogstash過(guò)濾日志并且訪問(wèn)elasticsearch的web頁(yè)面查看
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
分享標(biāo)題:搭建ELK實(shí)時(shí)日志分析平臺(tái)-創(chuàng)新互聯(lián)
文章地址:http://vcdvsql.cn/article46/cccieg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、App設(shè)計(jì)、網(wǎng)站改版、品牌網(wǎng)站制作、商城網(wǎng)站、小程序開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容