管理站点

对于管理站点, 并没有太复杂的内容, 主要就是对数据库表中的数据进行维护。 
管理的实体有3个 WebSite(站点信息), WebService(站点服务器信息), ErrorEntity(异常信息), 其中WebSite和WebService是一对多的关系。 WebSite和ErrorEntity也是一对多的关系。关于实体的维护就不说了, 这里主要说一下报表的开发。 
在打开后台站点的时候, 我们首先看到的是一张报表,这里采用的组件是百度的echarts, 报表统计的是当天每个时段的异常数量。 
 
这里就是如何把数据库中异常信息按照小时统计出来, 见如下sql
select count(ErrorEntity.id) Cnt,datepart(hh,DateTime) Hour
from ErrorEntity inner join WebSite on WebSite.WebToken = ErrorEntity.WebToken
where WebSite.WebName='{2}' and DateTime between '{0}' and '{1}'
group by datepart(hh,DateTime)
DateTime字段是一个标准的时间格式, datepart函数可以取出小时, 再通过group by 就可以按照小时来统计, 当然取出来的都是有数据的时段, 对于没有数据的时段,我们要将对应到数据置为0。从高性能的角度来讲,这并不是一个好的解决方案, 在数据量巨大时, 查询会慢, 我们可以将统计前置, 在HandleService中, 我们就可以进行统计, 当从Redis中获取一个异常信息时, 按照时间,把他累加到一个数组中, 然后定时同步到数据库中。 或者后台异步统计, 每10分钟生成一次数据, 并插入到临时表,查询从临时表查。 
            var count = new int[];
string siteName = context.Request.QueryString["WebName"] ?? "";
if (siteName != "")
{
IEnumerable<ReportDto> reportDtos =
_reportBusiness.GetList(string.Format(sql, DateTime.Now.ToString("yyyy-MM-dd 00:00:00"),
DateTime.Now.ToString("yyyy-MM-dd 23:59:59"), siteName)); foreach (ReportDto reportDto in reportDtos)
{
count[reportDto.Hour] = reportDto.Cnt;
}
}
context.Response.Write( string.Join(",", count));

.Net分布式异常报警系统-服务端站点管理的更多相关文章

  1. .Net分布式异常报警系统-服务端Service

    服务端的2个Service 1. HandleService: 从Redis中获取异常信息, 入库并发送通知到相关责任人.  2. HealthyCheckService: 对站点指定页面进行模拟访问 ...

  2. .Net分布式异常报警系统-客户端及服务端API

    客户端 客户端的作用就是捕获未处理异常, 发送异常到服务端. 关于捕获未处理异常的方法参考 http://www.cnblogs.com/youring2/archive/2012/04/25/246 ...

  3. .Net分布式异常报警系统-简介

    系统简介 分布式异常报警系统就是收集系统运行过程中产生的未处理异常,检查系统运行的状态,并将异常信息统一发送到服务端,由服务端将信息通知到相关的责任人.  问题 我们在项目开发中可能遇到以下几个问题: ...

  4. .Net分布式异常报警系统-项目介绍

    后台管理  首页统计的是当天每个时段的异常数量, 使用的是echarts组件, 红框所示, 可以选择不同的系统进行查看.     得益于echarts的强大功能, 你可以使用柱状图来查看.     站 ...

  5. 【分布式】Zookeeper服务端启动

    一.前言 前面已经了解了Zookeeper会话相关知识点,接着来学习Zookeeper服务端相关细节. 二.服务端 服务端整体架构如下 Zookeeper服务器的启动,大致可以分为以下五个步骤 1. ...

  6. 分布式监控CAT服务端的本地部署

    一.CAT简介 CAT(Central Application Tracking),是美团点评基于 Java 开发的一套开源的分布式实时监控系统.美团点评基础架构部希望在基础存储.高性能通信.大规模在 ...

  7. .net core 3.0 Signalr - 07 业务实现-服务端 自定义管理组、用户、连接

    Hub的管理 重写OnConnectedAsync 从连接信息中获取UserId.Groups,ConnectId,并实现这三者的关系,存放于redis中 代码请查看 using CTS.Signal ...

  8. puppet开源的软件自动化配置和部署工具——本质就是CS,服务端统一管理配置

    1.  概述 puppet是一个开源的软件自动化配置和部署工具,它使用简单且功能强大,正得到了越来越多地关注,现在很多大型IT公司均在使用puppet对集群中的软件进行管理和部署,如google利用p ...

  9. java.net.SocketException:Software caused connection abort: recv failed 异常分析 +socket客户端&服务端代码

    java.net.SocketException:Software caused connection abort: recv failed 异常分析 分类: 很多的技术 2012-01-04 12: ...

随机推荐

  1. JSP连接数据库

    1.将c3p0-0.9.5.2.jar/mchange-commons-java-0.2.11.jar/ojdbc6.jar三个包放在WEB-INF的lib文件夹下,将web.xml文件放到WEB-I ...

  2. 国内Hadoop应用现状

    Hadoop在国内主要以互联网公司为主,下面主要介绍大规模使用Hadoop或研究Hadoop的公司. 1. 百度 百度在2006年就关注了Hadoop并开始调研和使用,截止2012年,总的集群规模超过 ...

  3. RAID详解[RAID0/RAID1/RAID10/RAID5]

    一.RAID定义RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘 ...

  4. ixgbe rx_missed_errors

    https://communities.intel.com/thread/54600?start=0&tstart=0 I am acquiring 800Mb/sec+ multicast ...

  5. node.js表单——formidable

    node处理表单请求,需要用到formidable包.安装formidable包的命令如下: npm install formidable 安装package的路径分为两种,一种是本地目录,一种是全局 ...

  6. Puppet3在CentOS6.5集群下的安装

    环境:3台主机, IP分别为10.211.55.11.12.13 puppet master安装在10.211.55.11 puppet agent安装在10.211.55.11.12.13 1.安装 ...

  7. django用户登录和注销

    django版本:1.4.21. 一.准备工作 1.新建项目和app [root@yl-web-test srv]# django-admin.py startproject lxysite [roo ...

  8. POJ 1228 Grandpa's Estate --深入理解凸包

    题意: 判断凸包是否稳定. 解法: 稳定凸包每条边上至少有三个点. 这题就在于求凸包的细节了,求凸包有两种算法: 1.基于水平序的Andrew算法 2.基于极角序的Graham算法 两种算法都有一个类 ...

  9. windows 如何查看端口占用情况?

    原文来自:http://www.iteye.com/topic/1117270 开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这 ...

  10. JavaScript语言精粹笔记

    JavaScript语言精粹笔记 掌握语言的每个特性可以让你出风头,但是并不推荐,因为一部分的特性带来的麻烦可能远超本身的价值.正如书中所言,坏的材料并不能雕刻出好的作品,要成为一名更好的程序员,要取 ...