# AisinGioro
**Repository Path**: codefelix/aisingioro
## Basic Information
- **Project Name**: AisinGioro
- **Description**: AisinGioro 是一款自动运维监控工具,用于监控主机性能参数(心跳、CPU、内存、磁盘、网站连接数),以及网络连通性(Ping、Port、Http),欢迎下载使用,或进行二次开发
- **Primary Language**: C#
- **License**: LGPL-2.1
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 27
- **Forks**: 2
- **Created**: 2018-02-24
- **Last Updated**: 2024-08-22
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# AisinGioro
AisinGioro 是一款自动运维监控工具,用于监控主机性能参数(心跳、CPU、内存、硬盘、网站连接数)、网络连通性(Ping、Port、Http)、监控异常通知,基于B/S架构,主要技术 .Net/C#, SignalR, OWIN, AngularJs, Bootstrap,欢迎下载使用,或进行二次开发。
## 开发环境
Visual Studio 2015,
.Net Framework 4.6.1
## 项目分支介绍
- AisinGiroro.Core **基础库** *C# Library*
- AisinGioro.Server **服务端** *C# WinForm* 接收主机消息,分发消息;自托管前台网站
- AisinGioro.WinAgent **监控代理程序** *C# WinForm* 采集主机性能参数,发送给服务端
- AisinGioro.WebPortal **前台** *HTML5 Dashboard* 接收服务端消息,终端显示,小工具
- AisinGioro.Notify **通知处理程序** 默认是 Telegram
```mermaid
sequenceDiagram
Agent ->> Server: Send p-parameters
Server-->>WebPortal: Receive p-parameters
Server ->> Remote: Net-Monitor Ping/Port/Http request
Remote -->> Server: Net-Monitor Ping/Port/Http response
Server -->> WebPortal: Receive monitor result
WebPortal ->> Server: Toolkit request
Server ->> Remote: Toolkit request
Remote -->> Server: Toolkit response
Server -->> WebPortal: Receive toolkit result
Server -->> Terminal: Notify by Telegram/WeChat/SMS
Note right of Remote: Send notification when monitoring exception occur
```
## 界面展示
 服务端  监控主机代理程序
----------
监控展示网站截图





## 使用配置
**程序配置** 打开服务端 AisinGioro.Server 项目的 config 配置文件:
- configSections/notify 定义了用于发送通知消息(监控对象异常时)的处理程序,默认定义的是 Telegram,可以自定义别的程序,比如微信、短信
- appSettings/WebRootDirectory 前台网站根目录,即 AisinGioro.WebPortal 所在目录(也可以是相对目录)
- appSettings/NotifyEnabled 是否启用消息通知
- notify/option 消息处理程序的配置参数,不通的处理程序根据需求定义不同的参数
**数据源配置**:
AisinGioro.WebPortal/Data 下面是数据源文件
server.json 是要监控的主机列表,id 是主机标识,必须唯一,最好是有意义的字符串
{
"all": [
{
"id": "Office-Windows-10.3.174.171",
"ip": "10.3.174.171"
}
],
"last": "2018-03-09 18:34"
}
monitor.json 是要监控的网络连通性列表,id 是标识必须唯一,type 有 Ping/Port/Http 三种,dest 是目标对象
{
"all": [
{
"id": "NbocK",
"type": "Ping",
"dest": "54.209.17.186"
},
{
"id": "5zswH",
"type": "Port",
"dest": "54.209.17.186:10443"
},
{
"id": "Qe3kU",
"type": "Http",
"dest": "http://sports.qq.com/a/20180318/010508.htm"
}
],
"last": "2018-03-09 18:34"
}
**程序运行:**
服务端:
右键管理员方式运行 AisinGioro.Server.exe,选择本机IP,设定一个端口(默认 9000),点击 Start 开启,成功后可以将窗口隐藏到任务托盘
监控代理程序:
右键管理员方式运行 AisinGioro.WinAgent.exe,输入服务端IP,设置和服务端一样的IP(默认 9000),点击 Connect 连接,成功后可以将窗口隐藏到任务托盘
监控网站:
在本地打开浏览器,监控网站URL格式:http://{server ip}:{port}/wwwroot/,假如服务器的IP是 10.3.174.171,端口9000,那监控网站的地址是 http://10.3.174.171:9000/wwwroot/