Skip to content
HouJie edited this page Dec 20, 2019 · 6 revisions

watch_dogs.jpg

Watch_Dogs

Watch_Dogs 是一个CS架构, 底层基于Linux /proc文件系统的, 通过Python实现的远程Linux主机及进程的监控系统. 用户可以通过Web页面轻松地完成对于多台远程Linux主机的资源占用监控、进程资源占用监控、进程管理、日志分析及进程资源预警的功能.

快速入门

  1. 安装部署
  2. 启动
  3. 功能说明
  4. 常见问题
  5. Web API

目录结构说明

.
├── conf                                        // 静态资源
│   ├── ClientSetup.sh                          // 远程客户端安装脚本
│   ├── client_zip.py                           // 远程客户端压缩包制作与更新
│   ├── encrypt.py                              // AES加解密
│   ├── __init__.py                 
│   ├── logger.conf                             // 系统日志配置文件
│   ├── setting.json                            // 系统配置文件
│   ├── setting.py                              // 系统静态资源设置
│   ├── Watch_Dogs-Client.tar.gz                // 远程客户端压缩包 targz
│   ├── Watch_Dogs-Client.zip                   // 远程客户端压缩包 zip
├── Data                                        // 业务逻辑, 数据处理
│   ├── alert_monitor.py                        // 邮件监控预警
│   ├── data.py                                 // 业务逻辑
│   ├── __init__.py 
│   ├── remote_api.py                           // 远程API调用封装
│   ├── remote_control_ssh.py                   // 基于ssh的远程登陆控制
│   ├── send_alert_email.py                     // 发送监控邮件
├── doc                                         // 文档
│   └── Watch_Dogs.postman_collection.json      // 后台API接口(基于POSTMAN生成)
├── handlers                                    // 页面handler
│   ├── alert.py                                // 监控页面
│   ├── host.py                                 // 主机数据
│   ├── index.py                                // 首页
│   ├── __init__.py 
│   ├── manage.py                               // 主机, 进程管理
│   ├── process.py                              // 进程数据
│   └──user.py                                  // 用户管理
├── LICENSE                                     // WTFPL 协议
├── models                                      // models
│   ├── db_opreation_async.py                   // 异步MySQL操作封装
│   ├── db_opreation.py                         // MySQL操作封装
│   ├── __init__.py 
│   └── SQL_generate.py                         // SQL语句生成及管理
├── README.md                                   // README
├── requirements.txt                            // 环境依赖
├── start_server.sh                             // 系统启动脚本
├── static                                      // Web静态资源
│   ├── css
│   ├── fonts
│   ├── img
│   ├── js
│   └── Watch_Dogs.jfif
├── templates                                   // 页面模板
│   ├── 404.html                                        
│   ├── alert_email.html
│   ├── alert.html
│   ├── error.html
│   ├── host.html
│   ├── index.html
│   ├── login.html
│   ├── process.html
│   ├── test.html
│   └── user.html
├── Test                                        // 测试
│   ├── demo_tornado_cookie.py
│   ├── __init__.py
│   ├── str2json.py
│   ├── templates
│   │   ├── index.html
│   │   ├── login.html
│   │   └── logout.html
│   └── test_encrypt.py
├── url.py                                      // 路由设置
├── alert_manage.py                             // 邮件监控预警功能入口
├── client_manage.py                            // 远程客户端监控管理功能入口
├── Watch_Dogs-Server.log                       // 系统日志
└── Watch_Dogs-Server.py                        // Web服务器启动入口

子项目地址

Watch_Dogs 由多个部分组成, 以下是每个部分的源码地址.

  1. Watch_Dogs Server - 服务端, Web服务与远程客户端管理
  2. Watch_Dogs Client - 远程客户端, 实现主机及进程监控 包括一个有关监控原理阐述与实现和单独客户端部署的详尽wiki
  3. Watch_Dogs Database - 数据库, 数据库设计文档及备份
  4. Watch_Dogs - 核心功能代码及文档
  5. Watch_Dogs Doc - 相关文档
  6. Watch_Dogs WebTemplate - 前端模板

项目名称来源

项目名称及LOGO来自于Ubisoft与2014年发布的动作冒险游戏 Watch Dogs

License

WTFPL License

Clone this wiki locally