OceanBase logo

OceanBase

A unified distributed database ready for your transactional, analytical, and AI workloads.

DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Resources

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS

OceanBase Cloud

OceanBase Database

Tools

Connectors and Middleware

QUICK START

OceanBase Cloud

OceanBase Database

BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Company

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

International - English
中国站 - 简体中文
日本 - 日本語
Sign In
Start on Cloud

A unified distributed database ready for your transactional, analytical, and AI workloads.

DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS
OceanBase CloudOceanBase Database
ToolsConnectors and Middleware
QUICK START
OceanBase CloudOceanBase Database
BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

Start on Cloud
编组
All Products
    • Databases
    • iconOceanBase Database
    • iconOceanBase Cloud
    • iconOceanBase Tugraph
    • iconInteractive Tutorials
    • iconOceanBase Best Practices
    • Tools
    • iconOceanBase Cloud Platform
    • iconOceanBase Migration Service
    • iconOceanBase Developer Center
    • iconOceanBase Migration Assessment
    • iconOceanBase Admin Tool
    • iconOceanBase Loader and Dumper
    • iconOceanBase Deployer
    • iconKubernetes operator for OceanBase
    • iconOceanBase Diagnostic Tool
    • iconOceanBase Binlog Service
    • Connectors and Middleware
    • iconOceanBase Database Proxy
    • iconEmbedded SQL in C for OceanBase
    • iconOceanBase Call Interface
    • iconOceanBase Connector/C
    • iconOceanBase Connector/J
    • iconOceanBase Connector/ODBC
    • iconOceanBase Connector/NET
icon

OceanBase Cloud Platform

V4.0.0Community Edition

  • Document Overview
  • Product Introduction
    • What is OceanBase Cloud Platform?
    • System architecture
    • Features
    • Limits
      • System requirements
      • Dependencies
  • Deployment Guide
    • Overview
    • Installation process
    • Installation planning
      • User planning
      • Host planning
      • Disk and directory planning
      • Port planning
    • Prepare for the installation
    • Modify the configuration file
    • Deploy OCP
    • Upgrade OCP
    • Check after deployment or update
    • Appendix
      • Install Docker
      • Uninstall OCP
      • Restart OCP
  • User Guide
    • OCP overview
    • Log on to the OCP console
    • Features
      • Clusters
        • Cluster management
        • Cluster overview
        • Overview of the cluster details page
      • Tenants
        • Tenant and resource management
        • Tenant overview
        • Overview of the Tenant Details page
      • Hosts
        • Host overview
        • Host details
      • Packages
      • OBProxy
        • OBProxy management overview
        • OBProxy overview
        • OBProxy cluster overview
      • Monitoring
        • Drill-down monitoring
      • System management
        • Alert overview
        • View tasks
        • Log service
        • Security overview
        • View system parameters
      • Personal center
        • Specify personal information
        • Change your logon password
        • Alert subscription configuration
        • Password box
        • Log off the OCP console
    • Manage clusters
      • Cluster management operations
      • Basic cluster operations
        • Take over a cluster
        • Create a cluster
        • Delete a cluster
        • Stop a cluster
        • Restart a cluster
        • Manage zones of a cluster
          • Create a zone
          • Restart a zone
          • Stop a zone
          • Delete a zone
        • Manage OBServers of a cluster
          • Add an OBServer
          • Restart an OBServer
          • Stop an OBServer service
          • Stop an OBServer process
          • Replace an OBServer
          • Delete an OBServer
        • Upgrade the version of an OceanBase cluster
        • Change the password
        • Download logs
        • Disable SQL collection
        • View the SQL collection history
      • View the topology of a cluster
      • Overview of cluster tenant management
      • Performance monitoring
      • Cluster resource management
        • View unit distribution
        • View resource usage
      • Major compaction management
        • Modify the major compaction settings of a cluster
        • Details of major compaction
        • Major freeze statistics
        • Perform a major compaction
      • Backup and recovery
        • Create a backup strategy
        • Back up now
        • Cluster backup and recovery
        • Initiate a recovery task
      • Manage parameters
        • View parameters
        • Modify parameters
        • Parameter types
        • View the history of parameter changes
      • Manage cluster parameter templates
    • Manage tenants
      • Tenant management operations
      • Basic tenant operations
        • Create a tenant
        • Unit specification management
        • Lock a tenant
        • Copy a tenant
        • Delete a tenant
        • Create a replica
        • Change the password of the SYS tenant
        • Edit a tenant replica in a zone
        • Delete a tenant replica from a zone
        • Modify zone priorities
        • Modify the whitelist
      • View the topology of a tenant
      • Database management
      • User management under a tenant
      • Performance monitoring
      • Tenant resource management
      • SQL diagnostics
        • TopSQL diagnostics
        • SlowSQL diagnostics
        • View SQL statement details
        • View the SQL collection enable/disable history
      • Tenant major compaction management
        • Modify major compaction settings of a tenant
        • Details of tenant major compaction
        • Perform a major compaction
      • Manage sessions
        • View tenant sessions
        • View session statistics
      • Manage parameters
        • View the parameters
        • Modify a parameter
        • View the parameter modification history
      • Manage tenant parameter templates
    • Manage hosts
      • Host management operations
      • Add a host
      • Modify a host
      • Restart OCP Agent
      • Reinstall OCP Agent
    • Manage software packages
      • Upload a software package
      • Download a software package
      • Delete a software package
    • Manage OBProxies
      • Create an OBProxy cluster
      • Delete an OBProxy
      • Restart an OBProxy
      • Upgrade an OBProxy
      • Add an OBProxy
      • Refresh OBProxy configurations
      • Monitor OBProxy cluster performance
      • OBProxy cluster parameter management
      • Add a connectable OceanBase cluster
      • Delete an OBProxy cluster
      • Upgrade all OBProxies in an OBProxy cluster
      • Restart all OBProxies in an OBProxy cluster
      • Delete a connected OceanBase cluster
    • Manage alerts
      • Alert-related concepts
      • Create an alert item
      • View alert items
      • Copy an alert item
      • Edit an alert item
      • Delete an alert item
      • Alert groups
      • Create an alert channel
      • View alert channels
      • Edit an alert channel
      • Delete an alert channel
      • View alert events
      • View the alert notification history
      • Create a blocking condition
      • Edit a blocking condition
      • Delete a blocking condition
      • Add a filtering keyword
      • Modify the expiration time of a filter keyword
      • Delete a filter keyword
      • Create an alert subscription
      • Manage alert subscriptions
    • Use system management
      • Role overview
      • Create a role
      • Manage roles
      • Copy a role
      • Create a user
      • View users
      • Edit a user
      • Copy a user
      • Change a user password
      • Delete a user
      • Logon history
      • Manage system parameters
      • Manage tasks
      • Query logs
    • User center management
      • Create a connection
      • Export connection credentials
      • Import connection credentials
      • Share connection credentials
      • Edit connection credentials
      • Delete connection credentials
      • Batch operations on connection credentials
      • Accept a connection
      • Ignore a connection
    • FAQ
    • Appendix
      • OCP configuration parameters
      • SQL performance module
      • OCP resource unit specifications
      • OCP error codes
      • OCP alert template variables
      • Call an alert API
      • OCP background tasks
      • Monitoring metrics
      • Examples of alert channel configuration
      • OBProxy startup parameters
      • System privileges in a MySQL tenant
      • Component listening port list
      • OCP-Agent processes
      • Enable the OCP multi-cluster mode
      • PAM permission denied
      • Failed to upload the software package
      • Check the sudo permissions of a user
      • Default OCP roles
      • FAQ about multi-zone mode
      • FAQ about OBProxy takeover
      • Install dependent software
      • Use OCP-Agent to push time-series monitoring data
  • Alert Reference
    • Alert Reference
    • OceanBase alerts
      • ob_cannot_connected
      • ob_cluster_rs_not_same
      • ob_cluster_status_check_failed
      • ob_cluster_exists_inactive_server
      • ob_cluster_exists_index_fail_table
      • ob_cluster_frozen_version_delta_over_threshold
      • ob_cluster_merge_error
      • ob_cluster_merge_timeout
      • ob_cluster_no_frozen
      • ob_cluster_no_merge
      • ob_cluster_operation_info
      • ob_cluster_sync_failed
      • ob_cpu_assigned_percent_over_threshold
      • ob_cpu_percent_over_threshold
      • ob_host_connection_percent_over_threshold
      • ob_host_disk_readonly
      • ob_tenant_expired_trans_exist
      • ob_host_load1_per_cpu_over_threshold
      • ob_host_partition_count_over_threshold
      • ob_log_alarm
      • ob_mem_assigned_percent_over_threshold
      • ob_server_sstable_percent_over_threshold
      • ob_tenant_long_trans_exist
      • ob_tenant_operation_info
      • ob_tenant500_mem_hold_over_threshold
      • ob_tenant500_mem_hold_percent_over_threshold
      • ob_zone_sstable_percent_over_threshold
      • tenant_active_memstore_percent_over_threshold
      • tenant_cpu_percent_over_threshold
      • tenant_memstore_percent_over_threshold
      • obproxy_process_dead
      • obproxyd_process_dead
      • obproxy_cannot_connected
      • ob_cluster_sync_delay_time_too_long
      • ob_host_data_disk_percent_over_threshold
      • ob_host_log_disk_percent_over_threshold
      • ob_host_install_disk_percent_over_threshold
      • ob_tenant_exists_expired_xa_trans
      • ob_cluster_active_session_count_over_threshold
      • ob_tenant_active_session_count_over_threshold
      • ob_host_active_session_count_over_threshold
      • ob_tenant_full_clog_sync_delay
      • ob_tenant_readonly_clog_sync_delay
      • ob_tenant_logonly_clog_sync_delay
      • ob_tenant_slow_sql_exists
      • ob_tenant_large_trans_exist
      • same_alarm_rule_detect_too_many_targets
      • ob_tenant_task_timeout
      • ob_tenant_expired_trans_exist
      • ob_tenant_long_trans_exist
      • ob_host_task_timeout
      • ob_tenant_log_disk_usage_high
      • ob_tenant_no_compaction
      • ob_tenant_no_frozen
      • ob_tenant_compaction_error
    • Application alerts
      • ob_cluster_inspection_not_passed
      • ob_host_ssd_wear_indicator_over_threshold
      • ob_host_mem_percent_over_threshold
      • ob_host_net_recv_percent_over_threshold
      • ob_host_net_send_percent_over_threshold
      • ob_host_tcp_retrans_percent_over_threshold
      • ob_host_cpu_percent_over_threshold
      • no_enough_exporter
      • inc_backup_delay
      • base_backup_fail
      • base_backup_too_long_time_no_one_success_task
      • backup_process_dead
      • backup_storage_capacity_over_threshold
      • backup_storage_capacity_retry_times_exceeded
      • backup_storage_capacity_timeout_or_interrupted
      • ocp_remote_server_time_diff_too_large
      • monitor_exporter_unavaliable
      • system_obproxy_unavailable
      • host_unavailable
      • host_ntp_offset_too_large
      • host_ntp_service_not_exist
      • host_agent_res_memory_over_threshold
      • host_agent_open_fd_count_over_threshold
      • host_agent_goroutine_count_over_threshold
      • partition_create_failed
      • obagent_dead
      • host_disk_readonly
      • ic_server_connect_failed Inter-Connector
      • vpc_connect_failed
      • node_load1_peak
    • OAS alerts
      • os_cpu_irq_error
      • os_tsar_cpu_sys_abnormal
      • os_observer_fd_usage
      • os_tsar_cpu_util_full
      • os_tsar_cpu_util_hwm
      • os_kernel_io_hang
      • os_tsar_sda_ioawait
      • os_tsar_nvme_ioawait
      • os_tsar_traffic_drop
      • os_tsar_traffic_error
      • os_observer_not_exist
      • os_observer_core_dump
      • os_nic_1000m_full
      • os_nic_1000m_hwm
      • os_tsar_traffic_overload
      • node_file_root_usage
      • node_file_inode_usage
      • os_kernel_ntp_down
      • os_kernel_ntp_delay
      • node_memory_peak
      • os_home_file_usage
      • node_file_data1_usage
      • node_file_datalog1_usage
    • Appendix
      • Set an alert-blocking condition
      • Modify alert thresholds
      • Exception handling for OceanBase cluster compaction
      • OCP-Agent script
      • Apply throttling to an OceanBase cluster
      • Network troubleshooting
      • Tables managed by the daemon
      • Examples of alert channel configuration
  • API Reference
    • Overview
    • API call description
    • Cluster information
      • Query clusters
      • Create an OceanBase cluster
      • Delete an OceanBase cluster
      • Stop an OceanBase cluster
      • Start an OceanBase cluster
      • Restart an OceanBase cluster
      • Upgrade an OceanBase cluster
      • Query zones of an OceanBase cluster
      • Create a zone for an OceanBase cluster
      • Delete a zone from an OceanBase cluster
      • Stop a zone in an OceanBase cluster
      • Start a zone in an OceanBase cluster
      • Restart a zone in an OceanBase cluster
      • Add an OBServer
      • Delete multiple OBServers at a time
      • Stop an OBServer
      • Start an OBServer
      • Restart an OBServer
      • Replace an OBServer
      • Change the password of an OceanBase cluster
      • Query the parameter metadata of an OceanBase cluster
      • Query parameters of an OceanBase cluster
      • Modify parameters of an OceanBase cluster
      • Query servers
      • Query servers in a zone
    • Tenant information
      • Query tenants of a cluster
      • Query all tenants
      • Query details about a tenant
      • Create a tenant
      • Create a tenant
      • Delete a tenant
      • Lock a tenant
      • Unlock a tenant
      • Query units of a tenant
      • Delete a unit from a tenant
      • Add a replica for a tenant
      • Delete a replica of a tenant
      • Modify a replica of a tenant
      • Modify zone priorities of a tenant
      • Change the administrator password of a tenant
      • Modify the whitelist of a tenant
      • Query parameters of a tenant
      • Modify parameters of a tenant
      • Database management
        • Query databases
        • Create a database
        • Modify a database
        • Delete a database
    • Hosts
      • Query regions
      • Query details about a region
      • Add a region
      • Delete a region
      • Query IDCs
      • Query details about an IDC
      • Add an IDC
      • Delete an IDC
      • Query host types
      • Query details about a host type
      • Add a host type
      • Delete a host type
      • Query hosts
      • Query details about a host
      • Add multiple hosts at a time
      • Delete a host
      • Delete multiple hosts at a time
    • Software packages
      • Query software packages
      • Upload a software package
      • Delete a software package
    • OBProxy management
      • Create an OBProxy cluster
      • Delete an OBProxy cluster
      • Query OBProxy clusters
      • Query details about an OBProxy cluster
      • Update configurations of an OBProxy cluster
      • Add an OBProxy
      • Take over an OBProxy
      • Delete an OBProxy
      • Restart an OBProxy
      • Upgrade an OBProxy
      • Add a connectable OceanBase cluster for an OBProxy cluster
      • Remove a connectable OceanBase cluster from an OBProxy cluster
      • Query the parameter metadata of an OBProxy
      • Query parameters of an OBProxy cluster
    • Monitoring
      • Query the metadata of a monitoring metric
      • Query monitoring data
      • Query monitoring data and attach a tag to the data
    • Alerts
      • Alert events
        • Query the alert event list
        • Query alert events
      • Alert notifications
        • Query alert notifications
    • Task management
      • Query tasks
      • Query details about a task
      • Retry a task
      • Roll back a task
      • Query logs of a subtask instance
      • Retry a subtask
      • Skip a subtask
      • Cancel a subtask
    • OceanBase user and privilege management
      • Query database user details
      • Query database user details
      • Create a database user
      • Delete a database user
      • Change the password of a database user
      • Lock a database user
      • Unlock a database user
      • Query the database role details
      • Query database role details
      • Create a database role
      • Delete a database role
      • Query database objects
      • Grant global privileges to a user
      • Revoke global privileges of a user
      • Change global privileges of a user
      • Grant global privileges to a role
      • Revoke global privileges of a role
      • Change global privileges of a role
      • Grant roles to a user
      • Revoke roles of a user
      • Change roles of a user
      • Grant roles to a role
      • Revoke roles of a role
      • Change roles of a role
      • Grant database privileges to a user
      • Revoke database privileges of a user
      • Change database privileges of a user
      • Grant object privileges to a user
      • Revoke object privileges of a user
      • Change object privileges of a user
      • Grant object privileges to a role
      • Revoke object privileges of a role
      • Change object privileges of a role
    • OCP Agent management
      • Query OCP Agent details on a host
      • Stop basic OCP Agent processes on a host
      • Batch stop basic OCP Agent processes on a host
      • Restart basic OCP Agent processes on a host
      • Batch restart basic OCP Agent processes on a host
      • Query OCP Agent processes on a host
      • Restart OCP Agent processes on a host
      • Stop OCP Agent processes on a host
    • SQL performance
      • Query performance indicators of an SQL statement
      • Query the performance indicator trend of an SQL statement
      • Query SQL text
      • Query performance indicators of an execution plan
      • Query the performance indicator trend of an execution plan
      • Query the operator structure of an execution plan
    • Backup and recovery
      • Query backup capabilities of a cluster
      • Create a backup strategy for a cluster
      • Modify the backup strategy of a cluster
      • Delete the backup strategy of a cluster
      • Query the backup strategy of a cluster
      • Query the backup overview of a cluster
      • Query data backup tasks of a cluster
      • Query log backup tasks of a cluster
      • Query recovery tasks of a cluster
      • Query recovery tasks of a cluster
      • Parse cluster backup data
      • Initiate tenant recovery
    • Others
      • Query the basic information of an OCP application
      • Query OCP server time
      • Query OCP application status
    • Appendix
      • Task information
      • View alerts through APIs

Download PDF

Document Overview What is OceanBase Cloud Platform? System architecture Features System requirements Dependencies Overview Installation process User planning Host planning Disk and directory planning Port planning Prepare for the installation Modify the configuration file Deploy OCP Upgrade OCP Check after deployment or update Install Docker Uninstall OCP Restart OCPOCP overview Log on to the OCP console Packages Cluster management operations View the topology of a cluster Overview of cluster tenant managementPerformance monitoring Manage cluster parameter templates Tenant management operations View the topology of a tenantDatabase managementUser management under a tenantPerformance monitoringTenant resource management Manage tenant parameter templatesHost management operationsAdd a hostModify a hostRestart OCP AgentReinstall OCP AgentUpload a software packageDownload a software packageDelete a software packageCreate an OBProxy clusterDelete an OBProxy Restart an OBProxy Upgrade an OBProxy Add an OBProxyRefresh OBProxy configurations Monitor OBProxy cluster performance OBProxy cluster parameter managementAdd a connectable OceanBase clusterDelete an OBProxy cluster Upgrade all OBProxies in an OBProxy cluster Restart all OBProxies in an OBProxy cluster Delete a connected OceanBase cluster Alert-related conceptsCreate an alert itemView alert items Copy an alert item Edit an alert item Delete an alert item Alert groups Create an alert channelView alert channels Edit an alert channel Delete an alert channel View alert events View the alert notification history Create a blocking condition Edit a blocking condition Delete a blocking condition Add a filtering keyword Modify the expiration time of a filter keyword Delete a filter keyword Create an alert subscription Manage alert subscriptions Role overviewCreate a roleManage rolesCopy a roleCreate a userView usersEdit a userCopy a userChange a user passwordDelete a userLogon historyManage system parametersManage tasks Query logs Create a connection Export connection credentials Import connection credentials Share connection credentials Edit connection credentials Delete connection credentials Batch operations on connection credentials Accept a connection Ignore a connection
OceanBase logo

The Unified Distributed Database for the AI Era.

Follow Us
Products
OceanBase CloudOceanBase EnterpriseOceanBase Community EditionOceanBase seekdb
Resources
DocsBlogLive DemosTraining & Certification
Company
About OceanBaseTrust CenterLegalPartnerContact Us
Follow Us

© OceanBase 2026. All rights reserved

Cloud Service AgreementPrivacy PolicySecurity
Contact Us
Document Feedback
  1. Documentation Center
  2. OceanBase Cloud Platform
  3. V4.0.0
iconOceanBase Cloud Platform
V 4.0.0Community Edition
  • V 4.3.6
  • V 4.3.5
  • V 4.3.4
  • V 4.3.3
  • V 4.3.2
  • V 4.3.1
  • V 4.3.0
  • V 4.2.2
  • V 4.0.0 and earlier
Community Edition
  • V 4.0.0
  • V 3.1.1
Enterprise Edition
  • V 4.0.0
  • V 3.3.1

Examples of alert channel configuration

Last Updated:2026-04-14 07:16:06  Updated
share
What is on this page
DingTalk group messages
Procedure
DingTalk group messages in Markdown format
Custom script channel
Python script example
Bash script example

folded

share

This topic provides examples of alert channel configuration for your reference.

DingTalk group messages

DingTalk group messages can be sent through the Webhook of a DingTalk Chatbot. For more information about the chatbot, see DingTalk Chatbot Documentation.

Procedure

  1. Configure a chatbot for a DingTalk group.

    To do this, you need to record the Webhook URL of the chatbot. A custom chatbot can be used only after you have completed the security settings. The HTTP channel of the OceanBase Cloud Platform (OCP) alerts supports only custom keywords and IP address (CIDR block) settings. The security settings for DingTalk Chatbot are shown in the following figure.

    1

    • Set the custom keywords . The custom keywords must match the message template configured in the OCP alert channel. If the first line of the default template contains "OCP Alert Notification", you can set the keyword to "OCP Alert".

    • Set the IP address . Note that the IP address must be the public IP address of the OCP server. You can run the curl ifconfig.me command to view the public IP address of the OCP server. If your server does not have a fixed public IP address, contact your network administrator for the public CIDR block.

  2. When you create an alert channel, select HTTP for the channel type, Phone Number for the Recipient field, and Yes for the Group Message Channel.

  3. Configure the notification content.

  4. Configure the channel.

    • Request method: POST.

    • URL template: Content-Type:application/json; charset=utf-8

      Note

      The URL template is the Webhook URL recorded in step 1.

    • Header template: Content-Type:application/json; charset=utf-8

    • Body template

      {
        "msgtype": "text ",
        "text": {
          "content": ${message_json}
        },
        "at": {
          "atMobiles": ${recipients_json_array},
          "isAtAll": false
        }
      }
      

Note

The request body is in JSON format. When you reference variables that end with _json or json_array, do not enclose them in quotation marks (") because the variable values have been serialized in JSON format and the quotation marks (") will result in a JSON format error. However, when you reference non-JSON variables, you must enclose them in quotation marks ("). For example "{message}".

DingTalk group messages in Markdown format

DingTalk supports messages in Markdown format. The following example uses Markdown to format rich-text messages. Except for several templates, the rich-text messages are configured in the same way as the text messages. For example, you can change the font color for messages by referencing ${alarm_level_color}.

For message types supported by DingTalk, see DingTalk Developer Guide.

  • Message template

    <font color=${alarm_level_color}>OCP Alert Notification - Single Alert</font>
    > - Name: `${alarm_name}`
    > - Level: '${alarm_level}'
    > - Alert target: '${alarm_target}'
    > - Summary: '${alarm_summary}'
    > - Generation time: '${alarm_active_at}'
    > - Description: `${alarm_description}`
    > - [View in OCP](${alarm_url})
    
  • Message aggregation template

    <font color=${alarm_level_color}>OCP Alert Notification - Multiple Alerts</font>
    > - Name: `${alarm_name}`
    > - Level: '${alarm_level}'
    > - Alerts: '${alarm_count}'
    > - Aggregation group: '${alarm_group_by}'
    > - Alert target: '${alarm_target}'
    > - Generation time: '${alarm_active_at}'
    
  • Body template

    {
        "msgtype": "markdown",
        "markdown": {
            "title": "DingTalk OCP alert message Markdown formatting test",
            "text": ${message_json}
        }
    }
    

Custom script channel

The custom script channel is designed for special scenarios. It is typically used when you cannot configure alerts in the HTTP channel or you have special alert format requirements. You can customize some special logic in the script. For example, you can customize a script channel to change the alert time or add default variables to third-party alert gateways.

  • Basic Information: Select Custom Script for the Channel Type, and set other options as needed.

  • Message template

    OCP Alert Notification - Single Alert
    - Name: ${alarm_name}
    - Level: ${alarm_level}
    - Alert target: ${alarm_target}
    - Summary: ${alarm_summary}
    - Generation time: ${alarm_active_at}
    - Description: ${alarm_description}
    - OCP URL: ${alarm_url}
    
  • Message aggregation template

    OCP Alert Notification - Multiple Alerts
    - Name: ${alarm_name}
    - Level: ${alarm_level}
    - Alerts: ${alarm_count}
    - Aggregation group: ${alarm_group_by}
    - Alert target: ${alarm_target}
    - Generation time: ${alarm_active_at}
    
  • Script file name: The system provides a default custom script sample alarm_send_script_demo.sh. You can modify this script or refer to Python script example and Bash script example to create custom scripts. When you modify or create a script, make sure that the script file is stored in the /home/admin directory of each OCP.

  • Send test messages: When you debug a script, you can send a test message for testing. By default, the message contains the variable ${message} in the script. Make sure that the variable is included in the body of the message sent. The logic for determining whether a custom script is sent depends on the actual situation. The system determines that a script is sent as long as it is executed. However, in the developer mode of your browser, you can debug a script based on the response to the _test request of the test message sent.

Python script example

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# Note: The first line of the script must use a shebang to specify the program to use. Only Python and bash are supported.

import os
import sys


def send_alarm():
    """
    You can use the os.environ function to obtain the values of alert-related variables from environment variables. 
    For more information about the supported variables, see Appendix 4 OCP alert template variables in the User Guide of OCP V3.1.2. 
    """
    message = os.environ['message']
    print("Alert message: {}".format(message))
    with open("./alarm_output.txt", "a") as file_object:
        file_object.write("{}\n".format(message))


def main():
    """
    Return 0 if succeeded.
    Return a non-zero value if failed. The error is printed to stderr.
    """
    try:
        send_alarm()
        print("send alarm success")
        return 0
    except Exception as e:
        sys.stderr.write(str(e))
        return 1


if __name__ == '__main__':
    sys.exit(main())

Bash script example

#!/bin/env bash

# should contains shebang in first line, only python/bash are supported

echo "Below is a list of alarm paras"

# below variables can be referenced by prefix "$", for example, $alarm_name or ${alarm_name}

echo "alarm_name:$alarm_name"
echo "app_type:$app_type"
echo "alarm_threshold:$alarm_threshold"
echo "alarm_time=$alarm_time"
echo "alarm_last_interval:$alarm_last_interval"
echo "alarm_time:$alarm_time"
echo "alarm_level:$alarm_level"
echo "alarm_type:$alarm_type"
echo "alarm_summary:$alarm_summary"
echo "alarm_url:$alarm_url"
echo "app:$app"
echo "alarm_duration:$alarm_duration"
echo "alarm_status:$alarm_status"
echo "alarm_scope:$alarm_scope"
echo "alarm_active_at:$alarm_active_at"
echo "alarm_target:$alarm_target"
echo "alarm_description:$alarm_description"
echo "message:$message"
echo "receiver:$receiver"
echo "alarm_id:$alarm_id"

# this function defines to how to assembly request by yourself according to your requirements
# this demo shows you how to send alarm to ding ding
function send() {
    # this token is ding ding group token, please apply and assign it to variable token
    token=''
    # URL="https://oapi.dingtalk.com/robot/send?access_token=$token"
    URL=''
    curl -X POST ${URL} -H 'Content-Type: application/json' -d '{"msgtype":"text","text":{"content":"'"${message}"'"}}'
    return $?
}

# invoke function to
send
return $?

Previous topic

Monitoring metrics
Last

Next topic

OBProxy startup parameters
Next
What is on this page
DingTalk group messages
Procedure
DingTalk group messages in Markdown format
Custom script channel
Python script example
Bash script example