文章目錄
ELK部分文章是需要配套一起看纔可以完整了解這塊的搭建使用,目前文檔將搭建和使用分篇來介紹,通過ELK文檔中入口來找到你想要的部分內容。
解壓安裝包
cd /home/elk/heartbeat
tar -xvf heartbeat-7.4.0-linux-x86_64.tar.gz # 解壓文件到當前目錄,可以通過 -C 來指定解壓目錄
配置屬性
完整的樣例(針對修改的部分內容提供,默認的內容就不粘貼).這裏的用法和同系列的Filebeat及其相似,索引部分和kibana的配置完全一樣,區別在於Heartbeat針對服務(Http、Tcp、Icmp)而heartbeat針對日誌文件
#=========================== Heartbeat =============================
#Http配置樣
- type: http
#名稱做顯示用,該信息可以是任意字符,暫未驗證其長度限制
name: "mmp-cloud"
#必須是可以get訪問並且返回200狀態碼的地址
urls: ["http://ip:port/login"]
#訪問頻率控制
schedule: '@every 10s'
#Tcp配置樣
- type: tcp
#名稱做顯示用,該信息可以是任意字符,暫未驗證其長度限制
name: "uat-redis"
#必須是可以telnet通的地址
hosts: ["ip:port","ip:port"]
schedule: '@every 60s'
#基於icmp協議的配置樣例,ping就是基於該協議實現的,可以簡單的理解爲這種協議就是ping
- type: icmp
#名稱做顯示用,該信息可以是任意字符,暫未驗證其長度限制,icmp模式一般就寫ip
name: "xxx.xxx.xxx.xxx"
#確保該ip對應的地址和部署heartbeat的服務器網絡通暢
hosts: ["ip"]
#這個頻率這塊的配置信息和其他兩種協議不一樣,形似cron表達式,具體參考https://github.com/gorhill/cronexpr#implementation
schedule: '* */10 * * * * *'
#==================== Elasticsearch template setting ==========================
setup.template:
enabled: true
name: "uat-heartbeat"
pattern: "uat-heartbeat-*"
#-------------------------- Elasticsearch output ------------------------------
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["ip:port"]
index: "%{[fields][indexprefix]}-heartbeat-%{[agent.version]}-%{+yyyy.MM.dd}"
#============================== Kibana =====================================
# Kibana Host
setup.kibana:
host: "ip:port"
heartbeat.yml重要片段
index-lifecycle-management(ILM)策略、自定義索引規則詳細介紹見filebeat部分描述
服務啓動
cd heartbeat-7.4.0-linux-x86_64
#非後臺啓動服務方式
./heartbeat -e -c heartbeat.yml
#後臺啓動服務方式
nohup ./heartbeat -e -c heartbeat.yml &
服務運行情況檢查
#查看服務進程
ps -ef|grep heartbeat
#日誌信息查看
nohup 方式啓動以後原先控制檯的日誌輸出在運行腳本的目錄下的nohup.out文件
tail -fn200 /home/elk/heartbeat//nohup.out
使用過程中出現的問題
配置了icmp協議監控問題
必須使用root賬號啓動,否則服務所需系統權限不足
2019-11-11T14:19:41.929+0800 ERROR instance/beat.go:878 Exiting: could not create monitor: job err failed to initiate IPv4 support
Exiting: could not create monitor: job err failed to initiate IPv4 support
剛開始在使用非root賬號進行安裝操作的時候會提示配置文件權限不滿足要求
Exiting: error loading config file: config file (“heartbeat-7.4.0-linux-x86_64/heartbeat.yml”) must be owned by the user identifier (uid=0) or root
HeartBeat在Kibana上的相關界面
找到Uptime菜單
Uptime主頁面
搜索輸入框
時間輸入框
預設篩選條件
點擊某一個監控配置項查看詳情
參考資料
這篇文章絕大多數內容都是從官網的開發文檔中找到依據,少量的參考其他資料,結合實際驗證而來.官網的相關資料都在上文相應的位置做了鏈接,此處不再重複列舉,提供一個官網地址涵蓋全部官網的參考資料。