運維監控系統之Open-Falcon
一、Open-Falcon介紹
1、監控系統,可以從運營級別(基本配置即可),以及應用級別(二次開發,通過埠進行日誌上報),對伺服器、作業系統、中介軟體、應用進行全面的監控,及報警,對我們的系統正常執行的作用非常重要。
2、基礎監控
CPU、Load、記憶體、磁碟、IO、網路相關、核心引數、ss 統計輸出、埠採集、核心服務的程序存活資訊採集、關鍵業務程序資源消耗、NTP offset採集、DNS解析採集,這些指標,都是open-falcon的agent元件直接支援的。
對於這些基礎監控選項全部理解透徹的時刻,也就是對Linux執行原理及命令進階的時刻。
3、第三方監控
術業有專攻,執行在OS上的應用甚多,Open-Falcon的開發團隊不可能把所有的第三方應用的監控全部做完,這個就需要開源社群提供更多的外掛,當前對於很多常用的第三方應用都有相關外掛了。
4、JVM監控
對於Java作為主要開發語言的大多數公司,對於JVM的監控不可或缺。
每個JVM應用的引數,比如GC、類載入、JVM記憶體、程序、執行緒,都可以上報給Falcon,而這些引數的獲得,都可以通過MxBeans實現。
5、業務應用監控
對於業務需要監控的介面,比如響應時間等。可以根據業務的需要,上報相關資料到Falcon,並通過Falcon檢視結果。
二、Zabbix、Nagios、Open-Falcon這3大開源運維監控工具的比較
三、Open-Falcon編寫的整個腦洞歷程
官網:
說明:Open-Falcon部署分為前端(客戶端)和後端(服務端)
四、後端部署(服務端)
1、系統環境
|
2、系統優化
.repo http: //mirrors .aliyun.com /repo/Centos-7 .repo
|
3、軟體環境準備
#安裝 redis
1 |
|
#redis常用命令
|
#啟動redis
|
#安裝mysql
|
#檢查服務
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
4、初始化MySQL表結構(備註:匯入表結構後,注意檢查)
|
#設定資料庫密碼 (備註:使用者名稱:root ,密碼: password )
|
#檢查匯入的資料庫表
|
5、配置Go語言開發環境
#安裝go語言開發包(備註:安裝需要epel源)
1 |
|
#檢查版本
|
#檢視go的安裝路徑
|
#設定環境變數GOROOT和GOPATH
|
6、下載編譯好的二進位制版本
https://github.com/open-falcon/falcon-plus/releases
#開始安裝open-falcon
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
7、修改配置檔案cfg.json
坑:
部分模組依賴連線資料庫,因為如果不修改配置檔案,aggregator模組會出現無法啟動,graph、hbs、nodata、api、alarm模組會出現開啟不報錯但是狀態為開啟失敗的情況。
如果需要每個模組都能正常啟動,需要將上面模組的cfg.json的資料庫資訊進行修改。根據本教程的配置,需要修改配置檔案所在的目錄:
模組 | 配置檔案所在路徑 |
aggregator | /home/work/aggregator/config/cfg.json |
graph | /home/work/graph/config/cfg.json |
hbs | /home/work/hbs/config/cfg.json |
nodata | /home/work/nodata/config/cfg.json |
api | /home/work/api/config/cfg.json |
alarm | /home/work/alarm/config/cfg.json |
1)修改aggregator的配置檔案
vim /home/work/aggregator/config/cfg.json
mysql的root密碼為空,則去掉“password”,若不為空,則用root密碼替換“password”。
2)修改graph的配置檔案
vim /home/work/graph/config/cfg.json
mysql的root密碼為空,則去掉“password”,若不為空,則用root密碼替換“password”。
3)修改hbs的配置檔案
vim /home/work/hbs/config/cfg.json
mysql的root密碼為空,則去掉“password”,若不為空,則用root密碼替換“password”。
4)修改nodata的配置檔案
vim /home/work/nodata/config/cfg.json
mysql的root密碼為空,則去掉“password”,若不為空,則用root密碼替換“password”。
5)修改api的配置檔案
vim /home/work/api/config/cfg.json
mysql的root密碼為空,則去掉“password”,若不為空,則用root密碼替換“password”。
6)修改alarm的配置檔案
vim /home/work/alarm/config/cfg.json
mysql的root密碼為空,則去掉“password”,若不為空,則用root密碼替換“password”。
8、啟動後端模組
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
#更多的命令列工具用法
|
至此後端部署完成。
8、其它用法
#過載配置(備註:修改vi cfg.json配置檔案後,可以用下面命令過載配置)
|
五、前端部署 (備註:在另外一臺伺服器上面操作)
1、建立工作目錄
|
2、克隆前端元件程式碼
|
3、安裝依賴包
|
坑:
|
4、先安裝ez_setup.py,再安裝pip
|
#配置環境變數 (備註:這步不需要操作了)
|
#檢視需要安裝的軟體
|
#利用pip安裝上面這些軟體
|
5、修改配置
#配置說明:
|
#修改方法
|
#啟動服務
|
#訪問網站
http://192.168.1.181:8081
#關於登入賬號的問題或參考FAQ
請自行註冊管理員使用者名稱和密碼
#登入介面
6、其它用法
#以開發者模式啟動
|
#開啟8081埠 (備註:如果關閉了防火牆,則直接忽略這步)
1)防火牆新增8081埠永久開放
firewall-cmd --add-port=8081/tcp --permanent
2)重新載入防火牆配置
firewall-cmd --reload
#停止dashboard執行
1 |
|
#檢視dashboard執行狀態
1 |
|
六、FAQ
- Q: open-falcon v0.2 有管理員帳號嗎?
- A: 可以通過dashboard自行註冊新使用者,第一個使用者名稱為root的帳號會被認為是超級管理員,超級管理員可以設定其他使用者為管理員。
- Q: open-falcon v0.2 dashboard 可以禁止使用者自己註冊嗎?
- A: 可以的,在api元件的配置檔案中,將
signup_disable
配置項修改為true,重啟api即可。