public void AddCollect(DbConn PubConn, tb_performance_collect_model model)
        {
            SqlHelper.Visit(ps =>
            {
                //服务器id
                ps.Add("@serverid", model.serverid);
                //cpu信息
                ps.Add("@cpu", model.cpu);
                //内存字节
                ps.Add("@memory", model.memory);
                //网络上传字节
                ps.Add("@networkupload", model.networkupload);
                //网络下载字节
                ps.Add("@networkdownload", model.networkdownload);
                //io读字节
                ps.Add("@ioread", model.ioread);
                //io写字节
                ps.Add("@iowrite", model.iowrite);
                //
                ps.Add("@iisrequest", model.iisrequest);
                //创建时间
                ps.Add("@createtime", model.createtime);
                return(PubConn.ExecuteSql(string.Format(@"insert into tb_performance_collect{0}(serverid,cpu,memory,networkupload,networkdownload,ioread,iowrite,iisrequest,createtime)
										   values(@serverid,@cpu,@memory,@networkupload,@networkdownload,@ioread,@iowrite,@iisrequest,@createtime)"                                        , DbShardingHelper.DayRule(DateTime.Now)), ps.ToParameters()));
            });
        }
示例#2
0
        public virtual bool Edit(DbConn PubConn, tb_performance_collect_model model)
        {
            List <ProcedureParameter> Par = new List <ProcedureParameter>()
            {
                //服务器id
                new ProcedureParameter("@serverid", model.serverid),
                //cpu信息
                new ProcedureParameter("@cpu", model.cpu),
                //内存字节
                new ProcedureParameter("@memory", model.memory),
                //网络上传字节
                new ProcedureParameter("@networkupload", model.networkupload),
                //网络下载字节
                new ProcedureParameter("@networkdownload", model.networkdownload),
                //io读字节
                new ProcedureParameter("@ioread", model.ioread),
                //io写字节
                new ProcedureParameter("@iowrite", model.iowrite),
                //
                new ProcedureParameter("@iisrequest", model.iisrequest),
                //创建时间
                new ProcedureParameter("@createtime", model.createtime)
            };

            Par.Add(new ProcedureParameter("@id", model.id));

            int rev = PubConn.ExecuteSql("update tb_performance_collect set serverid=@serverid,cpu=@cpu,memory=@memory,networkupload=@networkupload,networkdownload=@networkdownload,ioread=@ioread,iowrite=@iowrite,iisrequest=@iisrequest,createtime=@createtime where id=@id", Par);

            return(rev == 1);
        }
示例#3
0
        public virtual bool Add(DbConn PubConn, tb_performance_collect_model model)
        {
            List <ProcedureParameter> Par = new List <ProcedureParameter>()
            {
                //服务器id
                new ProcedureParameter("@serverid", model.serverid),
                //cpu信息
                new ProcedureParameter("@cpu", model.cpu),
                //内存字节
                new ProcedureParameter("@memory", model.memory),
                //网络上传字节
                new ProcedureParameter("@networkupload", model.networkupload),
                //网络下载字节
                new ProcedureParameter("@networkdownload", model.networkdownload),
                //io读字节
                new ProcedureParameter("@ioread", model.ioread),
                //io写字节
                new ProcedureParameter("@iowrite", model.iowrite),
                //
                new ProcedureParameter("@iisrequest", model.iisrequest),
                //创建时间
                new ProcedureParameter("@createtime", model.createtime)
            };
            int rev = PubConn.ExecuteSql(@"insert into tb_performance_collect(serverid,cpu,memory,networkupload,networkdownload,ioread,iowrite,iisrequest,createtime)
										   values(@serverid,@cpu,@memory,@networkupload,@networkdownload,@ioread,@iowrite,@iisrequest,@createtime)"                                        , Par);

            return(rev == 1);
        }
示例#4
0
        public virtual tb_performance_collect_model CreateModel(DataRow dr)
        {
            var o = new tb_performance_collect_model();

            //
            if (dr.Table.Columns.Contains("id"))
            {
                o.id = dr["id"].Toint();
            }
            //服务器id
            if (dr.Table.Columns.Contains("serverid"))
            {
                o.serverid = dr["serverid"].Toint();
            }
            //cpu信息
            if (dr.Table.Columns.Contains("cpu"))
            {
                o.cpu = dr["cpu"].Todecimal();
            }
            //内存字节
            if (dr.Table.Columns.Contains("memory"))
            {
                o.memory = dr["memory"].Todecimal();
            }
            //网络上传字节
            if (dr.Table.Columns.Contains("networkupload"))
            {
                o.networkupload = dr["networkupload"].Todecimal();
            }
            //网络下载字节
            if (dr.Table.Columns.Contains("networkdownload"))
            {
                o.networkdownload = dr["networkdownload"].Todecimal();
            }
            //io读字节
            if (dr.Table.Columns.Contains("ioread"))
            {
                o.ioread = dr["ioread"].Todecimal();
            }
            //io写字节
            if (dr.Table.Columns.Contains("iowrite"))
            {
                o.iowrite = dr["iowrite"].Todecimal();
            }
            //
            if (dr.Table.Columns.Contains("iisrequest"))
            {
                o.iisrequest = dr["iisrequest"].Todecimal();
            }
            //创建时间
            if (dr.Table.Columns.Contains("createtime"))
            {
                o.createtime = dr["createtime"].ToDateTime();
            }

            return(o);
        }
        protected override void Run()
        {
            if (GlobalConfig.ClusterModel.ifmonitor == false)
            {
                return;
            }
            tb_performance_collect_model model = new tb_performance_collect_model();

            foreach (var p in pcounts)
            {
                var c = p.Collect();
                //Console.WriteLine(p.Name + ":" + c);
                if (p.Name.Contains("cpu"))
                {
                    model.cpu = (decimal)c;
                }
                else if (p.Name.Contains("内存"))
                {
                    model.memory = (decimal)c;
                }
                else if (p.Name.Contains("网络发送"))
                {
                    model.networkupload = (decimal)c;
                }
                else if (p.Name.Contains("网络下载"))
                {
                    model.networkdownload = (decimal)c;
                }
                else if (p.Name.Contains("物理磁盘读"))
                {
                    model.ioread = (decimal)c;
                }
                else if (p.Name.Contains("物理磁盘写"))
                {
                    model.iowrite = (decimal)c;
                }
                else if (p.Name.Contains("IIS请求"))
                {
                    model.iisrequest = (decimal)c;
                }
            }
            model.serverid   = GlobalConfig.ClusterModel.id;
            model.createtime = DateTime.Now;
            SqlHelper.ExcuteSql(DbShardingHelper.GetDataBase(GlobalConfig.DataBaseConfigModels, DataBaseType.Cluster), (c) =>
            {
                model.createtime = c.GetServerDate();
                tb_performance_collect_dal performancecollectdal = new tb_performance_collect_dal();
                performancecollectdal.AddCollect(c, model);
            });
        }
 public List <tb_performance_collect_model> GetChartJson(DbConn PubConn, string day, string stime, string etime, string keyword)
 {
     return(SqlHelper.Visit(ps =>
     {
         List <tb_performance_collect_model> model = new List <tb_performance_collect_model>();
         string zq = "";
         DateTime dateNow = DateTime.Now;
         if (DateTime.TryParse(day, out dateNow))
         {
             zq = dateNow.ToString("yyyyMMdd");
         }
         else
         {
             zq = DateTime.Now.ToString("yyyyMMdd");
         }
         if (!string.IsNullOrWhiteSpace(stime))
         {
             ps.Add("stime", dateNow.ToString("yyyy-MM-dd ") + stime);
         }
         else
         {
             ps.Add("stime", dateNow.ToString("yyyy-MM-dd 00:00:00"));
         }
         if (!string.IsNullOrWhiteSpace(etime))
         {
             ps.Add("etime", dateNow.ToString("yyyy-MM-dd ") + etime);
         }
         else
         {
             ps.Add("etime", dateNow.ToString("yyyy-MM-dd 23:59:59"));
         }
         ps.Add("keyword", keyword);
         string sql = "select * from tb_performance_collect" + zq + " where serverid=@keyword and createtime between @stime and @etime";
         DataSet ds = new DataSet();
         PubConn.SqlToDataSet(ds, sql, ps.ToParameters());
         foreach (DataRow dr in ds.Tables[0].Rows)
         {
             tb_performance_collect_model m = CreateModel(dr);
             m.nodenotes = m.createtime.ToString("HH:mm:ss fff");
             model.Add(m);
         }
         return model;
     }));
 }
        public List <tb_performance_collect_model> GetList(DbConn PubConn, string serverid, string serverip, string timebegin, string timeend, string orderby, int pagesize, int pageindex, out int count)
        {
            int    _count  = 0;
            string connday = "";

            if (!string.IsNullOrWhiteSpace(timeend))
            {
                connday = DateTime.Parse(timeend).ToString("yyyyMMdd");
            }
            List <tb_performance_collect_model> model = new List <tb_performance_collect_model>();
            DataSet dsList = SqlHelper.Visit <DataSet>(ps =>
            {
                string sqlwhere = " where 1=1 ";
                DateTime date   = DateTime.Now;
                if (!string.IsNullOrWhiteSpace(serverid))
                {
                    ps.Add("serverid", serverid);
                    sqlwhere += " and p.serverid =@serverid ";
                }
                if (!string.IsNullOrWhiteSpace(serverip))
                {
                    ps.Add("serverip", serverip);
                    sqlwhere += " and c.serverip =@serverip ";
                }
                if (!string.IsNullOrWhiteSpace(timebegin))
                {
                    ps.Add("timebegin", timebegin);
                    sqlwhere += " and p.createtime >=@timebegin ";
                }
                if (!string.IsNullOrWhiteSpace(timeend))
                {
                    ps.Add("timeend", timeend);
                    sqlwhere += " and p.createtime <=@timeend ";
                }
                string orderbywhere = "p.id";
                if (!string.IsNullOrWhiteSpace(orderby))
                {
                    orderbywhere = " p." + orderby;
                }
                StringBuilder sql = new StringBuilder();
                sql.Append("select ROW_NUMBER() over(order by " + orderbywhere + " desc) as rownum,p.*,c.serverip,c.servername from tb_performance_collect" + connday + " p with (nolock) right join dyd_bs_monitor_platform_manage.dbo.tb_cluster c with (nolock) on p.serverid=c.id");
                _count        = Convert.ToInt32(PubConn.ExecuteScalar("select count(1) from tb_performance_collect" + connday + " p with (nolock) right join dyd_bs_monitor_platform_manage.dbo.tb_cluster c with (nolock) on p.serverid=c.id" + sqlwhere, ps.ToParameters()));
                DataSet ds    = new DataSet();
                string sqlSel = "select * from (" + sql + sqlwhere + ") A where rownum between " + ((pageindex - 1) * pagesize + 1) + " and " + pagesize * pageindex;
                PubConn.SqlToDataSet(ds, sqlSel, ps.ToParameters());
                return(ds);
            });

            foreach (DataRow dr in dsList.Tables[0].Rows)
            {
                tb_performance_collect_model m = CreateModel(dr);
                //创建时间
                if (dr.Table.Columns.Contains("serverip"))
                {
                    m.serverip = dr["serverip"].Tostring();
                }
                if (dr.Table.Columns.Contains("servername"))
                {
                    m.servername = dr["servername"].Tostring();
                }
                model.Add(m);
            }
            count = _count;
            return(model);
        }