新聞中心
需求
1.開發(fā)人員不能登錄線上服務(wù)器查看日志
2.各個(gè)系統(tǒng)都有日志,日志分散難以查找
3.日志數(shù)據(jù)量大,查找慢,數(shù)據(jù)不夠?qū)崟r(shí)嘉黎網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)建站2013年開創(chuàng)至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
解決辦法:部署ELK平臺(tái)
ELK介紹
ELK是三個(gè)開源軟件的縮寫,分別表示:Elasticsearch , Logstash, Kibana , 它們都是開源軟件。新增了一個(gè)FileBeat,它是一個(gè)輕量級(jí)的日志收集處理工具(Agent),F(xiàn)ilebeat占用資源少,適合于在各個(gè)服務(wù)器上搜集日志后傳輸給Logstash 。
ELK架構(gòu)圖
Elasticsearch簡介:
Elasticsearch是個(gè)開源分布式搜索引擎,提供搜集、分析、存儲(chǔ)數(shù)據(jù)三大功能。
特點(diǎn):分布式,零配置,自動(dòng)發(fā)現(xiàn),索引自動(dòng)分片,索引副本機(jī)制,restful風(fēng)格接口,多數(shù)據(jù)源,自動(dòng)搜索負(fù)載等。
部署Elasticsearch
1.配置yum源
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch #導(dǎo)入密鑰
vim /etc/yum.repos.d/elasticsearch.repo #配置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
2.安裝elasticsearch
yum install elasticsearch -y #安裝elasticsearch
3.配置Elasticsearch
vim /etc/elasticsearch/elasticsearch.yml
cluster.name: yltx #17行 集群名稱
node.name: node1 #23行 節(jié)點(diǎn)名稱
path.data: /data/es-data #33行工作目錄
path.logs: /var/log/elasticsearch #37行日志目錄
bootstrap.memory_lock: true #43行 防止交換swap分區(qū)
network.host: 0.0.0.0 #54行 監(jiān)聽網(wǎng)絡(luò)
http.port: 9200 #58行 端口
mkdir -p /data/es-data
chown -R elasticsearch:elasticsearch /data/es-data/
4.內(nèi)存解鎖和文件限制
生產(chǎn)環(huán)境中必須要修改(注意)
vim /etc/security/limits.conf
末尾插入
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited
* soft nofile 65535
* hard nofile 65535
systemctl start elasticsearch.service #啟動(dòng)服務(wù)
netstat -ntap | grep 9200
ps -ef |grep elasticsearch
網(wǎng)頁測(cè)試:http://192.168.0.102:9200/
安裝Elasticsearch – head插件
/usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head
網(wǎng)頁訪問:
http://192.168.0.102:9200/_plugin/head/
Logstash 介紹:
Logstash 主要是用來日志的搜集、分析、過濾日志的工具,支持大量的數(shù)據(jù)獲取方式。一般工作方式為c/s架構(gòu),client端安裝在需要收集日志的主機(jī)上,server端負(fù)責(zé)將收到的各節(jié)點(diǎn)日志進(jìn)行過濾、修改等操作在一并發(fā)往elasticsearch上去。
logstash收集日志基本流程: input-->codec-->filter-->codec-->output
1.input:從哪里收集日志。
2.filter:發(fā)出去前進(jìn)行過濾
3.output:輸出至Elasticsearch或redis消息隊(duì)列
4.codec:輸出至前臺(tái),方便邊實(shí)踐邊測(cè)試
5.數(shù)據(jù)量不大日志按照月來進(jìn)行收集
部署Logstash
1.配置yum源
vim /etc/yum.repos.d/logstash.repo
[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
2.下載安裝logstash
yum install logstash -y
測(cè)試logstash
logstash的基本語法
input {
指定輸入
}output {
指定輸出
}
1.測(cè)試標(biāo)準(zhǔn)輸入輸出
使用rubydebug方式前臺(tái)輸出展示以及測(cè)試
/opt/logstash/bin/logstash -e 'input { stdin {} } output { stdout { codec => rubydebug} }'
hello #輸入hello測(cè)試
2.測(cè)試輸出到文件
/opt/logstash/bin/logstash -e 'input { stdin {} } output { file { path => "/tmp/test-%{+YYYY.MM.dd}.log"} }'
cat /tmp/test-2020.02.17.log
3.開啟日志壓縮
/opt/logstash/bin/logstash -e 'input { stdin {} } output { file { path => "/tmp/test-%{+YYYY.MM.dd}.log.tar.gz" gzip => true } }'
ll /tmp/
4.測(cè)試輸出到elasticsearch
/opt/logstash/bin/logstash -e 'input { stdin {} } output { elasticsearch { hosts => ["192.168.0.102:9200"] index => "logstash-test-%{+YYYY.MM.dd}" } }'
ll /data/es-data/yltx/nodes/0/indices
5.網(wǎng)頁驗(yàn)證
Kibana 簡介
Kibana 也是一個(gè)開源和免費(fèi)的工具,Kibana可以為 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以幫助匯總、分析和搜索重要數(shù)據(jù)日志。
Kibana 部署
1.下載安裝kibana
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.6.0-linux-x86_64.tar.gz
tar zxvf kibana-7.6.0-linux-x86_64.tar.gz -C /opt/
mv /opt/kibana-7.6.0-linux-x86_64/ /usr/local/kibana
2.修改配置
vim /usr/local/kibana/config/kibana.yml
server.port: 5601 #2行 訪問端口
server.host: "0.0.0.0" #5行 監(jiān)聽網(wǎng)絡(luò)
elasticsearch.url: "http://192.168.0.102:9200" #12行 ES地址
kibana.index: ".kibana" #20行
3.啟動(dòng)服務(wù)
/usr/local/kibana/bin/kibana &
netstat -ntap |grep 5601 #查看端口號(hào)
4.網(wǎng)頁驗(yàn)證:
http://192.168.0.102:5601/
測(cè)試 ELK平臺(tái)
收集系統(tǒng)日志和收集java異常日志
1.修改logstash配置文件:
vim /root/file.conf
input {
file {
path => "/var/log/messages" #收集系統(tǒng)日志
type => "system"
start_position => "beginning"
}
file {
path => "/var/log/elasticsearch/yltx.log" #收集java異常日志
type => "es-error"
start_position => "beginning"
codec => multiline {
pattern => "^\["
negate => true
what => "previous"
}
}
}
output {
if [type] == "system" {
elasticsearch {
hosts => ["192.168.0.102:9200"]
index => "system-%{+YYYY.MM.dd}"
}
}
if [type] == "es-error" {
elasticsearch {
hosts => ["192.168.0.102:9200"]
index => "es-error-%{+YYYY.MM.dd}"
}
}
}
2.寫入到elasticsearch中
/opt/logstash/bin/logstash -f /root/file.conf
3.查看Elasticsearch
4.查看Kibana
相關(guān)資料
ELK官網(wǎng):https://www.elastic.co/cn/
中文指南:https://www.gitbook.com/book/chenryn/elk-stack-guide-cn/details
網(wǎng)頁名稱:CentOS8部署ELK日志分析平臺(tái)
轉(zhuǎn)載源于:http://www.dlmjj.cn/article/gsijgd.html