Commit Graph

190 Commits

Author SHA1 Message Date
ryan f4d36be2e6 Refactor observability configuration and support files
- Introduced `filterCertificateSupportFiles` function to filter support files for certificates in `agent.go`.
- Updated placeholder constants in `config_version.go` to reflect changes from support directory to certificate directory.
- Modified tests in `https_phase1_test.go` to align with new directory structure and removed obsolete checks for observability Lua scripts.
- Removed observability assets from `openresty_observability_assets.go` and created a new file `observability_assets.go` in `atsf_agent/internal/nginx` to manage observability Lua scripts.
- Updated documentation to reflect changes in configuration paths for certificates and Lua scripts.
- Ensured that the agent writes to the new `cert_dir` and `lua_dir` instead of the old `support_dir`.
2026-03-15 12:32:24 +08:00
ryan e1efbf3868 [优化] 增强流量可观测性,添加请求长度和字节发送字段;更新支持文件权限设置 2026-03-15 12:13:07 +08:00
ryan eb9a2a8814 [优化] 添加服务器升级日志的WebSocket流 2026-03-15 11:57:52 +08:00
ryan ae70ba1cce [优化] 环境分离 2026-03-15 11:49:21 +08:00
ryan 93bd3704e7 [优化] 安装脚本更新 2026-03-15 00:09:52 +08:00
ryan 932f2fc6fa [优化] 代码优化 2026-03-14 23:56:34 +08:00
ryan 3d52ddc933 [优化] 引如缓存库ristretto 2026-03-14 23:54:31 +08:00
ryan 37deb84986 [修复] 修复网站添加无法输入 2026-03-14 23:33:43 +08:00
ryan 4dec7f8133 [优化] 工作流触发调整 2026-03-14 23:33:09 +08:00
ryan 78a0b99011 [优化] 交互优化 2026-03-14 23:32:32 +08:00
ryan 0a28d7bb2a feat: 添加响应式地图缩放和容器大小调整功能,优化性能页面模板样式 2026-03-14 23:23:49 +08:00
ryan 8d406f5ade feat: 添加访问日志分页功能,优化相关接口和前端组件 2026-03-14 23:18:49 +08:00
ryan b7d38590ba feat: add access log functionality and related components
- Introduced NodeAccessLog model and corresponding database migrations.
- Implemented access log retrieval in the service layer.
- Created API endpoint for accessing logs with appropriate security measures.
- Developed frontend components for displaying access logs, including filtering and summary statistics.
- Updated observability buffer to include access logs and ensure proper merging and retention.
- Enhanced traffic report and observability tests to validate new access log features.
- Updated documentation to reflect changes in access log handling and data retention policies.
2026-03-14 18:21:48 +08:00
ryan e25b41fd75 feat: add observability buffer for heartbeat data
- Introduced `ObservabilityBufferStore` to manage buffered observability records.
- Implemented methods for upserting, replaying, and acknowledging records in the buffer.
- Enhanced `AgentNodePayload` and `NodePayload` to include buffered observability data.
- Updated tests to cover new functionality for observability buffering.
- Modified existing services to persist and handle buffered observability data during heartbeats.
- Added configuration options for observability buffer path and replay minutes.
- Updated documentation to reflect new observability features and configurations.
2026-03-14 17:57:50 +08:00
ryan 7628397785 feat: 添加可观察性监听地址支持,优化配置和测试用例 2026-03-14 17:42:06 +08:00
ryan 4be44733e8 feat: replace cert_dir with support_dir in agent and server configurations
- Updated README.md to reflect the new support_dir for auxiliary files.
- Refactored agent main.go to use support_dir instead of cert_dir.
- Modified config.go to replace cert_dir with support_dir and added legacy support.
- Adjusted config tests to validate support_dir usage.
- Changed nginx manager to utilize support_dir for file paths.
- Updated server configuration to use support_dir for SSL certificates.
- Revised documentation to clarify the new configuration parameters.
- Enhanced security checks for support file paths to prevent traversal attacks.
2026-03-14 17:16:54 +08:00
ryan bdfa80f214 feat: enhance observability metrics collection and reporting
- Updated BuildSnapshot function to include OpenResty metrics.
- Enhanced BuildTrafficReport to utilize managed OpenResty metrics.
- Introduced new functions for parsing access logs in both JSON and combined formats.
- Added tests for traffic report generation from combined access logs.
- Implemented local observability metrics collection from OpenResty.
- Created Lua scripts for OpenResty to gather observability data.
- Updated configuration documentation to include new observability port and settings.
- Added support for OpenResty observability in the server configuration.
2026-03-14 17:07:47 +08:00
ryan 8cc839669c 添加节点详情页选项卡功能,支持在数据看板和节点信息之间切换,优化用户体验 2026-03-14 16:50:35 +08:00
ryan e801d2bb32 [优化] 界面优化 2026-03-14 16:33:33 +08:00
ryan 271ac772c4 重构仪表板组件,移除冗余的 OverviewMetric 组件,优化布局和样式,增强可读性 2026-03-14 16:28:56 +08:00
ryan 590e1d7a8a 优化仪表板页面,移除冗余组件,简化代码结构 2026-03-14 16:17:43 +08:00
ryan ee104f0ad8 调整 WorldStageMap 组件的布局和样式,优化地图显示效果 2026-03-14 16:07:01 +08:00
ryan fe3c6312f9 Refactor dashboard overview: remove active alerts and lagging nodes from summary, update tests and components accordingly
- Removed active alerts and lagging nodes from DashboardSummary and related types.
- Updated DashboardOverview component to reflect changes in data structure.
- Adjusted tests to align with the new dashboard overview structure, ensuring no active alerts are displayed.
- Simplified the dashboard metrics and risk signals, focusing on essential health and capacity metrics.
- Enhanced the WorldStage component to present updated traffic and capacity information.
- Removed unused alert-related functions and components to streamline the codebase.
2026-03-14 16:00:41 +08:00
ryan f33e9514dc feat: add geo_manual_override to NodeItem and NodeMutationPayload
fix: update default GeoIPProvider to ipinfo in settings

feat: implement WorldStageMap component for visualizing node health on a world map

feat: create NodeEditorModal for editing node details with manual geo location options

docs: update app-config documentation to reflect changes in GeoIPProvider default value
2026-03-14 15:50:02 +08:00
ryan 4a50762092 feat(settings): add GeoIP provider selection to settings page
- Introduced a new ResourceSelect component for selecting the GeoIP provider.
- Added options for disabling GeoIP, using MaxMind mmdb, and various external GeoIP services.
- Implemented saving functionality for the selected GeoIP provider with a corresponding button.
- Updated default operation fields to include GeoIPProvider with a default value of 'disabled'.
2026-03-14 15:19:46 +08:00
ryan f6dd7df55c [优化] geoip 工具 2026-03-14 15:15:34 +08:00
ryan 83f461efd0 Refactor code structure for improved readability and maintainability 2026-03-14 15:03:15 +08:00
ryan 605a70b428 [优化] 工具整理 2026-03-14 15:03:05 +08:00
ryan f1476610f6 feat(dashboard): enhance dashboard overview and world stage components
- Implemented normalization for dashboard overview data to handle null or undefined values.
- Added ECharts map integration for visualizing node data on a world map.
- Introduced loading and error states for the map component.
- Updated UI components to support dark and light themes.
- Enhanced testing for dashboard overview to cover empty states and data fetching.
- Added type definitions for echarts-maps module.
- Updated package dependencies to include echarts-maps.
2026-03-14 14:45:04 +08:00
ryan 4bfad019d0 feat: 更新节点详情页,添加健康事件过滤和流量分析功能 2026-03-14 14:31:51 +08:00
ryan 91cafa99b1 feat(node-detail): 完成节点详情页第二轮重构,增加核心卡片与趋势展示 2026-03-14 13:09:23 +08:00
ryan fc3db065db feat: add geo metadata to nodes and dashboard
- Extend DashboardNodeHealth and NodeItem interfaces to include geo_name, geo_latitude, and geo_longitude.
- Update NodeDetailPage and NodesPage components to handle geo metadata in forms and payloads.
- Implement validation for geo fields in NodesPage using Zod.
- Enhance dashboard overview tests to include geo metadata for nodes.
- Create WorldStage component to visualize node health and geo locations on a world map.
- Update design and development documentation to reflect the addition of geo metadata for nodes.
2026-03-14 12:59:22 +08:00
ryan b991e2e635 feat: 添加节点和仪表板的流量分析、趋势和健康状态功能 2026-03-14 12:36:29 +08:00
ryan 39a98863f4 [文档] 更新开发进度 2026-03-14 12:32:21 +08:00
ryan 15fc2f533f feat(nodes): 添加健康事件筛选功能和节点列表过滤描述 2026-03-14 12:29:17 +08:00
ryan 0ad26e3904 feat(node-detail): 添加主状态码、Top Domain 和已恢复事件统计信息 2026-03-14 12:24:08 +08:00
ryan 7ff642ca7f feat: 更新发布工作流以删除 Windows 资产构建 2026-03-14 12:23:52 +08:00
ryan 50b7c798ea feat: update workflow triggers to use main branch for push events 2026-03-14 12:13:43 +08:00
ryan 497289b462 feat(dashboard): enhance risk summary and peak node display in dashboard overview
- Added risk summary metrics including critical alerts, high CPU/memory nodes, and lagging nodes to the dashboard overview.
- Introduced peak node metrics for busiest and riskiest nodes with detailed display.
- Updated types for dashboard overview to include risk and peak summaries.
- Implemented new components for displaying risk signals and peak cards.
- Enhanced unit tests to cover new risk and peak metrics in the dashboard overview.

fix(update): improve error messages for server upgrade processes

- Translated and clarified error messages related to server upgrades and binary uploads.
- Ensured consistent error handling and messaging throughout the upgrade process.

test(update): refactor test utilities for server upgrade

- Renamed roundTripFunc to serverUpdateRoundTripFunc for clarity in test code.
- Updated test cases to utilize the new naming convention.

feat(node-detail): add traffic structure distribution and health event timeline

- Implemented traffic breakdown visualization for status codes and top domains in node detail page.
- Added health event timeline to display active and resolved events for better observability.

feat(rank-chart): create reusable rank chart component

- Developed a new RankChart component for visualizing ranked data distributions.
- Integrated RankChart into node detail page for displaying status code and domain distributions.
2026-03-14 12:12:38 +08:00
ryan 16bb9e5879 feat: add 24-hour traffic and capacity trend charts to dashboard and node detail pages
- Implemented TrendChart component for visualizing traffic and capacity trends.
- Enhanced DashboardOverview and NodeDetailPage components to display 24-hour request and capacity trends.
- Updated types to include traffic and capacity trend data structures.
- Created observability trends service to aggregate traffic and capacity data.
- Added tests for traffic report generation and trend data handling.
- Introduced new dependencies for charting (echarts and echarts-for-react).
2026-03-14 11:48:05 +08:00
ryan e94132a7d9 feat: 添加对主分支的推送触发支持 2026-03-14 11:47:27 +08:00
ryan a0aefce486 feat: add dashboard overview health summary 2026-03-14 11:44:28 +08:00
ryan ebd452cb36 feat: refresh node detail observability view 2026-03-14 11:44:28 +08:00
ryan 1f294d72b9 feat: 添加节点可观测性查询功能,支持获取节点的系统配置、指标快照、流量报告和健康事件 2026-03-14 11:44:28 +08:00
ryan d9d02e749a feat: add phase-one node observability ingestion 2026-03-14 11:44:28 +08:00
ryan 295340dc4b [优化] 更新开发计划文档,明确第六版目标与实施步骤,增加节点数据采集与访问分析能力 2026-03-14 11:44:28 +08:00
ryan df6b1f0fed 【更新】 V6 2026-03-14 11:26:52 +08:00
ryan ff6e4bb5b8 [优化] 添加服务器升级日志功能,记录升级状态和日志信息;更新相关类型定义以支持日志展示 2026-03-14 11:26:06 +08:00
ryan 8beaed85e3 [优化] 在 PublishPreviewCard 组件中添加当前活动主配置与待处理主配置的比较,增强用户对配置变更的理解;在 ProxyRoutesPage 中提取 hasConfigChanges 函数以简化变更检查逻辑 2026-03-13 17:38:06 +08:00
ryan e4b62eba85 Merge branch 'main' of https://git.arctel.net/Arctel/ATSFlare 2026-03-13 17:16:13 +08:00