专栏首页Python中文社区Amas:基于大数据平台技术开发的统一监控平台

Amas:基于大数据平台技术开发的统一监控平台

EaconTang

基于大数据平台技术开发的统一监控平台Amas开源项目核心开发者。

GitHub ID:EaconTang

https://github.com/amas-eye/amas

Amas是什么

Amas是基于大数据平台技术开发的统一监控平台,其特点包括:

  1. 全维度监控指标,覆盖从操作系统、中间件、大数据平台(Hadoop/Spark/HBase/Kakfa等)到代码级别
  2. 可扩展、自定义的采集框架,支持不同语言(Python/Perl/Shell/...)开发的采集器
  3. 基于OpenTSDB/HBase的海量数据存储架构,可快速读写大量监控指标,满足真实生产环境
  4. 清新简约的Web界面,功能强大但简单易用
  5. 基于Python原生multiprocess和async/await实现的分布式异步告警引擎,可水平扩展系统处理能力
  6. 多渠道、可自定义的通知方式(微信/邮件/Slack/API...)
  7. 可分组聚合的告警信息,避免海量数据监控场景下的告警风暴
  8. 基于Jagger的分布式链路追踪数据提取和展示,历史事件可追溯
  9. 可对接基于机器学习的异常检测服务,落地AIOps智能运维
  10. 微服务架构,支持docker和docker-compose方式的部署 ...

技术栈

  • 编程语言:
    • (Backend)Python
    • (Web)Javascript
  • Web服务:
    • Vue, ECharts, Webpack
    • Express(NodeJS)
  • 后台服务:
    • HBase, OpenTSDB, MongoDB, Redis
    • Spark, Kafka...
    • Jagger, Tornado
    • Pandas, Scikit-learn
    • Docker, Swarm

服务端运行情况

  • Linux(内核版本2.6+)
  • Centos7(推荐)

Docker快速部署

目前Amas的代码已经通过DockerHub实现自动构建,推荐使用docker来快速体验:

1、安装docker

2、保存如下shell脚本并执行:

#!/usr/bin/env bash

# 创建docker网络
docker network create amas

# 运行数据库服务
# 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

# 运行统计模块:
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、初始化:执行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、执行:

docker-compose up -d

指标说明

详见 Metrics.md。

部分功能截图

Dashboard

监控图表

告警规则和记录

Slack通知

调用链

架构

模块划分(对应repo)

  • Web服务:argus-web
  • 后台: 采集器:arguscollector

告警:argusalert

调用链:arguschain

统计中心:argusstatistics

AIOps框架:argus_aiops

项目成员

Amas现由@Eacon和他的开发团队负责维护

其他

Amas的内部开发代号为argus,这也会保留在开源项目的源码中。

ToDoList

  • 告警引擎,支持DSL语言定义规则
  • 集成开源的Zabbix、Nagios等监控数据
  • 基于AspectJ的Java字节码注入监控
  • 基于pyrasite的python字节码注入监控 更多AIOps方案的落地...

往期开源项目介绍

Python开源项目介绍:用zmail简单地发邮件

Python开源项目介绍:网站日志分析工具

Python中文社区开源项目计划:ImagePy

本文分享自微信公众号 - Python中文社区(python-china),作者:EaconTang

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-05-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 利用docker部署深度学习模型的一个最佳实践

    讲道理,docker是天然的微服务,确实是能敏捷高效的解决深度学习这一块的几个痛点。

    Python中文社区
  • Python机器学习方法智能识别亚马逊验证码

    亚马逊网站验证码全部由英文字母组成,每个字母的形式也是多样的,通过Tesseract-OCR技术识别效率还是比较低,非常不理想。这里采用向量空间技术进行训练识别...

    Python中文社区
  • 遗传算法框架GAFT优化小记

    專 欄 ❈PytLab,Python 中文社区专栏作者。主要从事科学计算与高性能计算领域的应用,主要语言为Python,C,C++。熟悉数值算法(最优化方法,...

    Python中文社区
  • 如何通过kuadm获取当前要安装的k8s所需要的镜像

    kubeadm config images list --kubernetes-version=v1.11.1

    用户1499526
  • 算法集锦(28)| 智能医疗 | 血液细胞分类算法

    AI技术可以说是真正的规则改变者。AI在医疗领域的应用非常广泛,先进的AI工具可以帮助医生和研究人员更好的诊断疾病。比如,某位尼日利亚的医生就可以使用本算法对血...

    用户7623498
  • AkShare-公募基金数据-基金估值

    目标地址: http://fund.eastmoney.com/fundguzhi.html

    AkShare
  • 大规模MIMO,到底是个啥东东?

    MIMO(Multiple-Input Multiple-Output,多输入多输出)

    鲜枣课堂
  • Python数据库编程

      在任何应用中,都需要持久化存储,一般有3种基础的存储机制:文件、数据库系统以及一些混合类型。这种混合类型包括现有系统上的API、ORM、文件管理器、电子表格...

    py3study
  • 如何成为一个C++高级程序员

     C++这门语言从诞生到今天已经经历了将近30个年头。不可否认,它的学习难度都比其它语言较高。而它的学习难度,主要来自于它的复杂性。现在C++的使用范围比以前已...

    程序员互动联盟
  • C++的巅峰如何到达

    C++这门语言从诞生到今天已经经历了将近30个年头。不可否认,它的学习难度都比其它语言较高。而它的学习难度,主要来自于它的复杂性。 现在C++的使用范围比以前已...

    老九君

扫码关注云+社区

领取腾讯云代金券