一喉钢、ELK應(yīng)用場(chǎng)景
復(fù)雜的企業(yè)應(yīng)用服務(wù)集群中整葡,日志的類型多種多樣件余,不易歸檔不說(shuō),還不容易監(jiān)控遭居。無(wú)論是誰(shuí)都很難準(zhǔn)確定位服務(wù)器上的各種問(wèn)題啼器,也沒(méi)有能夠高效搜索日志定位問(wèn)題的方式方法。ELK就提供了這樣一個(gè)功能魏滚,能夠搜索各個(gè)服務(wù)器的日志信息并且提供圖形化界面做數(shù)據(jù)展示和分析镀首。
二、ELK日志系統(tǒng)介紹
簡(jiǎn)寫 | 全稱 | 簡(jiǎn)介 | 作用 |
---|---|---|---|
E | Elasticsearch | 開(kāi)源分布式搜索引擎鼠次,提供存儲(chǔ)更哄、分析、搜索的功能腥寇。 | 搜集日志數(shù)據(jù)并提供給kibana查詢分析 |
L | Logstash | 日志搜集分析過(guò)濾框架成翩,支持多種數(shù)據(jù)輸入輸出格式 | 用于收集日志,對(duì)日志進(jìn)行過(guò)濾及格式化輸出到elasticsearch |
K | Kibana | 開(kāi)源的圖形化展示系統(tǒng) | 對(duì)elasticsearch提供的數(shù)據(jù)進(jìn)行可視化分析 |
三赦役、Beats介紹
由于Logstash對(duì)資源消耗較大麻敌,因此引進(jìn)了輕量級(jí)日志采集框架Beats,主要包括以下六種:
名稱 | 功能 |
---|---|
Packetbeat | 用于收集網(wǎng)絡(luò)流量數(shù)據(jù) |
Heartbeat | 用于運(yùn)行時(shí)間監(jiān)控 |
Filebeat | 用于搜集文件數(shù)據(jù) |
Winlogbeat | 用于搜集windows事件數(shù)據(jù) |
Metricbeat | 用于指標(biāo)數(shù)據(jù) |
Auditbeat | 用于審計(jì)數(shù)據(jù) |
四掂摔、ELK環(huán)境搭建(非集群)
1.安裝JDK
- 使用yum查看JDK版本
yum search java|grep -i --color JDK
- 使用yum命令安裝jdk
yum install java-1.8.0-openjdk*
- 查看jdk安裝位置
ls -l /usr/lib/jvm
- 編輯環(huán)境變量
vi /etc/profile
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/toos.jar
export JAVA_HOME CLASSPATH PATH
source /etc/profile #生效環(huán)境配置
2.安裝Elasticsearch
- 下載路徑:
elasticsearch
kibana
logstash - 解壓安裝包
tar -zxvf elasticsearch-7.4.0-linux-x86_64.tar.gz
- 修改elasearch配置文件
vim /home/elasticsearch/config/elasticsearch.yml
#添加以下內(nèi)容
network.host: 0.0.0.0
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
node.name: node-1
cluster.initial_master_nodes: ["node-1"]
- 注意事項(xiàng)
root用戶是不能直接啟動(dòng)elasticsearch的术羔,需要?jiǎng)?chuàng)建新用戶赢赊,然后切換用戶去啟動(dòng)elasticsearch。
groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch
cd /home/
chown -R elsearch:elsearch elasticsearch
su elsearch
cd elasticsearch/bin
sh elasticsearch &
需要修改服務(wù)器最大鏈接數(shù):
vim /etc/security/limit.conf
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
編輯sysctl.conf文件
vim /etc/sysctl.conf
vm.max_map_count=655360
-
測(cè)試
現(xiàn)在已經(jīng)配置啟動(dòng)完成级历,可以在瀏覽器中輸入url释移,服務(wù)器ip:9200看是否能看到如下內(nèi)容:
3.安裝kibana
vi /home/kibana/config/kibana.yml
#新增如下內(nèi)容:
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200/"]
# elasticsearch.url: "http://192.168.153.135:9200"
kibana.index: ".kibana"
- 啟動(dòng)kibana
cd /home/kibana/bin
sh kibana --allow-root &
-
測(cè)試
在瀏覽器中輸入ip:5601查看kibana是否啟動(dòng)成功
4.安裝logstash
cd logstash/bin
#新建文件logstash.conf
vim logstash.conf
input {
file {
path => "/var/log/messages"
type => "system"
start_position => "beginning"
}
}
output {
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "nagios-system-%{+YYYY.MM.dd}"
}
}
啟動(dòng)logstash:sh logstash -f logstash.conf &
5.配置kibana
這樣ELK的環(huán)境就搭建完成了。