[Open-source] Monitoring points, log monitoring, data visualization, and alarm as a whole monitoring system
![[Open-source] Monitoring points, log monitoring, data visualization, and alarm as a whole monitoring system](https://yy123.ink/api/img/1782584940735-mf0in9.jpg)
1. Project Overview
xrkmonitor - A domestic open-source cloud monitoring system that integrates business monitoring points, log monitoring, data visualization, and alarm monitoring, with many cloud monitoring plugins that can be deployed directly for use
A distributed open-source monitoring system that integrates monitoring points, log monitoring, data visualization, and alarm monitoring
Support common monitoring requirements through plugin methods, and plugins can be freely selected and support one-click deployment, removal, enablement, and disablement
Provide rich charts and multiple data types to meet the needs of data visualization
2. Open Source License
Licensed under Apache-2.0
3. Screenshots
1. IP Address Library: Supports converting IP addresses to physical addresses when reporting, and merging the display of the same physical addresses, a monitoring API can easily generate a physical address distribution graph of monitoring data, plugin example: monitor_apache_log

2. Monitoring Plugin Market: Make monitoring a reusable component that can be used without development, and more monitoring plugins are being developed

3. Distributed Log System: Supports large-scale system log reporting, and log reporting supports frequency limitation, log coloring, and custom fields, and the log viewing console supports filtering by keyword, excluding keyword, report time, and report machine, etc.

4. View Mechanism: Supports customizing monitoring chart views, and views can be combined arbitrarily by report server and monitoring point, and alarm values can be set directly on the monitoring chart

5. Alarm Integration: Integrates alarm functions, supports email, SMS, WeChat, and PC client alarm methods, and alarm functions can be used directly without development

6. Intranet Deployment: The monitoring system can be deployed in an intranet isolated environment, and plugins can still be downloaded and deployed from the cloud, and the agent supports UDP proxy functionality, and can use cloud-provided services such as alarm services through the agent's proxy
7. Plugin Real-time Table, mainly used to display real-time monitoring indicators in a distributed cluster of different machines for comparison and sorting

4. Feature Overview
Compared to other open-source monitoring systems, the advantages
- Supports plugin functions, monitoring plugins do not need to be developed, and can be freely selected and installed in the control panel
- Integrates alarm functions, supports multiple alarm methods
- Integrates distributed log system functions, no development is required to create a high-performance distributed log system
- Supports multiple deployment methods
- a. Centralized deployment (all services are deployed on one machine, suitable for individual or small team developers)
- Support for automated configuration (after the machine deployment agent is automatically registered to the monitoring system without the need to configure in the console, and the view is automatically bound to the relevant reporting machine based on the report)
- Support for multi-user access (sub-accounts are added by the administrator account in the console)
- Simultaneously targeting developers and operation and maintenance personnel, developers can use the API to develop interfaces and customize their own monitoring needs very conveniently, and operation and maintenance personnel and product personnel can directly deploy and use existing plugins to complete monitoring needs
5. Tech Stack
Used technology scheme
- apache + mysql (monitoring point data and configuration information use mysql storage, support distributed deployment)
- The front-end web console uses the open-source dwz framework
- The front-end monitoring chart uses the open-source echarts to draw
- The back-end cgi uses the open-source clearsilver cgi template engine, and all cgi supports fastcgi deployment
- The back-end service uses the open-source C++ Sockets development framework
The current monitoring report API supports the following languages (more languages are supported in development)
- c/c++ development interface
- php development interface
- linux shell development interface
- javascript development interface
Plugin market (part of the plugins, please log in to the demonstration version to view more)
- linux_base - c/c++ language development, used to monitor linux system cpu/memory/disk/network resources
- monitor_apache_log - c/c++ language development, used to monitor apache website traffic access volume etc.
- linux_file_monitor - shell language development, used to monitor linux system file directory addition/deletion/change activity
- monitor_website - javascript language development, used to monitor website visitor basic information and running abnormal information
- open_source_star - C/C++ language development, used for open-source project fan data monitoring, aggregated Gitee and GitHub platform data
- common_log - C/C++ language development, used for monitoring log files, through this plugin, high-performance distributed log systems can be easily created
Premium plugin screenshots
- linux_base, Linux system basic resource monitoring, including CPU, memory, network, disk, etc. basic monitoring indicators, can be directly set up on the chart or server mode for alarm
- monitor_apache_log, based on Apache log components, Apache website server monitoring, can monitor website traffic, visitor geographic distribution, etc. indicators
- monitor_website, written in JavaScript script language, website front-end monitoring
- open_source_star, open-source project fan growth monitoring, aggregated Gitee and GitHub two platforms' fans
- common_log, general log file monitoring, can monitor log files, easily create high-performance distributed log systems