为监控Agent增加了后台运行选项
This commit is contained in:
BIN
agent/agent
BIN
agent/agent
Binary file not shown.
267
agent/agent.log
267
agent/agent.log
@@ -239,3 +239,270 @@
|
||||
2025/12/05 00:27:09 Processing log file: /var/log/vmware-vmtoolsd-root.log
|
||||
2025/12/05 00:27:09 Successfully collected 0 logs
|
||||
2025/12/05 00:27:09 Metrics collected: Agent=yunc, CPU=20.43%, Memory=43.79%, Disk=25.26%
|
||||
2025/12/06 23:49:57 main.go:549: Config loaded from ./agent.json
|
||||
2025/12/06 23:49:57 main.go:379: Config saved to ./agent.json
|
||||
2025/12/06 23:49:57 main.go:290: Agent ID: agent-1765036079406873071-1191088, Name: cloud
|
||||
2025/12/06 23:49:57 main.go:1734: Agent started, reporting to http://localhost:8080/api every 10s, collecting data every 1s
|
||||
2025/12/06 23:49:57 main.go:1685: Starting HTTP server on :8081
|
||||
2025/12/06 23:49:57 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:49:57 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:49:57 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:49:57 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:49:57 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:49:59 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:49:59 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:49:59 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:49:59 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:49:59 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:00 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:00 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:00 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:00 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:00 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:01 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:01 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:01 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:01 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:01 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:01 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:01 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:01 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:01 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:01 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:02 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:02 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:02 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:02 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:02 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:03 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:03 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:03 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:03 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:03 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:04 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:04 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:04 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:04 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:04 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:05 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:05 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:05 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:05 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:05 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:06 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:06 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:06 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:06 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:06 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:07 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:07 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:07 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:07 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:07 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:07 main.go:1581: Sending 11 metrics to server: http://localhost:8080/api
|
||||
2025/12/06 23:50:07 main.go:1593: Server returned status code 401
|
||||
2025/12/06 23:50:07 main.go:1804: Failed to send metrics: server returned status code 401
|
||||
2025/12/06 23:50:08 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:08 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:08 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:08 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:08 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:09 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:09 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:09 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:09 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:09 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:10 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:10 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:10 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:10 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:10 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:10 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:10 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:10 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:10 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:10 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:11 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:11 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:11 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:11 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:11 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:13 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:13 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:13 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:13 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:13 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:13 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:13 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:13 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:13 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:13 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:14 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:14 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:14 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:14 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:14 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:15 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:15 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:15 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:15 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:15 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:16 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:16 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:16 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:16 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:16 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:17 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:17 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:17 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:17 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:17 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:17 main.go:1581: Sending 10 metrics to server: http://localhost:8080/api
|
||||
2025/12/06 23:50:17 main.go:1593: Server returned status code 401
|
||||
2025/12/06 23:50:17 main.go:1804: Failed to send metrics: server returned status code 401
|
||||
2025/12/06 23:50:18 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:18 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:18 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:18 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:18 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:19 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:19 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:19 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:19 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:19 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:20 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:20 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:20 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:20 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:20 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:21 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:21 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:21 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:21 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:21 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:22 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:22 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:22 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:22 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:22 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:23 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:23 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:23 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:23 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:23 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:24 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:24 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:24 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:24 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:24 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:25 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:25 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:25 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:25 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:25 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:26 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:26 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:26 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:26 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:26 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:27 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:27 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:27 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:27 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:27 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:27 main.go:1581: Sending 10 metrics to server: http://localhost:8080/api
|
||||
2025/12/06 23:50:27 main.go:1593: Server returned status code 401
|
||||
2025/12/06 23:50:27 main.go:1804: Failed to send metrics: server returned status code 401
|
||||
2025/12/06 23:50:28 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:28 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:28 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:28 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:28 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:29 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:29 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:29 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:29 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:29 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:30 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:30 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:30 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:30 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:30 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:31 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:31 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:31 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:31 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:31 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:32 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:32 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:32 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:32 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:32 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:33 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:33 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:33 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:33 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:33 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:34 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:34 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:34 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:34 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:34 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:35 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:35 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:35 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:35 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:35 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:36 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:36 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:36 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:36 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:36 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:37 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:37 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:37 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:37 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:37 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:37 main.go:1581: Sending 10 metrics to server: http://localhost:8080/api
|
||||
2025/12/06 23:50:37 main.go:1593: Server returned status code 401
|
||||
2025/12/06 23:50:37 main.go:1804: Failed to send metrics: server returned status code 401
|
||||
2025/12/06 23:50:38 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:38 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:38 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:38 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:38 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:39 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:39 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:39 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:39 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:39 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:40 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:40 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:40 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:40 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:40 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:41 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:41 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:41 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:41 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:41 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:42 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:42 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:42 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:42 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:42 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:43 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:43 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:43 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:43 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:43 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:44 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:44 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:44 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:44 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:44 main.go:1430: Successfully collected 50 logs
|
||||
2025/12/06 23:50:45 main.go:1243: Attempting to collect logs from /var/log
|
||||
2025/12/06 23:50:45 main.go:1262: Found 10 log files to process
|
||||
2025/12/06 23:50:45 main.go:1269: Processing log file: /var/log/cfg_init.log
|
||||
2025/12/06 23:50:45 main.go:1269: Processing log file: /var/log/dnf.log
|
||||
2025/12/06 23:50:45 main.go:1430: Successfully collected 50 logs
|
||||
|
||||
@@ -2,11 +2,7 @@ ssh root@10.35.10.130 killall agent monitor-agent
|
||||
ssh root@10.35.10.90 killall agent monitor-agent
|
||||
ssh root@10.35.10.70 killall agent monitor-agent
|
||||
|
||||
scp monitor-agent root@10.35.10.130:/root/monitor/
|
||||
scp monitor-agent root@10.35.10.90:/root/monitor/
|
||||
scp monitor-agent root@10.35.10.70:/root/monitor/
|
||||
|
||||
ssh root@10.35.10.90 cd /root/monitor/ && screen -S agent monitor-agent
|
||||
ssh root@10.35.10.70 cd /root/monitor/ && screen -S agent monitor-agent
|
||||
ssh root@10.35.10.130 cd /root/monitor/ && screen -S agent monitor-agent
|
||||
scp ./monitor-agent root@10.35.10.130:/root/monitor/
|
||||
scp ./monitor-agent root@10.35.10.90:/root/monitor/
|
||||
scp ./monitor-agent root@10.35.10.70:/root/monitor/
|
||||
|
||||
|
||||
159
agent/main.go
159
agent/main.go
@@ -3,18 +3,22 @@ package main
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"flag"
|
||||
"fmt"
|
||||
"io"
|
||||
"log"
|
||||
stdnet "net"
|
||||
"net/http"
|
||||
"os"
|
||||
"os/exec"
|
||||
"os/signal"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
"sort"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
"github.com/shirou/gopsutil/cpu"
|
||||
@@ -159,6 +163,16 @@ var config Config
|
||||
// 保存解析后的时间间隔
|
||||
var parsedInterval time.Duration
|
||||
|
||||
// 命令行参数
|
||||
var (
|
||||
// 是否以守护进程模式运行
|
||||
daemonMode bool
|
||||
// 日志文件路径
|
||||
logFile string
|
||||
// 进程ID文件路径
|
||||
pidFile string
|
||||
)
|
||||
|
||||
// 保存上一次网络流量采集的数据
|
||||
type NetworkStats struct {
|
||||
BytesSent uint64
|
||||
@@ -365,6 +379,115 @@ func saveConfigFile() {
|
||||
log.Printf("Config saved to %s", configFile)
|
||||
}
|
||||
|
||||
// daemonize 实现守护进程功能
|
||||
func daemonize() error {
|
||||
// 在Go中实现daemon的正确方式是启动一个新的进程
|
||||
// 检查是否已经是守护进程模式
|
||||
if os.Getenv("DAEMONIZED") == "1" {
|
||||
return nil
|
||||
}
|
||||
|
||||
// 获取可执行文件的绝对路径
|
||||
execPath, err := os.Executable()
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to get executable path: %v", err)
|
||||
}
|
||||
|
||||
// 创建环境变量,标记为守护进程模式
|
||||
env := append(os.Environ(), "DAEMONIZED=1")
|
||||
|
||||
// 启动新进程
|
||||
cmd := exec.Command(execPath, os.Args[1:]...)
|
||||
cmd.Env = env
|
||||
cmd.Stdin = nil
|
||||
cmd.Stdout = nil
|
||||
cmd.Stderr = nil
|
||||
cmd.Dir = "/"
|
||||
cmd.SysProcAttr = &syscall.SysProcAttr{
|
||||
Setsid: true,
|
||||
}
|
||||
|
||||
// 启动进程
|
||||
if err := cmd.Start(); err != nil {
|
||||
return fmt.Errorf("failed to start daemon: %v", err)
|
||||
}
|
||||
|
||||
// 父进程退出
|
||||
os.Exit(0)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// savePID 保存进程ID到文件
|
||||
func savePID() error {
|
||||
if pidFile == "" {
|
||||
return nil
|
||||
}
|
||||
|
||||
// 获取当前进程ID
|
||||
pid := strconv.Itoa(os.Getpid())
|
||||
|
||||
// 写入PID文件
|
||||
if err := os.WriteFile(pidFile, []byte(pid), 0644); err != nil {
|
||||
return fmt.Errorf("failed to write PID file: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// removePID 删除PID文件
|
||||
func removePID() {
|
||||
if pidFile != "" {
|
||||
os.Remove(pidFile)
|
||||
}
|
||||
}
|
||||
|
||||
// initLogging 初始化日志配置
|
||||
func initLogging() error {
|
||||
// 默认日志输出到标准输出
|
||||
var output io.Writer = os.Stdout
|
||||
|
||||
// 如果指定了日志文件,则输出到文件
|
||||
if logFile != "" {
|
||||
// 处理日志文件路径
|
||||
logFilePath := logFile
|
||||
|
||||
// 如果是相对路径,则使用可执行文件所在的目录作为基准目录
|
||||
if !filepath.IsAbs(logFilePath) {
|
||||
// 获取可执行文件的目录
|
||||
execPath, err := os.Executable()
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to get executable path: %v", err)
|
||||
}
|
||||
execDir := filepath.Dir(execPath)
|
||||
|
||||
// 构造绝对路径
|
||||
logFilePath = filepath.Join(execDir, logFilePath)
|
||||
}
|
||||
|
||||
// 打开日志文件,支持追加写入
|
||||
file, err := os.OpenFile(logFilePath, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to open log file: %v", err)
|
||||
}
|
||||
output = file
|
||||
|
||||
// 确保进程退出时关闭文件
|
||||
go func() {
|
||||
sigCh := make(chan os.Signal, 1)
|
||||
signal.Notify(sigCh, syscall.SIGINT, syscall.SIGTERM)
|
||||
<-sigCh
|
||||
file.Close()
|
||||
}()
|
||||
}
|
||||
|
||||
// 配置日志输出格式
|
||||
log.SetOutput(output)
|
||||
log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// 读取配置文件
|
||||
func readConfigFile() {
|
||||
// 获取配置文件路径,默认./agent.json,可通过环境变量指定
|
||||
@@ -1566,9 +1689,45 @@ func startHTTPServer() {
|
||||
}
|
||||
|
||||
func main() {
|
||||
// 解析命令行参数
|
||||
flag.BoolVar(&daemonMode, "daemon", false, "Run as daemon (background process)")
|
||||
flag.BoolVar(&daemonMode, "d", false, "Run as daemon (background process) - shorthand")
|
||||
flag.StringVar(&logFile, "log-file", "", "Path to log file")
|
||||
flag.StringVar(&logFile, "l", "", "Path to log file - shorthand")
|
||||
flag.StringVar(&pidFile, "pid-file", "/tmp/monitor-agent.pid", "Path to PID file")
|
||||
flag.StringVar(&pidFile, "p", "/tmp/monitor-agent.pid", "Path to PID file - shorthand")
|
||||
flag.Parse()
|
||||
|
||||
// 初始化日志配置
|
||||
if err := initLogging(); err != nil {
|
||||
fmt.Printf("Failed to initialize logging: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
// 如果指定了守护进程模式,则启动守护进程
|
||||
if daemonMode {
|
||||
if err := daemonize(); err != nil {
|
||||
log.Fatalf("Failed to daemonize: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
// 初始化配置
|
||||
initConfig()
|
||||
|
||||
// 保存PID文件
|
||||
if err := savePID(); err != nil {
|
||||
log.Printf("Warning: Failed to save PID file: %v", err)
|
||||
}
|
||||
|
||||
// 注册信号处理,确保进程退出时删除PID文件
|
||||
go func() {
|
||||
sigCh := make(chan os.Signal, 1)
|
||||
signal.Notify(sigCh, syscall.SIGINT, syscall.SIGTERM, syscall.SIGKILL)
|
||||
<-sigCh
|
||||
removePID()
|
||||
os.Exit(0)
|
||||
}()
|
||||
|
||||
// 启动HTTP服务器(异步)
|
||||
go startHTTPServer()
|
||||
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user