Centos6.10下Open-falcon學習記錄(零)——主機監控、Nodata組件、集羣監控

記錄了學習過程,官方文檔地址http://book.open-falcon.org/zh_0_2/usage/getting-started.html

另外還看了Open-falcon作者的寫的設計理念的文,見open-falcon編寫的整個腦洞歷程

1 主機監控

1.1 主機配置

打開Open-falcon的前端頁面http://IP地址:8081,可以看到一個登陸界面,先註冊一個名爲root的root賬戶,然後登陸

切換到Dashboard,可以看到左下方有一系列的主機名,只要主機啓動了open-falcon的agent端並且配置正確,open-falcon就能自動地獲取到主機,主機是用Endpoint表示的,暫且理解爲一個主機的標識

 

這裏的Endpoint,open-falcon會根據agent客戶端目錄下的config/cfg.json配置的hostname來決定,我這裏默認的是localhost.localdomain

當前的Endpoint是IP地址,現在把cfg.json的這一項改成“open-falcon-server”

重啓客戶端,之後就能看見新的endpoint,原來的endpoint數據就終止了。如果客戶端的cfg.json裏沒有配置hostname,open-falcon會用系統的hostname

總結:

  1. cfg.json的hostname配置決定了Endpoint
  2. cfg.json的默認hostname配置爲localhost.localdomain
  3. cfg.json的hostname配置爲空字符串,Endpointsystem.hostname,就是/etc/sysconfig/network裏面配置的那個,就是hostname這個命令的返回值

 

另外,使用http://IP地址:1988,可以看到一個基本的主機信息界面,不要使用https

1.2 監控項

現在來看dashboard右側的Counters,和Zabbix的Item類似,基本就是監控項的意思。Open-falcon的監控項基本不需要自己配置,而是由agent自己決定,但是某些特殊的監控項還是需要手動配置的(例如端口監控,原因見作者的編寫腦洞歷程)

選中左側的Endpoint,再選中要畫圖的Counters,點擊看圖,選擇喜歡的視角,這裏選擇了Endpoint視角,可以按監控項出圖

如果只要看一個監控項的圖,也可以直接點擊Counter的名字,就可以出圖了

Endpoint視角,每個圖對應一個監控項,所有主機的數據都畫在上面

這裏可以看到,上面切換hostname的過程,當新的Endpoint生效,原先的Endpoint數據就終止了

 

1.3 主機組

Open-falcon的模板和主機組是綁定的,這裏面的模板不再包含一組監控項,而是直接包含了一些類似Zabbix的Trigger的東西

模板綁定主機組後,裏面的每個告警策略都會對主機組裏的每個主機生效,目前暫時無法完成一些細粒度的操控

現在切換到HostGroup,新建一個主機組,加號按鈕表示創建,左邊的框寫主機組名字,也是很極簡主義了

現在往組裏添加主機

 

這裏填寫主機名的Endpoint,務必要與Dashboard那裏的Endpoint一直

 

這個提示界面,一開始我還以爲failure了,仔細看看,他會在兩個框裏列出成功和失敗的添加

 

1.4 模板

添加模板,類似主機組的極簡界面

這裏配置一個端口報警,作爲實驗,記得添加報警組,配置完兩個Save按鈕都點一點。端口1000上本來就沒有服務,就會觸發端口1000異常報警。官方給的報警示例是6080端口,我嫌棄麻煩,還要改配置

所有agent上報的metric,官方貼心地給出了一個連接,表示所有metric可以在這裏找https://github.com/open-falcon-archive/agent/tree/master/funcs

我點進去看是agent源碼……行吧

最後,把這個模板綁定到主機組,在HostGroups界面

在紅圈裏的框框輸入模板名字,然後Bind

 

 回到Dashboard界面,可以從Counter裏看到我們剛配置的端口報警,現在點進去沒有數據的,大概等個60秒

 等到出圖後

點Alarm-dashboard

1.5 Nodata配置

這一步我踩了一個巨大的坑,具體細節見我這篇博文

Open-falcon的nodata模塊踩坑經歷——agent.alive/pdl=falcon,module=nodata一直爲-1的問題

Nodata這個組件的作用呢,比如,agent掛掉了,那麼agent.alive返回的肯定是no data,這個無法用大於小於0來判斷,所以需要Nodata組件

在Nodata界面點擊加號添加,配置一下,基本都是默認配置,這樣當機器agent掛掉,agent.alive返回的就是-1,而不是nodata

如果你跟我一樣還沒有設置tag,現在進行到這一步,就不要寫tag,不要按官網教程寫module=nodata,pdl=falcon

 

現在把agent關掉

#關閉agent 
cd ~/open-falcon  #切換到工作目錄
./open-falcon stop agent

等一會,大概三分鐘,打開agent.alive的圖,可以看見如下曲線,agent掛了的時候nodata會給他補-1

 

現在就可以利用這個counter報警了,再新建一個模板(你用之前那個也行)

 不要忘記把模板綁定到主機組,然後靜靜等待,報警很快就來

另外,官方文檔曾經提到nodata設置的週期必須和原監控指標一致

我嘗試了一下把這個nodata的週期設置爲10s,可能是因爲時間比較短,我沒有發現數據上報有問題,留待日後研究

3 集羣聚合

這個我理解就是進行一些集羣級別的數據分析處理,比如一個集羣的平均cpu使用率等等

爲了嚴肅對待我又開了一個虛擬機,安好了agent,姑且認爲他們兩個是一個集羣

注意新機器的agent配置文件要修改,IP地址都要改成open-falcon-server那臺機器的IP,hostname也要修改,不然就無法區分兩臺機器了

啓動agent即可,看一下日誌,沒有報連接錯誤就對了

沒有錯誤是不可能的

這種no route to host錯誤,我估計是防火牆的端口沒有開

去server那臺機子上,打開/etc/sysconfig/iptables文件,添加6030、8433端口的入站規則,並重啓防火牆

#添加-A INPUT -p tcp -m state --state NEW -m tcp --dport 端口號 -j ACCEPT
sudo vim /etc/sysconfig/iptables

#重啓防火牆
sudo service iptables restart

看一下日誌,開始傳遞數據了

Dashboard也可以看到新加入的機器(這臺機器的1988頁面打不開,我猜測是沒有部署前端組件的問題) 。照上面的方法加入主機組

現在開始集羣聚合

 

創建了這樣的監控項,統計集羣裏agent的存活率,就是統計agent沒有掛掉的機器比例,之所以分母設置爲2而不是$#,因爲如果某臺agent掛了,$#就不會去統計他,這樣這個統計項永遠都是100%、

不過這樣寫死集羣數量也不太好,有個宏系統就好了

配置好之後,看一下./open-falcon monitor aggregator的日誌,比較慢,等到日誌寫了開始發送聚合數據再去看,如下圖,他會把分子分母的值,還有計算結果寫在日誌裏

看一下新出來的一個虛擬Endpoint,servers-aggregator,以及新監控配置agent.palive/type=percent

現在關掉一個agent,不能關掉aggregator所在主機的agent,因爲aggregator也要通過agent上報數據

看一下圖,完美的一個折線,說明集羣agent存活率掉到了50%

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章