In high concurrency under distributed environment, for visits to a big business, interface, etc., need timely monitoring site health, to prevent the occurrence of access web site is slow, even in the presence of special circumstances, the application server avalanche scenarios, such as the high concurrency scenarios website not normal visit, these will involve a distributed monitoring system, core indicators for monitoring in advance, Nip it in the bud.

Common open source monitoring systems

1.Zabbix

Zabbix is an enterprise-level open source operation and maintenance platform that provides distributed system monitoring and network monitoring functions based on WEB interface. It is also the most widely used monitoring software among Internet users in China at present.

Easy to get started, simple to get started, powerful and open source free.

Zabbix is easy to manage and configure, and can generate beautiful data graphs. Its automatic discovery function greatly reduces the workload of daily management. Rich data collection methods and API interfaces allow users to flexibly collect data.

2.Nagios

Nagios is an open source enterprise monitoring system, which can realize the basic system monitoring of system CPU, disk, network and other parameters, as well as SMTP, POP3, HTTP, NNTP and other basic service types. In addition, by installing plug-ins and writing monitoring scripts, users can realize application monitoring and deploy a hierarchical monitoring architecture for a large number of monitoring hosts and multiple objects.

The biggest feature of Nagios is its powerful management center. Although its function is to monitor services and hosts, Nagios itself does not include this part of the function code. All the monitoring and alarm functions are completed by related plug-ins.

3. Comparison of open source monitoring tools

4. Zabbix is recommended as the first choice for free and open source monitoring. I will take Zabbix as an example to talk about the monitoring process and core monitoring indicators.

Zabbix monitors the process

Zabbix’s monitoring process can be simply described as follows:

Data collection –> data storage –> data analysis –> data display –> monitoring and alarm

Data collection: Zabbix collects data through SNMP, Agent, ICMP, SSH, and IPMI

Data storage: Zabbix is stored in MySQL and can be stored in other databases

Data display: Web interface display, (mobile APP, java_PHP to develop a Web interface can also)

Data alarm: email alarm, wechat alarm, SMS alarm, alarm upgrade mechanism

The monitoring configuration process of Zabbix can be simply described as follows:

An alarm consists of a series of processes. First, the trigger reaches the threshold and generates an event. Then, the Action processes the event information, including two parts:

The first part is sending messages, that is, sending alarm information to users.

The second part is the execution command, that is, the event is processed by command, to achieve the effect of automatic attempt to recover the event fault.

Host groups →Hosts → Template →Applications →Items →graph →screen Grouping (graphical) – Triggers (trigger), Event (incident) – Actions (action) – Media types (alarm escalation | 1. 2. Send alarm emails)→User groups →Users →Medias

In the actual production, Items, Trigger and Graph are monitored by templates. The characteristics of templates are that repeated things can be completed at one time. If the template is modified, all the hosts calling this template are modified.

Zabbix monitoring function

1. Monitor indicators

Monitor host performance

Monitor network device performance

Database Performance Monitoring

Multiple alarm modes

Detailed report chart drawing

Zabbix has a dedicated agent that can monitor Linux, Windows, FreeBSD, etc.

Monitor network device Zabbix through SNMP and SSH (optional)

2. Monitored objects

Devices: servers, routers, switches

Software: OS, network, applications

Monitor host performance indicators

Fault monitoring: The server is down, the service is unavailable, and the host is unreachable

3. Basic monitoring data

It mainly includes the following categories:

CPU

Load

memory

disk

IO

Network related

The kernel parameters

Ss statistical output

Port to collect

Collect process survival information of core services

Critical business process resource consumption

Offset (NTP) acquisition

DNS Resolution Collection

The moment you have a thorough understanding of these basic monitoring options is the moment you have an advanced understanding of how Linux works and commands.

4. The JVM monitoring

For most companies where Java is the primary development language, monitoring the JVM is essential.

Parameters for each JVM application, such as:

GC

Class loading

The JVM memory

process

Thread etc.

These parameters can be obtained using MxBeans.

5. Four performance indicators of mysql

Querying throughput

Query execution performance

connectivity

Buffer pool usage

6. Service application monitoring

For interfaces that the business needs to monitor, such as response time, etc.

The above is the summary of distributed monitoring system.

In order to make learning easy and efficient! Today I’m going to share a free set of teaching resources to help you navigate your way to becoming an architect.

This video course explains in detail (Spring, MyBatis, Netty source code analysis, high concurrency, high performance, distributed, microservice architecture principle, JVM performance optimization, distributed architecture) and so on, which become the architect of the necessary content!