Skip to main content
Version: v1.7.x

Monitoring Nacos Service Discovery

HertzBeat integrates with Nacos registry to automatically discover service instances and create monitoring tasks for them.

Overview

Nacos Service Discovery allows HertzBeat to connect to your Nacos server and automatically discover all registered service instances. When a new service instance is registered or an existing instance goes offline, HertzBeat will automatically create or delete corresponding monitoring tasks, achieving automated monitoring in microservice environments.

PreRequisites

Deploy Nacos Server

  1. Deploy Nacos server according to Nacos official documentation.
  2. Ensure Nacos server is accessible from HertzBeat.
  3. Verify that you can access Nacos console at http://your-nacos-server:8848/nacos/
  4. Default credentials: username nacos, password nacos

Configuration parameter

Parameter nameParameter help description
Target NameIdentify the name of this monitoring. The name needs to be unique.
Nacos Service Discovery HostNacos server IP address or domain name. Note⚠️Without protocol header (eg: https://, http://). Example: nacos-server or 192.168.1.100
Nacos Service Discovery PortPort provided by the Nacos server. The default is 8848
Collection intervalInterval time of monitor periodic data collection, unit: second, and the minimum interval that can be set is 30 seconds.
Description remarksFor more information about identifying and describing this monitoring, users can note information here.

Usage Steps

  1. Create Service Discovery Monitoring

    • In HertzBeat web UI, navigate to MonitoringNew Monitoring
    • Select monitoring type: Nacos Service Discovery
    • Fill in the basic configuration parameters
  2. Configure Monitoring Template

    • After creating the service discovery monitoring, you need to specify a monitoring template
    • The template defines what type of monitoring to create for discovered service instances
    • For example: If discovered instances are HTTP services, you can select HTTP monitoring template
    • Common template types: Port, HTTP, HTTPS, etc.
  3. Automatic Discovery

    • HertzBeat will periodically query Nacos server based on the collection interval
    • Automatically create monitoring tasks for newly registered service instances
    • Automatically delete monitoring tasks for offline service instances
  4. View Discovered Instances

    • In the monitoring list, you can see all automatically created sub-monitoring tasks
    • Each sub-monitoring task corresponds to a discovered service instance

Example of usage

Suppose your Nacos server is running at 192.168.1.100:8848, and you want to automatically monitor all service instances registered in it.

Configuration example:

  • Target Name: Nacos-Service-Discovery
  • Nacos Service Discovery Host: 192.168.1.100
  • Nacos Service Discovery Port: 8848
  • Collection interval: 60 seconds
  • Monitoring Template: Select Port monitoring (to detect instance availability)

After configuration:

  1. HertzBeat connects to Nacos server
  2. Retrieves all registered service instances (including healthy and unhealthy instances)
  3. Automatically creates Port monitoring for each instance (e.g., user-service-192.168.1.101:8080)
  4. Every 60 seconds, checks for newly registered or offline services and updates monitoring tasks accordingly

Notes

  • Network Connectivity: Ensure HertzBeat can access the Nacos server address and port
  • Monitoring Templates: Service discovery only discovers service instance addresses, you need to configure appropriate monitoring templates to actually monitor the instances
  • Collection Interval: Recommended minimum interval is 60 seconds to avoid excessive requests to Nacos server
  • Namespace: By default, discovers services in the public namespace. If you need to discover services in a specific namespace, you may need to configure it separately
  • Health Check: Nacos service discovery will discover all instances, including unhealthy ones
  • Instance Naming: Automatically created monitoring tasks are named in the format: {ServiceName}-{Host}:{Port}

Collection Metric

Metric set: Monitor Target

Metric nameMetric unitMetric help description
targetnoneDiscovered service instance target
hostnoneService instance host address
portnoneService instance port number

Use Cases

  • Spring Cloud Alibaba: Automatically monitor all microservice instances registered in Nacos
  • Dynamic Scaling: Automatically adapt to service instances added/removed due to autoscaling
  • Unified Monitoring: Centrally manage monitoring of all services in the microservice environment
  • Multi-Environment: Manage services across development, testing, and production environments
  • Service Governance: Combine with Nacos service governance capabilities for comprehensive service management