当前位置: 首页 > news >正文

广州网站设计培训班门户网站建设方案中信息公开

广州网站设计培训班,门户网站建设方案中信息公开,大型网页游戏排行榜,广州网页制作网站维护简介 tsar是淘宝自己开发的一个采集工具#xff0c;主要用来收集服务器的系统信息#xff08;如cpu#xff0c;io#xff0c;mem#xff0c;tcp等#xff09;#xff0c;以及应用数据#xff08;如squid haproxy nginx等#xff09;。收集到的数据存储在磁盘上#…简介 tsar是淘宝自己开发的一个采集工具主要用来收集服务器的系统信息如cpuiomemtcp等以及应用数据如squid haproxy nginx等。收集到的数据存储在磁盘上可以随时查询历史信息输出方式灵活多样另外支持将数据存储到mysql中也可以将数据发送到nagios报警服务器。tsar在展示数据时可以指定模块并且可以对多条信息的数据进行merge输出带–live参数可以输出秒级的实时信息。 总体架构 Tsar是基于模块化设计的程序程序有两部分组成框架和模块。 框架程序源代码主要在src目录而模块源代码主要在modules目录中。 框架提供对配置文件的解析模块的加载命令行参数的解析应用模块的接口对模块原始数据的解析与输出。 模块提供接口给框架调用。 tsar依赖与cron每分钟执行采集数据因此它需要系统安装并启用crond安装后tsar每分钟会执行tsar –cron来定时采集信息并且记录到原始日志文件。 环境安装 wget -O tsar.zip https://github.com/alibaba/tsar/archive/master.zip --no-check-certificateunzip tsar.zipcd tsarmakemake install 环境配置 1、/etc/cron.d/tsar [rootlocalhost ~]# cat /etc/cron.d/tsar      MAILTO* * * * * root /usr/bin/tsar --cron /dev/null 21 如上所示/etc/cron.d/tsar里面负责每分钟以root用户的角色调用tsar命令来执行数据采集。 2、/etc/logrotate.d/tsar [rootlocalhost ~]# cat /etc/logrotate.d/tsar/var/log/tsar.data{monthlyrotate 120createnocompressnodateextnotifemptyprerotate/usr/bin/chattr -a /var/log/tsar.dataendscriptpostrotate/usr/bin/chattr a /var/log/tsar.dataendscript} 在日志文件轮转配置中每个月会把tsar的本地存储进行轮转此外这里也设定了数据在/var/log/tsar.data下 3、etc/tsar/tsar.conf [rootlocalhost ~]# cat /etc/tsar/tsar.confdebug_level ERRORmod_cpu onmod_mem onmod_swap onmod_tcp onmod_udp onmod_traffic onmod_io onmod_pcsw onmod_partition onmod_tcpx onmod_load onmod_apache offmod_lvs offmod_haproxy offmod_squid offmod_nginx offmod_swift offmod_swift_code offmod_swift_domain offmod_swift_esi offmod_swift_fwd offmod_swift_store offmod_swift_swapdir offmod_swift_purge offmod_swift_sys offmod_swift_tcmalloc offmod_tmd offmod_percpu offmod_tcprt offmod_proc off pidnamemod_pharos offmod_tmd4 offmod_keyserver offoutput_interface fileoutput_file_path /var/log/tsar.dataoutput_stdio_mod mod_swap,mod_partition,mod_cpu,mod_mem,mod_lvs,mod_haproxy,mod_traffic,mod_squid,mod_load,mod_tcp,mod_udp,mod_tcpx,mod_apache,mod_pcsw,mod_io,mod_percpuinclude /etc/tsar/conf.d/*.conf /etc/tsar/tsar.conf 负责tsar的采集模块和输出的具体配置在这里配置启用哪些模块输出等内容。模块路径/usr/local/tsar/modules各个模块的动态库so文件 [rootlocalhost modules]# ls -lttotal 1136-rwxr-xr-x 1 root root 15472 Jul  3 22:06 mod_ts_err.so-rwxr-xr-x 1 root root 14747 Jul  3 22:06 mod_ts_os.so-rwxr-xr-x 1 root root 14772 Jul  3 22:06 mod_ts_storage.so-rwxr-xr-x 1 root root 10606 Jul  3 22:06 mod_udp.so-rwxr-xr-x 1 root root 15215 Jul  3 22:06 mod_ts_client.so-rwxr-xr-x 1 root root 16195 Jul  3 22:06 mod_ts_codes.so-rwxr-xr-x 1 root root 15241 Jul  3 22:06 mod_ts_conn.so-rwxr-xr-x 1 root root 14633 Jul  3 22:06 mod_tcpx.so-rwxr-xr-x 1 root root 16708 Jul  3 22:06 mod_tmd4.so-rwxr-xr-x 1 root root 15627 Jul  3 22:06 mod_tmd.so-rwxr-xr-x 1 root root 11658 Jul  3 22:06 mod_traffic.so-rwxr-xr-x 1 root root 14969 Jul  3 22:06 mod_ts_cache.so-rwxr-xr-x 1 root root 22694 Jul  3 22:06 mod_swift_swapdir.so-rwxr-xr-x 1 root root 25332 Jul  3 22:06 mod_swift_sys.so-rwxr-xr-x 1 root root 20436 Jul  3 22:06 mod_swift_tcmalloc.so-rwxr-xr-x 1 root root 14065 Jul  3 22:06 mod_tcprt.so-rwxr-xr-x 1 root root 13409 Jul  3 22:06 mod_tcp.so命令介绍 在tsar的使用中可以参考下面的帮助信息完成对应的监控。 [rootlocalhost ~]# tsar -hUsage: tsar [options]Options:-check         查看最后一次的采集数据--check/-C     查看最后一次tsar的提醒信息如tsar --check / tsar --check --cpu --io--cron/-c      使用crond模式来进行tsar监控--interval/-i  指明tsar的间隔时间默认单位分钟,带上--live参数则单位是秒--list/-L      列出启用的模块--live/-l      查看实时数据--file/-f      指定输入文件--ndays/-n     指定过去的数据天数默认1天--date/-d      指定日期,YYYYMMDD或者n代表n天前--detail/-D    能够指定查看主要字段还是模块的所有字段--spec/-s      指定字段,tsar –cpu -s sys,utilModules Enabled:--cpu               列出cpu相关的监控计数--mem               物理内存的使用情况--swap              虚拟内存的使用情况--tcp               TCP 协议 IPV4的使用情况--udp               UDP 协议 IPV4的使用情况--traffic           网络传出的使用情况--io                Linux IO的情况--pcsw              进程和上下文切换--partition         磁盘使用情况--tcpx              TCP 连接相关的数据参数--load              系统负载情况 CPU监控 tsar --cpu 如下所示使用参数 --cpu 可以监控系统的cpu参数 user 表示用户空间 cpusys内核空间 cpu 使用情况wait 是 IO 对应的 cpu 使用情况hirq , sirq 分别是硬件中断软件中断的使用情况util 是系统使用 cpu 的总计情况。下表的数据可以看出当前系统已使用大约30%的cpu。 [rootlocalhost ~]# tsar --cpuTime           -----------------------cpu----------------------Time             user     sys    wait    hirq    sirq    util  23/08/15-21:25  23.59    1.71    0.11    0.00    2.68   27.98  23/08/15-21:30  24.11    1.62    0.12    0.00    2.72   28.46  23/08/15-21:35  25.34    1.84    0.09    0.00    2.95   30.13  23/08/15-21:40  23.67    1.64    0.20    0.00    2.59   27.91  23/08/15-21:45  26.20    1.90    0.26    0.00    2.94   31.04  user: 表示CPU执行用户进程的时间,通常期望用户空间CPU越高越好. sys: 表示CPU在内核运行时间,系统CPU占用率高,表明系统某部分存在瓶颈.通常值越低越好. wait: CPU在等待I/O操作完成所花费的时间.系统不应该花费大量时间来等待I/O操作,否则就说明I/O存在瓶颈. hirq: 系统处理硬中断所花费的时间百分比. sirq: 系统处理软中断所花费的时间百分比. util: CPU总使用的时间百分比. nice: 系统调整进程优先级所花费的时间百分比. steal: 被强制等待involuntary wait虚拟CPU的时间,此时hypervisor在为另一个虚拟处理器服务. ncpu: CPU的总个数. CPU的占用率计算都是根据/proc/stat计数器文件而来stat 文件的内容基本格式是 cpu 67793686 1353560 66172807 4167536491 2705057 0 195975 609768 cpu0 10529517 944309 11652564 835725059 2150687 0 74605 196726 cpu1 14380773 127146 13908869 832565666 150815 0 31780 108418 cpu是总的信息cpu0cpu1等是各个具体cpu的信息共有8个值单位是ticks分别是 User time, 67793686 Nice time, 1353560 System time, 66172807 Idle time, 4167536491 Waiting time, 2705057 Hard Irq time, 0 SoftIRQ time, 195975 Steal time, 609768 CPU总时间usersystemniceidleiowaitirqsoftirqStl 各个状态的占用状态的cpu时间CPU总时间100% 比较特殊的是CPU总使用率的计算(util),目前的算法是 util 1 - idle - iowait - steal MEM监控 tsar --mem [rootlocalhost ~]# tsar --memTime -----------------------mem----------------------Time free used buff cach total util 23/08/15-21:25 2.1G 5.7G 0.00 164.0M 8.0G 71.44 23/08/15-21:30 2.1G 5.7G 0.00 181.4M 8.0G 71.43 23/08/15-21:35 2.1G 5.7G 0.00 213.9M 8.0G 71.42 23/08/15-21:40 2.1G 5.7G 0.00 233.8M 8.0G 71.43 23/08/15-21:45 1.4G 5.7G 0.00 924.6M 8.0G 71.43 23/08/15-21:50 1.4G 5.7G 0.00 889.4M 8.0G 71.42free: 空闲的物理内存的大小 used: 已经使用的内存大小 buff: buff使用的内存大小 cach: 操作系统会把经常访问的东西放在cache中加快执行速度 total: 系统总的内存大小 util: 内存使用率 内存的计数器在/proc/meminfo里面有一些关键项 MemTotal: 7680000 kB MemFree: 815652 kB Buffers: 1004824 kB Cached: 4922556 kB 内存使用率的计算算法:util (total - free - buff - cache) / total * 100% LOAD监控 tsar --load [rootlocalhost ~]# tsar --loadTime -------------------load-----------------Time load1 load5 load15 runq plit 23/08/15-21:30 1.32 1.37 1.38 2.00 12.4K 23/08/15-21:35 1.20 1.29 1.34 21.00 12.4K 23/08/15-21:40 1.28 1.25 1.31 2.00 12.4K 23/08/15-21:45 1.44 1.26 1.29 3.00 12.4K 23/08/15-21:50 1.54 1.30 1.29 3.00 12.4K 23/08/15-21:55 0.94 1.36 1.34 4.00 12.4K 23/08/15-22:00 1.10 1.32 1.33 4.00 12.5K load1: 一分钟的系统平均负载 load5: 五分钟的系统平均负载 load15:十五分钟的系统平均负载 runq: 在采样时刻,运行队列的任务的数目,与/proc/stat的procs_running表示相同意思 plit: 在采样时刻,系统中活跃的任务的个数不包括运行已经结束的任务 /proc/loadavg 文件中保存的有负载相关的数据 0.00 0.01 0.00 1/271 23741 分别是1分钟负载五分钟负载十五分钟负载,运行进程总进程最大的pid 只需要采集前五个数据既可得到所有信息 注意只有当系统负载除cpu核数1的时候系统负载较高 IO监控 tsar --io [rootlocalhost ~]# tsar --ioTime ------------------------------------------sda------------------------------------------- Time rrqms wrqms rs ws rsecs wsecs rqsize qusize await svctm util 23/08/15-21:25 0.28 3.4K 184.40 389.25 4.9K 15.0K 35.47 3.00 6.35 0.29 16.44 23/08/15-21:30 0.00 3.2K 109.71 382.74 2.5K 14.5K 35.27 3.00 7.33 0.30 14.68 23/08/15-21:35 0.15 3.1K 156.91 342.16 3.8K 13.8K 36.15 3.00 6.60 0.29 14.37 23/08/15-21:40 0.86 3.3K 234.00 371.43 6.9K 14.6K 36.43 3.00 5.93 0.28 16.83 23/08/15-21:45 0.72 3.4K 376.80 357.13 11.7K 14.8K 37.03 3.00 4.84 0.25 18.50rrqms每秒合并到设备的读取请求数 wrqms每秒合并到设备的写入请求数 rs每秒向设备发出的读取请求数 ws每秒向设备发出的写入请求数 rsecs: 每秒从设备读取的扇区数 wsecs每秒写入设备的扇区数 rqsize发送到设备的请求的平均大小(以扇区为单位) qusize发送到设备的请求的平均队列长度 wait向要服务的设备发出I/O请求的平均时间(以毫秒为单位) svctm发出到设备的I/O请求的平均服务时间(以毫秒为单位) util向设备发出I/O请求的CPU时间百分比 IO的计数器文件是: /proc/diskstats比如 202 0 xvda 12645385 1235409 416827071 59607552 193111576 258112651 3679534806 657719704 0 37341324 717325100202 1 xvda1 421 2203 3081 9888 155 63 421 1404 0 2608 11292每一行字段的含义是: major: 主设备号 minor: 次设备号,设备号是用来区分磁盘的类型和厂家信息 name: 设备名称 rd_ios: 读完成次数 rd_merges: 合并读完成次数,为了效率可能会合并相邻的读和写.从而两次4K的读在它最终被处理到磁盘上之前可能会变成一次8K的读,才被计数(排队),因此只有一次I/O操作 rd_sectors: 读扇区的次数 rd_ticks: 读花费的毫秒数 wr_ios: 写完成次数 wr_merges: 合并写完成次数 wr_sectors: 写扇区次数 wr_ticks: 写花费的毫秒数 cur_ios: 正在处理的输入/输出请求数 ticks: 输入/输出操作花费的毫秒数 aveq: 输入/输出操作花费的加权毫秒数 通过这些计数器可以算出来上面的每个字段的值 double n_ios rd_ios wr_ios; double n_ticks rd_ticks wr_ticks; double n_kbytes (rd_sectors wr_sectors) / 2; st_array[0] rd_merges / (inter * 1.0); st_array[1] wr_merges / (inter * 1.0); st_array[2] rd_ios / (inter * 1.0); st_array[3] wr_ios / (inter * 1.0); st_array[4] rd_sectors / (inter * 2.0); st_array[5] wr_sectors / (inter * 2.0); st_array[6] n_ios ? n_kbytes / n_ios : 0.0; st_array[7] aveq / (inter * 1000); st_array[8] n_ios ? n_ticks / n_ios : 0.0; st_array[9] n_ios ? ticks / n_ios : 0.0; st_array[10] ticks / (inter * 10.0); /* percentage! */ /*st_array分别代表tsar显示的每一个值*/ 注意: 扇区一般都是512字节,因此有的地方除以2了 ws是指真正落到io设备上的写次数 wrqpms是指系统调用合并的写次数它们之间的大小关系没有可比性因为不知道多少请求能够被合并比如发起了100个read系统调用每个读4K假如这100个都是连续的读由于硬盘通常允许最大的request为256KB那么block层会把这100个读请求合并成2个request一个256KB另一个144KBrrqpm/s为100因为100个request都发生了合并不管它最后合并成几个r/s为2因为最后的request数为2 . NET监控 tsar --traffic [rootlocalhost ~]# tsar --trafficTime ---------------------traffic--------------------Time bytin bytout pktin pktout pkterr pktdrp 23/08/15-21:30 548.5K 353.4K 1.0K 1.2K 0.00 0.00 23/08/15-21:35 762.4K 440.4K 1.2K 1.4K 0.00 0.00 23/08/15-21:40 540.2K 344.0K 1.0K 1.1K 0.00 0.00 23/08/15-21:45 640.3K 365.0K 1.1K 1.2K 0.00 0.00 23/08/15-21:50 564.4K 364.1K 1.1K 1.2K 0.00 0.00 23/08/15-21:55 599.8K 327.6K 1.1K 1.1K 0.00 0.00 bytin: 入口流量byte/s bytout: 出口流量byte/s pktin: 入口pkt/s pktout: 出口pkt/s 流量的计数器信息来自/proc/net/dev face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed lo:1291647853895 811582000 0 0 0 0 0 0 1291647853895 811582000 0 0 0 0 0 0 eth0:853633725380 1122575617 0 0 0 0 0 0 1254282827126 808083790 0 0 0 0 0 0 字段的含义第一行已经标示出来每一行代表一个网卡tsar主要采集的是出口和入口的bytespackets 注意tsar只对以eth和em开头的网卡数据进行了采集像lo这种网卡直接就忽略掉了流量的单位是byte tsar --tcp --udp [rootlocalhost ~]# tsar --tcp --udpTime -------------------------------tcp------------------------------ ---------------udp--------------Time active pasive iseg outseg EstRes AtmpFa CurrEs retran idgm odgm noport idmerr 23/08/15-00:05 0.79 1.52 1.6K 2.1K 0.00 0.03 3.4K 0.02 0.00 2.00 0.00 0.00 23/08/15-00:10 0.73 1.40 884.25 921.56 0.00 0.03 3.4K 0.01 0.00 3.00 0.00 0.00 23/08/15-00:15 0.77 1.46 959.62 1.0K 0.00 0.03 3.4K 0.01 0.00 3.00 0.00 0.00 23/08/15-00:20 0.69 1.43 1.0K 1.0K 0.00 0.03 3.4K 0.01 0.00 3.00 0.00 0.00 23/08/15-00:25 0.72 1.42 1.2K 1.1K 0.00 0.03 3.4K 0.00 0.00 3.00 0.00 0.00 TCP: active:主动打开的tcp连接数目 pasive:被动打开的tcp连接数目 iseg: 收到的tcp报文数目 outseg:发出的tcp报文数目 EstRes:Number of resets that have occurred at ESTABLISHED AtmpFa:Number of failed connection attempts CurrEs:当前状态为ESTABLISHED的tcp连接数 retran:系统的重传率UDP: idgm: 收到的udp报文数目 odgm: 发送的udp报文数目 noport:udp协议层接收到目的地址或目的端口不存在的数据包 idmerr:udp层接收到的无效数据包的个数tcp和udp的相关计数器文件是/proc/net/snmp Tcp: RtoAlgorithm RtoMin RtoMax MaxConn ActiveOpens PassiveOpens AttemptFails EstabResets CurrEstab InSegs OutSegs RetransSegs InErrs OutRsts Tcp: 1 200 120000 -1 31702170 14416937 935062 772446 16 1846056224 1426620266 448823 0 5387732Udp: InDatagrams NoPorts InErrors OutDatagrams Udp: 31609577 10708119 0 159885874 我们主要关注其中的ActiveOpens/PassiveOpens/AttemptFails/EstabResets/CurrEstab/InSegs/OutSegs/RetransSegs 主要关注一下重传率的计算方式:retran (RetransSegslast RetransSegs) (OutSegslast OutSegs) * 100% 历史数据回溯 tsar -d  2 -i 1 通过参数-d 2 可以查出两天前到现在的数据-i 1 表示以每次1分钟作为采集显示。 [rootlocalhost ~]# tsar -d 2 -i 1Time ---cpu-- ---mem-- ---tcp-- -----traffic---- --sda--- ---load-Time util util retran bytin bytout util load1 22/08/15-00:02 ------ 71.40 0.03 754.2K 421.4K 14.38 1.59 22/08/15-00:03 34.55 71.41 0.01 773.7K 400.9K 13.39 1.42 22/08/15-00:04 31.80 71.41 0.03 708.6K 391.9K 12.88 1.54 22/08/15-00:05 28.70 71.40 0.00 544.5K 305.9K 11.32 1.68 22/08/15-00:06 25.83 71.41 0.02 521.1K 280.4K 13.32 1.48 22/08/15-00:07 25.68 71.42 0.00 495.0K 265.2K 12.08 1.21 22/08/15-00:08 30.89 71.41 0.01 811.0K 280.1K 14.92 0.92 22/08/15-00:09 23.83 71.41 0.03 636.7K 349.4K 11.81 1.47 实时数据查看 tsar -l -i 1 通过参数 -l 可以查看实时采集数据-i 1 表示以每1s作为采集显示。 [rootlocalhost ~]# tsar -li 1 Time ---cpu-- ---mem-- ---tcp-- -----traffic---- --sda--- ---load- Time util util retran bytin bytout util load1 26/09/23-17:11:03 38.49 36.90 0.01 17.7M 10.1M 6.60 17.47 26/09/23-17:11:04 28.03 36.90 0.00 30.4M 20.5M 3.90 17.47 26/09/23-17:11:05 17.47 36.89 0.01 8.5M 15.3M 0.50 17.47 26/09/23-17:11:06 14.41 36.89 0.01 9.4M 10.8M 1.50 17.47 26/09/23-17:11:07 20.15 36.89 0.00 10.9M 14.0M 0.90 16.87 26/09/23-17:11:08 27.28 36.89 0.00 16.1M 12.5M 1.40 16.87 26/09/23-17:11:09 23.56 36.89 0.01 14.8M 12.7M 1.00 16.87 26/09/23-17:11:10 20.34 36.88 0.03 14.4M 17.6M 0.50 16.87 Nginx监控 tsar --nginx --check -i 30 -l 通过参数 --nginx 可以查看nginx转发数据-i 30 表示以每30s作为采集显示 -l 实时采集数据查看。
http://www.w-s-a.com/news/151338/

相关文章:

  • 建筑设计公司名字起名大全html网站 怎么做seo
  • 网站群建设模板迁移原站迁移pc巩义网站建设案例课堂
  • 烟台高端网站开发wordpress 设置权限
  • 中小企业网站制作流程网站开发和设计人员的岗位要求
  • 公司网站建设多少费用河北城乡建设官网站
  • 国科联创网站建设广告传媒公司招聘信息
  • 网站后台文章删了 怎么前台还有一级做爰片软件网站
  • 辽宁省建设注册中心网站wordpress 博客插件
  • 做电商看的网站有哪些网站建设需求策划书
  • 关于网站建设交易流程的描述一句话哪些网站用户体验好
  • 男女做暖暖的网站大全深圳平台网站建设外包
  • 凯里展示型网站设计抖音代运营收费详细价格
  • 外包网站会自己做原型吗网站制作怎样盈利
  • 为什么在百度搜不到我的网站电商网站开发过程
  • 什么是网站反链网页设计页面链接
  • 佛山企业网站制作韩国seocaso
  • 微信公司网站vue做社区网站
  • 蒙阴网站优化五核网站建设
  • 企业微商城网站建设wordpress新闻是哪个表
  • 重庆网站开发培训机构电商网站创办过程
  • 企业建网站得多少钱长沙财优化公司
  • 网站开发api平台扒完网站代码之后怎么做模板
  • PHP网站建设选择哪家好动画设计师月薪多少
  • 网站如何做市场推广网站开发主要步骤
  • 浏览器正能量网站网页文章导入wordpress
  • 江西中国建设银行网站首页永久免费自助建网站
  • 创建自己网站的步骤吸引人的微信软文
  • 网站建设与网页设计论述题软件开发公司在哪里
  • 二级网站建设方案模板亚马逊网站建设案例
  • 网站开发兼职团队门户网站如何制作