monitor
monitor copied to clipboard
监控服务器(包括Linux和Windows)的资源:CPU\内存\磁盘IO\网络带宽\端口的连接数\进程级别的CPU使用率和内存占用,请配合前台展示monitorweb使用,效果更佳。
monitor
çæ§æå¡å¨ï¼Linuxï¼çèµæºï¼å æ¬ï¼CPUãå åãç£çIOãç½ç»å¸¦å®½ã端å£çè¿æ¥æ°ãè¿ç¨çCPU使ç¨çãè¿ç¨å åå ç¨
项ç®å为ä¸ä¸ªæ¨¡å
- monitor-agentï¼èµæºééagent
- monitor-daoï¼æ°æ®åºDAO屿ä½
- monitor-webï¼çæ§é¡µé¢å±ç¤º
ä½¿ç¨æ¹æ³
ä¸ãå®è£ MySQL
1.1 åå»ºæ°æ®åºmonitor
1.2 å建表
DROP TABLE IF EXISTS `process_monitor`;
CREATE TABLE `process_monitor` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`localIp` VARCHAR(128) NOT NULL COMMENT 'æå¡å¨ipå°å',
`process_name` VARCHAR(128) NOT NULL COMMENT 'è¿ç¨å',
`pid` INT NOT NULL COMMENT 'è¿ç¨id',
`one_mins_procs` FLOAT NOT NULL DEFAULT 0 COMMENT '1åéè¿ç¨æ°',
`five_mins_procs` FLOAT NOT NULL DEFAULT 0 COMMENT '5åéè¿ç¨æ°',
`fifteen_mins_procs` FLOAT NOT NULL DEFAULT 0 COMMENT '15åéè¿ç¨æ°',
`process_cpu_usage` FLOAT NOT NULL DEFAULT 0 COMMENT 'è¿ç¨cpu使ç¨ç',
`process_memory_usage` FLOAT NOT NULL DEFAULT 0 COMMENT 'è¿ç¨memory使ç¨ç',
`gmt_create` DATETIME DEFAULT NULL COMMENT 'å建æ¶é´',
PRIMARY KEY (`id`)
) ENGINE = INNODB AUTO_INCREMENT = 1 CHARSET = utf8mb4 ROW_FORMAT = COMPACT;
DROP TABLE IF EXISTS `io_monitor`;
CREATE TABLE `io_monitor` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`localIp` VARCHAR(128) NOT NULL COMMENT 'æå¡å¨ipå°å',
`disk_name` VARCHAR(128) NOT NULL COMMENT 'ç£çåç§°',
`await` FLOAT NOT NULL DEFAULT 0 COMMENT 'å¹³åæ¯æ¬¡I/Oè±è´¹çæ¯«ç§æ°',
`svctm` FLOAT NOT NULL DEFAULT 0 COMMENT 'å¹³åæ¯æ¬¡è¾å
¥/è¾åºæä½è±è´¹çæ¯«ç§æ°',
`util` FLOAT NOT NULL DEFAULT 0 COMMENT 'ç£çå©ç¨ç(%)',
`gmt_create` DATETIME DEFAULT NULL COMMENT 'å建æ¶é´',
PRIMARY KEY (`id`)
) ENGINE = INNODB AUTO_INCREMENT = 1 CHARSET = utf8mb4 ROW_FORMAT = COMPACT;
DROP TABLE IF EXISTS `netstat_monitor`;
CREATE TABLE `netstat_monitor` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`localIp` VARCHAR(128) NOT NULL COMMENT 'æå¡å¨ipå°å',
`port` INT NOT NULL DEFAULT 0 COMMENT 'è¢«çæ§ç端å£å·',
`total` INT NOT NULL DEFAULT 0 COMMENT 'æ»è¿æ¥æ°',
`established` INT NOT NULL DEFAULT 0 COMMENT 'ç¶æä¸ºESTABLISHEDçè¿æ¥æ°',
`time_wait` INT NOT NULL DEFAULT 0 COMMENT 'ç¶æä¸ºTIME_WAITçè¿æ¥æ°',
`fin_wait2` INT NOT NULL DEFAULT 0 COMMENT 'ç¶æä¸ºFIN_WAIT2çè¿æ¥æ°',
`gmt_create` DATETIME DEFAULT NULL COMMENT 'å建æ¶é´',
PRIMARY KEY (`id`)
) ENGINE = INNODB AUTO_INCREMENT = 1 CHARSET = utf8mb4 ROW_FORMAT = COMPACT;
DROP TABLE IF EXISTS `traffic_monitor`;
CREATE TABLE `traffic_monitor` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`localIp` VARCHAR(128) NOT NULL COMMENT 'æå¡å¨ipå°å',
`network_card_name` VARCHAR(128) NOT NULL COMMENT 'è¢«çæ§çç½å¡åç§°',
`receive_traffic` FLOAT NOT NULL DEFAULT 0 COMMENT 'æµå
¥å¸¦å®½/ç§',
`receive_packets` FLOAT NOT NULL DEFAULT 0 COMMENT 'æµå
¥æ£ç¡®çå
é/ç§',
`receive_errs` FLOAT NOT NULL DEFAULT 0 COMMENT 'æµå
¥é误çå
é/ç§',
`transmit_traffic` FLOAT NOT NULL DEFAULT 0 COMMENT 'æµåºå¸¦å®½/ç§',
`transmit_packets` FLOAT NOT NULL DEFAULT 0 COMMENT 'æµåºæ£ç¡®çå
é/ç§',
`transmit_errs` FLOAT NOT NULL DEFAULT 0 COMMENT 'æµåºé误çå
é/ç§',
`gmt_create` DATETIME DEFAULT NULL COMMENT 'å建æ¶é´',
PRIMARY KEY (`id`)
) ENGINE = INNODB AUTO_INCREMENT = 1 CHARSET = utf8mb4 ROW_FORMAT = COMPACT;
äºãclone代ç è³æ¬å°
2.1 æ§è¡mvn clean install -DskipTests
2.2 å°monitor-agent.zipæ·è´è³å¾ çæ§çæå¡å¨ï¼å¹¶è§£å缩unzip monitor-agent.zip
ä¸ãä¿®å¤confä¸çé 置信æ¯
3.1 ä¿®æ¹infoconfig.properties
sampling.time=5000 #éæ ·æ¶é´ï¼è®¾ç½®æ¯éå¤é¿æ¶é´çæ§ç¨åºéé䏿¬¡ç³»ç»ä¿¡æ¯ï¼åä½ä¸ºæ¯«ç§ï¼é»è®¤ä¸º5000毫ç§
listening.port=80 #è¯¥å±æ§åªæå¨çæ§æç«¯å£å·çè¿æ¥æ°çæ¶åæä¼èµ·ä½ç¨ï¼å¼ä¸ºéè¦çæ§ç端å£å·
network.card.name=eth1 ç½å¡åï¼å½éè¦çæ§ç½ç»å¸¦å®½çæ¶åï¼è¯·è®¾ç½®è¯¥é项ï¼é»è®¤ä¸ºeth0
watch.process=tomcat:/opt/tomcat/tomcat.pid #è¢«çæ§çè¿ç¨åå该è¿ç¨çpidæä»¶è·¯å¾ï¼ç»å¯¹è·¯å¾ï¼ï¼å¤ä¸ªè¿ç¨ç¨è±æ,åå²
3.2 ä¿®æ¹MyBatis-Configuration.xml
ä¿®æ¹MySQLçè¿æ¥å°å
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url"
value="jdbc:mysql://localhost:3306/monitor?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
åãå¯å¨agentééèç¹
æ§è¡sh service.sh start
äºãå ³éagentééèç¹
æ§è¡sh service.sh stop
å ãéå¯agentééèç¹
æ§è¡sh service.sh restart