Amas:基于大數(shù)據(jù)平臺技術(shù)開發(fā)的統(tǒng)一監(jiān)控平臺
作者:EaconTang
Amas是基于大數(shù)據(jù)平臺技術(shù)開發(fā)的統(tǒng)一監(jiān)控平臺,其特點包括:全維度監(jiān)控指標,覆蓋從操作系統(tǒng)、中間件、大數(shù)據(jù)平臺(Hadoop/Spark/HBase/Kakfa等)到代碼級別、可擴展、自定義的采集框架,支持不同語言(Python/Perl/Shell/...)開發(fā)的采集器等
Amas是什么
Amas是基于大數(shù)據(jù)平臺技術(shù)開發(fā)的統(tǒng)一監(jiān)控平臺,其特點包括:
- 全維度監(jiān)控指標,覆蓋從操作系統(tǒng)、中間件、大數(shù)據(jù)平臺(Hadoop/Spark/HBase/Kakfa等)到代碼級別
- 可擴展、自定義的采集框架,支持不同語言(Python/Perl/Shell/...)開發(fā)的采集器
- 基于OpenTSDB/HBase的海量數(shù)據(jù)存儲架構(gòu),可快速讀寫大量監(jiān)控指標,滿足真實生產(chǎn)環(huán)境
- 清新簡約的Web界面,功能強大但簡單易用
- 基于Python原生multiprocess和async/await實現(xiàn)的分布式異步告警引擎,可水平擴展系統(tǒng)處理能力
- 多渠道、可自定義的通知方式(微信/郵件/Slack/API...)
- 可分組聚合的告警信息,避免海量數(shù)據(jù)監(jiān)控場景下的告警風暴
- 基于Jagger的分布式鏈路追蹤數(shù)據(jù)提取和展示,歷史事件可追溯
- 可對接基于機器學習的異常檢測服務,落地AIOps智能運維
- 微服務架構(gòu),支持docker和docker-compose方式的部署 ...
技術(shù)棧
編程語言:
- (Backend)Python
- (Web)Javascript
Web服務:
- Vue, ECharts, Webpack
- Express(NodeJS)
后臺服務:
- HBase, OpenTSDB, MongoDB, Redis
- Spark, Kafka...
- Jagger, Tornado
- Pandas, Scikit-learn
- Docker, Swarm
服務端運行情況
- Linux(內(nèi)核版本2.6+)
- Centos7(推薦)
Docker快速部署
目前Amas的代碼已經(jīng)通過DockerHub實現(xiàn)自動構(gòu)建,推薦使用docker來快速體驗:
1、安裝docker
2、保存如下shell腳本并執(zhí)行:
- #!/usr/bin/env bash
- # 創(chuàng)建docker網(wǎng)絡
- docker network create amas
- # 運行數(shù)據(jù)庫服務
- # opentsdb(v2.3.0+)
- # mongo(v3.10.0+)
- # redis(v3.10.0+)
- docker run -d -p 4242 : 4242 --name opentsdb --network amas eacon/docker-opentsdb
- docker run -d -p 27017 : 27017 --name mongo --network amas mongo
- docker run -d -p 6379 : 6379 --name redis --network amas redis
- # 運行采集Agent(含Agent Manager):
- docker run -d --name collector --network amas -p 8001 : 8001 eacon/argus_collector
- # 運行告警模塊:
- docker run -d --name alert --network amas eacon/argus_alert
- # 運行統(tǒng)計模塊:
- docker run -d --name statistics --network amas eacon/argus_statistics
- # 運行Web服務:
- docker run -d --name web --network amas -p 8080 : 8080 eacon/argus-web
3、訪問界面:本地8080端口(通過127.0.0.1而不是localhost):http://127.0.0.1:8080
4、初始化:執(zhí)行web容器的命令,初始化默認賬戶(用戶名/密碼:admin/123):
- docker exec -it web init_user
Docker-Compose
如果你使用了docker-compose,可以通過如下方式快速運行:
1、git clone本倉庫:
- git clone https:
- //github.com/amas-eye/amas.git; cd amas/docker/compose/
或者直接獲取文件:
- mkdir amas; cd amas; curl https:
- //raw.githubusercontent.com/amas-eye/amas/master/docker/compose/docker-compose.yml > docker-compose.yml
2、執(zhí)行:
- docker-compose up -d
指標說明
詳見 Metrics.md。
部分功能截圖
Dashboard
監(jiān)控圖表
告警規(guī)則和記錄
Slack通知

調(diào)用鏈
架構(gòu)
- 模塊劃分(對應repo)
- Web服務:argus-web
后臺:
- 采集器:arguscollector
- 告警:argusalert
- 調(diào)用鏈:arguschain
- 統(tǒng)計中心:argusstatistics
- AIOps框架:argus_aiops
項目成員
Amas現(xiàn)由@Eacon和他的開發(fā)團隊負責維護
其他
Amas的內(nèi)部開發(fā)代號為argus,這也會保留在開源項目的源碼中。
ToDoList
- 告警引擎,支持DSL語言定義規(guī)則
- 集成開源的Zabbix、Nagios等監(jiān)控數(shù)據(jù)
- 基于AspectJ的Java字節(jié)碼注入監(jiān)控
- 基于pyrasite的python字節(jié)碼注入監(jiān)控 更多AIOps方案的落地...
責任編輯:未麗燕
來源:
Python中文社區(qū)