阿修羅監控系統AsuraMonitor

https://github.com/AsuraTeam/monitorjava

運維工做中本身開發的監控系統,功能強大靈活
系統安裝簡單,配置簡單,相比zabbix, nagios,cacti,小米監控等都使用至關簡單。只須要會寫腳本,語言不限就能夠實現任意監控需求。
系統安裝簡單,配置簡單

一、數據採集免配置: agent自發現、agent主動推送, 任何數據自定義腳本
二、可擴展性, 擴展簡單,隨時擴,隨心擴
三、歷史數據查詢, 能夠秒級返回整年數據趨勢圖, 多個指標數據, 趨勢圖更明晰:
3天 7天,15天,30天,60天,90天,120天,180天,240天,360天時間段趨勢
四、架構設計高可用: 整個系統無核心單點,所涉及到的 
負載均衡(nginx, haproxy, lvs)均可以用來負載server端, mysql(無數據壓力,不作數據存儲),
redis(須要高可用配置,推薦使用Codis),
共享存儲設備(本地磁盤,nfs,mfs等).
五、任何數據圖像實時查看,歷史查看功能
六、針對統一系統,基礎監控無需添加配置,自動添加(好比cpu,負載,磁盤使用率,網絡流量,ss狀態信息等,均可以自定義實現)
七、報警組配置,支持微信,釘釘,手機,郵件功能(微信,釘釘須要單獨處理,不是人都有的)
八、分佈式監控,每一個裝agent的都是一個監控系統,除配置外(配置只能在server端完成)
九、自定義數據上報時間,最低5秒上報一次數據
十、不一樣server性能對比,更簡單,更清晰
十一、支持圖像搜索,主機名,ip地址搜索圖像
十二、圖像收藏功能,經常使用的直接在收藏列表點開查看
1三、支持ldap認證登錄
1四、支持任何指標數據多條件篩選排序,資源使用狀況一目瞭然

mysql

歡迎加入 阿修羅監控系統 QQ羣 149469467

總體架構 
p_w_picpath 
ios

監控大盤 

p_w_picpath
報警信息查看

p_w_picpath
圖像展現

p_w_picpath
大圖顯示

p_w_picpath
多維數據顯示(任何機器任何數據組合對比)

p_w_picpath

p_w_picpath

p_w_picpath
指標排序功能

p_w_picpath
圖像搜索功能

p_w_picpath
指標聚合功能,單指標多服務器,平均和求和

p_w_picpath
圖像收藏功能

p_w_picpath
系統概覽

p_w_picpath
報警統計

p_w_picpath
指標報警分析報表

p_w_picpath
監控添加頁面

p_w_picpath
腳本添加頁面

p_w_picpath
nginx


特別注意:本系統不能在公網開放,只能在私有網絡運行,避免數據泄露或篡改


請注意防火牆, 監控上報數據使用 tcp 80端口和udp的50000到50300端口, 請保證agent都能鏈接到server的這些端口




系統組成部分:


一、java環境, jdk1.7
二、tomcat
三、redis
四、mysql數據庫
五、mvn
六、agent
git


運行系統 Centos 6.5 
爲方便使用,軟件包tools/下面已集成mvn, java, redis,tomcat工具,直接可使用, 無需自行下載
github


準備工做:


一、mysql準備好,將cmdb.sql 導入到數據庫
對須要連接的服務器進行受權
mysql>source cmdb.sql mysql>grant select,update,insert,delete on cmdb.* to monitor@你的ip地址 identified by "aZkl299feM";
mysql>flush privileges;
請綁定host os.dbm.com 到你的數據庫的地址
ping os.dbm.com 看是否能解析到你的數據庫IP地址
若是要修改域名請在安裝完成後修改 /home/runtime/tomcat_8081/webapps/ROOT/WEB-INF/classes/jdbc.properties 替換成你本身的域名
二、準備一個redis服務
請綁定host os.redis.com到你的redis地址
ping os.redis.com 看是否能解析到你的redis的IP地址
若是要修改域名請在安裝完成後修改 /home/runtime/tomcat_8081/webapps/ROOT/WEB-INF/classes/system.properties 替換成你本身的域名
三、修改對應的環境變量
四、綁定本機hostname到你的ip地址
五、本系統強制依賴時間,請保證全部服務器時間一致
web



安裝步驟:


一、安裝mysql數據庫
二、安裝jdk7
三、安裝redis服務
四、安裝tomcat
五、安裝mvn
Mysql庫請使用utf8字符集
其中redis, tomcat, mvn,jdk7 能夠直接使用tools裏面的包, 安裝程序統一部署到 /home/runtime 目錄
詳情查看deploy.sh腳本redis


目錄結構:
#ls /home/runtime
jdk7 tomcat_8081 redis maven 數據庫自行配置便可
sql

agent安裝配置


六、安裝agent


一、使用mvn打包, 打包完成後,將target/agent.jar 記錄,稍後會用到
二、程序運行環境在tools/monitor.tar.bz2, 解壓到 /home/runtime/目錄
三、將tools裏面的jdk7解壓並更名爲 /home/runtime/monitor/java/ 目錄
四、修改agent配置文件,將全部v.asura.com替換爲你的服務端的地址,爲方便後期負載,儘可能使用nginx等負載設備, 使用域名形式配置
修改redis.server 和server端使用的redis一致
五、將剛纔的 agent.jar 複製到 /home/runtime/monitor/lib/ 目錄
cp -v agent.jar /home/runtime/monitor/lib/
六、啓動 cd /home/runtime/monitor/bin; sh agent start
七、查看日誌 tail -f /home/runtime/monitor/logs/agent.log數據庫



系統登陸 系統默認密碼用戶名爲 admin admin
登陸後請修改密碼
若是須要ldap登陸,須要修改配置文件進行配置ldap服務信息


配置流程


因系統調用了hostname, 因此請將你的主機名和ip地址作下綁定
示例:
cat /etc/hosts
10.1.1.1 localhost.localhost
10.1.1.1 web_xx_xx

一、配置資源信息
點擊 資源信息->資源配置 配置下列資源數據
該模塊主要是記錄資源數據
一、機房配置(可選)
二、機櫃配置(可選)
三、環境配置
四、業務線配置
五、管理員配置
六、服務器類型配置
七、服務類型配置
八、系統類型配置
以上配置只爲第9條準備
九、服務器配置
二、配置告警相關配置
點擊 監控分析->監控配置->告警發送配置 配置下列信息
注意:發送報警只對組發送
一、配置聯繫組
二、配置聯繫人
三、消息通道配置
消息通道配置默認有郵件和手機的配置模板,自行修改便可
三、其餘更多配置,須要你們共享
四、歡迎共享監控腳本
監控腳本輸出爲json格式:
示例:
[
{
"name":"",
"groups":"",
"status":"",
"ip":"",
"messages":"",
"value":"",
"command":"",
}
]
name 爲指標名字好比 system.load.min1 | system.memrory.used | system.io.r_s.vda 
groups 爲指標所在的組,一個組裏放相關的指標, 好比全部cpu指標都放在cpu組裏 
status 腳本邏輯執行返回狀態, 
1爲正常, 2爲危險,
3爲警告, 4爲未知,
在報警時只有狀態爲2發送報警,其餘狀態不發送報警,在監控全局能夠看到該狀態

ip 可選, 默認腳本返回json沒有ip字段,系統會按請求到數據上報的客戶端地址記錄ip地址
messges 報警信息,可選, 在發送報警時發送的信息,自定義想寫啥寫啥,就是你的報警內容中會出現的文字
value 程序採集指標結果,爲數字類型,不能爲空
command 可選
任何一個腳本只要能返回這樣的一個json格式的數據,就能夠配到監控腳本,開始監控你的系統了
上傳一個CPU類型的數據採集返回值:
[{"status": "1", "name": "system.cpu.user", "messages": "system.cpu.user 5.67", "value": "5.67", "command": "7", "groups": "cpu"}, {"status": "1", "name": "system.cpu.nice", "messages": "system.cpu.nice 0.00", "value": "0.00", "command": "7", "groups": "cpu"}, {"status": "1", "name": "system.cpu.system", "messages": "system.cpu.system 1.08", "value": "1.08", "command": "7", "groups": "cpu"}, {"status": "1", "name": "system.cpu.iowait", "messages": "system.cpu.iowait 0.58", "value": "0.58", "command": "7", "groups": "cpu"}, {"status": "1", "name": "system.cpu.steal", "messages": "system.cpu.steal 0.00", "value": "0.00", "command": "7", "groups": "cpu"}, {"status": "1", "name": "system.cpu.idle", "messages": "system.cpu.idle 92.66", "value": "92.66", "command": "7", "groups": "cpu"}]

配置完以上信息基本就能夠跑演示版本了

演示步驟:
一、首先在服務端訪問 curl http://127.0.0.1:8081/monitor/configure/cache/all 初始化緩存信息二、啓動agent 啓動agent後,稍等一會就能夠看到一個演示版本了

相關文章
相關標籤/搜索