Setting Alarm
Alarm
Application's status is periodically checked and alarm is triggered if certain pre-configured conditions (rules) are satisfied.
pinpoint-batch server checks every 3 minutes based on the last 5 minutes of data. And if the conditions are satisfied, it sends sms/email/webhook to the users listed in the user group.
If an email/sms/webhook is sent everytime when the threshold is exceeded, even after the recipients are aware of the event they might get the same alarms continuously which we thought might be unneccessary. Therefore we decided to gradually increase the transmission frequency for alarms. ex) If an alarm occurs continuously, transmission frequency is increased by a factor of two. 3 min -> 6min -> 12min -> 24min
NOTICE!
These logics were part of pinpoint-web server and ran in the background until v2.2.0 From v2.2.1 it is separated into pinpoint-batch server. Since the batch logic(code) in pinpoint-web will be deprecated in the future, we advise you to transfer the execution of batch to pinpoint-batch server.
Webhook function is newly added in v2.1.1, and has some changes in v2.3.1. In both versions, MYSQL table needs to be changed. Please check the notice on these changes in 2.1.1
1. User Guide
1) Configuration menu
2) Register users
3) Create user groups
4) (Optional) Add webhooks
5) Set alarm rules
Alarm Rules
2. Configuration & Implementation
Alarms generated by Pinpoint can be configured to be sent over email, sms and webhook.
Sending alarms over email is simple - you will simply need to configure the property file. Sending alarms over sms requires some implementation. Read on to find out how to do this. The alarm using webhook requires a separate webhook receiver service. You should implement the webhook receiver service - which is not provided by Pinpoint, or You can use the sample project.
Few modifications are required in pinpoint-batch and pinpoint-web to use the alarm feature. Add some implementations and settings in pinpoint-batch. Configure Pinpoint-web for user to set an alarm settings.
2.1 Configuration & Implementation in pinpoint-batch
2.1.1) Email configuration, sms and webhook implementation
A. Email alarm service
To use the mailing feature, you need to configure the SMTP server information and information to be included in the email in the batch-root.properties file.
The class that sends emails is already registered as Spring bean in applicationContext-batch-sender.xml.
If you would like to implement your own mail sender, simply replace the SpringSmtpMailSender
, JavaMailSenderImpl
beans above with your own implementation that implements com.navercorp.pinpoint.web.alarm.MailSender
interface.
B. Sms alarm service
To send alarms over sms, you will need to implement your own sms sender by implementing com.navercorp.pinpoint.batch.alarm.SmsSender
interface. If there is no SmsSender
implementation, then alarms will not be sent over sms.
C. Webhook alarm service
Webhook alarm service is a feature that can transmit Pinpoint's alarm message through Webhook API.
The webhook receiver service that receives the webhook message should be implemented by yourself, or use a sample project provided (in this case Slack).
The alarm messages(refer to as payloads) sent to webhook receiver have the different schema depending on the Alarm Checker type. You can see the payload schemas in 3.Others - The Specification of webhook payloads and the examples.
To enable the webhook alarm service, You need to configure pinpoint.modules.web.webhook in application.yml file. Webhook receiver urls can be configured in web UI after configuring the web module to enable webhook as described in the following section.
NOTICE!
*** **MYSQL table ALTER for migrating to Pinpoint v2.1.1 *****
As the webhook alarm service is newly added in Pinpoint 2.1.1, you should add column
webhook_send
in tablealarm_rule
to your MYSQL server used for previous versions of Pinpoint.*** MYSQL table CREATE for migrating to Pinpoint v2.3.1 ***
Different webhook destinations can be specified to different alarms and new tables are added for this. Create table
webhook
andwebhook_send
as below in your MYSQL server used for previous versions of Pinpoint.Of course if you are migrating from versions lower than v2.1.1 to v2.3.1, all the changes above need to be applied.
WebhookSenderImpl class, which sends the webhook, is already implemented for you and is added as webhookSender bean in applicationContext-batch-sender.xml of Pinpoint-batch.
2.1.2) Configuring MYSQL
step 1
Prepare MYSQL Instance to persist the alarm service metadata.
step 2
Set up a MYSQL server and configure connection information in jdbc-root.properties file.
step 3
Create tables for the alarm service. Use below DDL files.
2.1.3) How to execute pinpoint-batch
The pinpoint-batch project is based on spring boot and can be executed with the following command. When building is successfully finished, the executable file is placed under the target/deploy folder of the pinpoint-batch.
2.2 How to configure pinpoint-web
2.2.1) Configuring MYSQL Server IP
In order to persist user alarm settings, set the mysql connection information in jdbc-root.properties file in pinpoint-web.
2.2.2) Enabling Webhook Alarm Service
Set pinpoint.modules.web.webhook in pinpoint-web-root.properties as true for user to configure the webhook alarm in Alarm menu.
As you enable the webhook alarm service, you can set the webhook as alarm type and specify the target webhook.
3. Others
3.1 Configuration, Execution, Performance.
1) You may change the batch execution period by modifying the cron expression in applicationContext-batch-schedule.xml file
2) Ways to improve alarm batch performance
The alarm batch was designed to run concurrently. If there are a lot of applications using alarms, you may increase the size of the executor's thread pool by modifying pool-size
in applicationContext-alarmJob.xml file.
Note that increasing this value will result in higher resource usage.
If there are a lot of alarms registered to each application, you may set the alarmStep
registered in applicationContext-alarmJob.xml file to run concurrently.
3) Use quickstart's web
Pinpoint Web uses Mysql to persist users, user groups, and alarm configurations, but our Quickstart example uses MockDAO to reduce memory usage. If you want to use Mysql with Quickstart, please refer to Pinpoint Web's applicationContext-dao-config.xml and jdbc.properties.
3.2 Details on Webhook
3.2.1) webhook receiver sample project
Slack-Receiver is an example project for the webhook receiver. The project can receive alarms from Pinpoint through webhook and send the message to Slack. If you want more details, see the project repository.
3.2.2) The Specification of webhook payloads and the examples
The Schemas of webhook payloads
Key
Name | Type | Description | Nullable |
---|---|---|---|
pinpointUrl | String | Pinpoint-web server URL | O |
batchEnv | String | Batch server environment variable | X |
applicationId | String | Alarm target application Id | X |
serviceType | String | Alarm target application service type | X |
userGroup | UserGroup | The UserGroup in the user group page | X |
checker | Checker | The checker info in the alarm setting page | X |
unit | String | The unit of detected value by checker | O |
threshold | Integer | The threshold of value detected by checker during a set time | X |
notes | String | The notes in the alarm setting page | O |
sequenceCount | Integer | The number of alarm occurence | X |
UserGroup
Name | Type | Description | Nullable |
---|---|---|---|
userGroupId | String | The user group id in the user group page | X |
userGroupMembers | UserMember[] | Members Info of a specific user group | X |
Checker
Name | Type | Description | Nullable |
---|---|---|---|
name | String | The name of checker in the alarm setting page | X |
type | String | The type of checker abstracted by value detected by checker "LongValueAlarmChecker" type is the abstracted checker type of βSlow Countβ, βSlow Rateβ, βError Countβ, βError Rateβ, βTotal Countβ, βSlow Count To Calleeβ, βSlow Rate To Calleeβ, βError Count To Calleeβ, βError Rate To Calleeβ, βTotal Count to Calleeβ. "LongValueAgentChecker" type is the abstracted checker type of "Heap Usage Rate", "Jvm Cpu Usage Rate", "System Cpu Usage Rate", "File Descriptor Count". "BooleanValueAgentChecker" type is the abstracted checker type of "Deadlock or not". "DataSourceAlarmListValueAgentChecker" type is the abstracted checker type of "DataSource Connection Usage Rate". | X |
detectedValue | Integer or DetectedAgent[] | The value detected by checker If βtypeβ is βLongValueAlarmCheckerβ, βdetectedValueβ is Integer type. If "type" is not "LongValueAlarmChecker", "detectedValue" is DetectedAgents[] type. | X |
UserMember
Name | Type | Description | Nullable |
---|---|---|---|
id | String | Member id | X |
name | String | Member name | X |
String | Member email | O | |
department | String | Member department | O |
phoneNumber | String | Member phone number | O |
phoneCountryCode | String | Member phone country code | O |
DetectedAgent
Name | Type | Description | Nullable |
---|---|---|---|
agentId | String | Agent id detected by checker | X |
agentValue | Integer or Boolean or DataSourceAlarm[] | The value of Agent detected by checker If βtypeβ is βLongValueAgentCheckerβ, βagentValueβ is Integer type. If βtypeβ is βBooleanValueAgentCheckerβ,βagentValueβ is Boolean type. If βtypeβ is βDataSourceAlarmListValueAgentCheckerβ, βagentValueβ is DataSourceAlarm[] type | X |
DataSourceAlarm
Name | Type | Description | Nullable |
---|---|---|---|
databaseName | String | The database name connected to application | X |
connectionValue | Integer | The application's DataSource connection usage | X |
The Examples of the webhook Payload
LongValueAlarmChecker
LongValueAgentChecker
BooleanValueAgentChecker
DataSourceAlarmListValueAgentChecker
Alarm
Pinpointλ application μνλ₯Ό μ£ΌκΈ°μ μΌλ‘ 체ν¬νμ¬ application μνμ μμΉκ° μκ³μΉλ₯Ό μ΄κ³Όν κ²½μ° μ¬μ©μμκ² μλμ μ μ‘νλ κΈ°λ₯μ μ 곡νλ€.
Application μν κ°μ΄ μ¬μ©μκ° μ€μ ν μκ³μΉλ₯Ό μ΄κ³Όνλμ§ νλ¨νλ batchλ pinpoint-batchμμ λμ νλ€. Alarm batchλ κΈ°λ³Έμ μΌλ‘ 3λΆμ νλ²μ© λμμ΄ λλ€. μ΅κ·Ό 5λΆλμμ λ°μ΄ν°λ₯Ό μμ§ν΄μ alarm 쑰건μ λ§μ‘±νλ©΄ user groupμ μν user λ€μκ² sms/email/webhook messageλ₯Ό μ μ‘νλ€.
μ°μμ μΌλ‘ μλ μ‘°κ±΄μ΄ μκ³μΉλ₯Ό μ΄κ³Όν κ²½μ°μ λ§€λ² sms/email/webhookλ₯Ό μ μ‘νμ§ μλλ€. μλ μ‘°κ±΄μ΄ λ§μ‘±ν λλ§λ€ λ§€λ² sms/email/webhookμ΄ μ μ‘λλκ²μ μ€νλ € λ°©ν΄κ° λλ€κ³ μκ°νκΈ° λλ¬Έμ΄λ€. κ·Έλμ μ°μν΄μ μλμ΄ λ°μν κ²½μ° sms/email/webhook μ μ‘ μ£ΌκΈ°κ° μ μ¦μ μΌλ‘ μ¦κ°λλ€. μ) μλμ΄ μ°μν΄μ λ°μν κ²½μ°, μ μ‘ μ£ΌκΈ°λ 3λΆ -> 6λΆ -> 12λΆ -> 24λΆ μΌλ‘ μ¦κ°νλ€.
μλ¦Ό
Batchλ pinpoint 2.2.0 λ²μ κΉμ§λ pinpoint-webμμ λμλμμ§λ§, 2.2.1 λ²μ λΆν°λ batchκ° pinpoint-batchμμ λμλλλ‘ λ‘μ§μ λΆλ¦¬νλ€.** **μμΌλ‘ pinpoint-webμ batchλ‘μ§μ μ κ±°λ₯Ό ν μμ μ΄λ―λ‘, pinpoint-webμμ batchλ₯Ό λμμν€λ κ²½μ° pinpoint-batchμμ batchλ₯Ό μ€ννλλ‘ κ΅¬μ±νλκ²μ μΆμ²νλ€.
μΉν κΈ°λ₯μ v2.1.1μ μ κ·λ‘ μΆκ°λμμΌλ©° v2.3.1μ κΈ°λ₯μ΄ κ°μ λμλ€. λ λ²μ λͺ¨λμμ MYSQL ν μ΄λΈ λ³κ²½μ΄ μμΌλ―λ‘, ν΄λΉ λ²μ μ΄μ μμ μ κ·Έλ μ΄λν κ²½μ°, 2.1.1 νλͺ©μμ κ΄λ ¨ λ³κ²½ μ¬νμ νμΈ ν μ μ©ν΄μΌ νλ€.
1. Alarm κΈ°λ₯ μ¬μ© λ°©λ²
1) μ€μ νλ©΄μΌλ‘ μ΄λ
2) userλ₯Ό λ±λ‘
3) userGroupμ μμ±
4) (μ νμ¬ν) webhook λ±
5) alarm ruleμ λ±λ‘
alarm ruleμ λν μ€λͺ μ μλλ₯Ό μ°Έκ³ νμμ€.
2. μ€μ λ° κ΅¬ν λ°©λ²
μλμ μ μ‘νλ λ°©λ²μ μ΄ 3κ°μ§λ‘μ, email, smsμ webhookμΌλ‘ μλμ μ μ‘ν μ μλ€.
email μ μ‘μ μ€μ λ§ μΆκ°νλ©΄ κΈ°λ₯μ μ¬μ©ν μ μκ³ , sms μ μ‘μ νκΈ° μν΄μλ μ§μ μ μ‘ λ‘μ§μ ꡬνν΄μΌ νλ€. webhook μ μ‘μ webhook messageλ₯Ό λ°λ webhook receiver μλΉμ€λ₯Ό λ³λλ‘ μ€λΉν΄μΌνλ€. webhook receiver μλΉμ€λ μν νλ‘μ νΈλ₯Ό μ¬μ©νκ±°λ μ§μ ꡬνν΄μΌ νλ€.
alarm κΈ°λ₯μ μ¬μ©νλ €λ©΄ pinpoint-batchμ pinpoint-webλ₯Ό μμ ν΄μΌνλ€. pinpoint-batchμλ alarm batch λμμ μν΄μ μ€μ λ° κ΅¬ν체λ₯Ό μΆκ°ν΄μΌ νλ€. pinpoint-webμλ μ¬μ©μκ° μλμ μΆκ°ν μ μλλ‘ μ€μ ν΄μΌνλ€.
2.1 pinpoint-batch μ€μ λ° κ΅¬ν λ°©λ²
2.1.1) email/sms/webhook μ μ‘ μ€μ λ° κ΅¬ν
A. email μ μ‘
email μ μ‘ κΈ°λ₯μ μ¬μ©νκΈ° μν΄μ batch-root.propertiesνμΌμ smtp μλ² μ 보μ emailμ ν¬ν¨λ μ 보λ€μ μ€μ ν΄μΌ νλ€.
μ°Έκ³ λ‘ applicationContext-batch-sender.xml νμΌμ emailμ μ μ‘νλ classκ° beanμΌλ‘ λ±λ‘ λμ΄μλ€.
λ§μ½ email μ μ‘ λ‘μ§μ μ§μ ꡬννκ³ μΆλ€λ©΄ μμ SpringSmtpMailSender, JavaMailSenderImpl bean μ μΈμ μ κ±°νκ³ com.navercorp.pinpoint.web.alarm.MailSender interfaceλ₯Ό ꡬνν΄μ beanμ λ±λ‘νλ©΄ λλ€.
B. sms μ μ‘
sms μ μ‘ κΈ°λ₯μ μ¬μ© νλ €λ©΄ com.navercorp.pinpoint.batch.alarm.SmsSender interfaceλ₯Ό ꡬννκ³ beanμΌλ‘ λ±λ‘ν΄μΌ νλ€. SmsSender ꡬν classκ° μλ κ²½μ° smsλ μ μ‘λμ§ μλλ€.
C. webhook μ μ‘
Webhook μ μ‘ κΈ°λ₯μ Pinpointμ Alarm messageλ₯Ό Webhook APIλ‘ μ μ‘ ν μ μλ κΈ°λ₯μ΄λ€.
webhook messageλ₯Ό μ μ‘λ°λ webhook receiver μλΉμ€λ μν νλ‘μ νΈλ₯Ό μ¬μ©νκ±°λ μ§μ ꡬνν΄μΌ νλ€. Webhook Receiver μλ²μ μ μ‘λλ Alarm message(μ΄ν payload)λ Alarm Checker νμ μ λ°λΌ μ€ν€λ§κ° λ€λ₯΄λ€. Checker νμ μ λ°λ₯Έ payload μ€ν€λ§λ 3.κΈ°ν - webhook νμ΄λ‘λ μ€ν€λ§ λͺ μΈ, μμμμ μ€λͺ νλ€.
webhook κΈ°λ₯μ νμ±ν νκΈ°μν΄μ, pinpoint.modules.web.webhook νμΌμ Webhook μ μ‘ μ¬λΆ(pinpoint.modules.web.webhook)λ₯Ό μ€μ νλ€. Receiver μλ² μ 보μ κ²½μ° 2.2 pinpoint-web μ€μ λ°©λ² κ°μ΄ web μ€μ μ λ§μΉ ν, UIλ₯Ό ν΅ν΄ μΆκ°ν μ μλ€.
μλ¦Ό *** Pinpoint v2.1.1λ‘ μ κ·Έλ μ΄λλ₯Ό νκΈ° μν MYSQL ν μ΄λΈ λ³κ²½ ***
webhook κΈ°λ₯μ΄ μΆκ°λλ©΄μ mysql ν μ΄λΈ μ€ν€λ§κ° μμ λμκΈ° λλ¬Έμ, Pinpoint 2.1.1 λ―Έλ§ λ²μ μμ 2.1.1 λ²μ μ΄μμΌλ‘ μ κ·Έλ μ΄λν κ²½μ° Mysqlμ 'alarm_rule' ν μ΄λΈμ 'webhook_send' 컬λΌμ μΆκ°ν΄μΌ λ€.
*** Pinpoint v2.3.1λ‘ μ κ·Έλ μ΄λλ₯Ό νκΈ° μν MYSQL ν μ΄λΈ μΆκ° μμ± ***
Pinpoint v2.1.1μμλ νλμ webhook receiverλ‘λ§ μλμ λ³΄λΌ μ μμλλ°, Pinpoint v2.3.1μμλΆν° κ° μλλ§λ€ μλ‘ λ€λ₯Έ webhook destinationμ μ€μ ν μ μλ€. μ΄λ₯Ό μν΄μ λ κ°μ μλ‘μ΄ MYSQL ν μ΄λΈμ΄ μΆκ°λμμΌλ©°, μλμ κ°μ΄ βwebhookβκ³Ό βwebhook_sendβν μ΄λΈμ μΆκ°ν΄μΌ νλ€.
λ¬Όλ‘ v2.3.1 μ΄μ λ²μ μμ λ°λ‘ v2.3.1λ‘ μ κ·Έλ μ΄λνλ κ²½μ°, μμ λͺ¨λ λ³κ²½μ¬νμ μ μ©ν΄μΌνλ€.
μ°Έκ³ λ‘ Webhookμ μ μ‘νλ ν΄λμ€(WebhookSenderImpl)λ Pinpointμμ μ΄λ―Έ μ 곡νκ³ μμΌλ©°, webHookSender beanμΌ Pinpoint-batchμ applicationContext-batch-sender.xml νμΌμ λ±λ‘ λμ΄μλ€.
2.1.2) MYSQL μλ² IP μ£Όμ μ€μ & table μμ±
step 1
μλμ κ΄λ ¨λ λ°μ΄ν°λ₯Ό μ μ₯νκΈ° μν΄ Mysql μλ²λ₯Ό μ€λΉνλ€.
step 2
mysql μ κ·Όμ μν΄μ pinpoint-batchμ jdbc-root.properties νμΌμ μ μ μ 보λ₯Ό μ€μ νλ€.
step 3
mysqlμ Alarm κΈ°λ₯μ νμν tableμ μμ±νλ€. table μ€ν€λ§λ μλ νμΌμ μ°Έμ‘°νλ€.
2.1.3) pinpoint-batch μ€ν λ°©λ²
pinpoint-batch νλ‘μ νΈλ spring bootκΈ°λ°μΌλ‘ λμ΄μκ³ μλμ κ°μ λͺ λ Ήμ΄λ‘ μ€ννλ©΄ λλ€. λΉλν μ€ννμΌμ pinpoint-batch λͺ¨λμ target/deploy ν΄λ νμμμ νμΈν μ μλ€.
2.2 pinpoint-web μ€μ λ°©λ²
2.2.1) MYSQL μλ² IP μ£Όμ μ€μ
μ¬μ©μ μλ μ€μ μ μ μ₯νκΈ° μν΄μ pinpoint-webμ jdbc-root.properties νμΌμ mysql μ μ μ 보λ₯Ό μ€μ νλ€.
2.2.2) webhook κΈ°λ₯ νμ±ν
μ¬μ©μκ° μλ μ€μ μ webhook κΈ°λ₯μ μ μ©ν μ μλλ‘ pinpoint-web-root.properties νμΌμ webhook κΈ°λ₯μ νμ±ννλ€.
webhook κΈ°λ₯μ νμ±ννλ©΄, μλ κ·Έλ¦Όμ²λΌ μλ μ€μ νλ©΄μμ webhookμ μλ νμ μΌλ‘ μ νν μ μλ€.
3. κΈ°ν
3.1 μ€μ , μ€ν, μ±λ₯
1) Batchμ λμ μ£ΌκΈ°λ₯Ό μ‘°μ νκ³ μΆλ€λ©΄ applicationContext-batch-schedule.xml νμΌμ cron expressionμ μμ νλ©΄ λλ€.
2) Alarm batch μ±λ₯μ λμ΄λ λ°©λ²μ λ€μκ³Ό κ°λ€.
Alarm batch μ±λ₯ νλμ μν΄μ λ³λ ¬λ‘ λμμ΄ κ°λ₯νλλ‘ κ΅¬νμ ν΄λ¨λ€. κ·Έλμ μλμμ μΈκΈλ 쑰건μ ν΄λΉνλ κ²½μ° μ€μ κ°μ μ‘°μ νλ€λ©΄ μ±λ₯μ ν₯μ μν¬ μ μλ€. λ¨, λ³λ ¬μ±μ λμ΄λ©΄ 리μμ€ μ¬μ©λ₯ μ΄ λμμ§λ κ²μ κ°μν΄μΌ νλ€.
Alarmμ΄ λ±λ‘λ applicationμ κ°μκ° λ§λ€λ©΄ applicationContext-alarmJob.xml νμΌμ poolTaskExecutorForPartitionμ pool sizeλ₯Ό λλ €μ£Όλ©΄ λλ€.
Application κ°κ°λ§λ€ λ±λ‘λ alarmμ κ°μκ° λ§λ€λ©΄ applicationContext-alarmJob.xml νμΌμ μ μΈλ alarmStepμ΄ λ³λ ¬λ‘ λμλλλ‘ μ€μ νλ©΄ λλ€.
3) Quickstart webμ μ¬μ©νλ€λ©΄.
Quickstart pinpoint webμ mockDAOλ₯Ό μ¬μ©νκΈ° λλ¬Έμ μΆκ°ν μλ μ€μ λ€μ΄ μ μ₯λμ§ μλλ€. Mysqlκ³Ό quickstartλ₯Ό μ°λν΄μ μ¬μ©νλ €λ©΄ λ€μμ μ€μ λ€μ μ°Έκ³ ν΄μ μμ ν κΈ°λ₯μ μ¬μ©ν΄μΌνλ€: applicationContext-dao-config.xml, jdbc.properties.
3.2 webhook μμΈ
3.2.1 Webhook receiver μμ νλ‘μ νΈ
Slack-Receiver λ Webhook Receiverμ μμ νλ‘μ νΈμ΄λ€. μ΄ νλ‘μ νΈλ Pinpointμ webhookμ μλμ λ°μμ SlackμΌλ‘ λ©μμ§λ₯Ό μ μ‘ν μ μλ μ€νλ§ λΆνΈλ‘ ꡬνλ μλΉμ€μ΄λ€. μ΄ νλ‘μ νΈμ μμΈν μ¬νμ ν΄λΉ GitHub μ μ₯μ λ₯Ό μ°Έκ³ νλ©΄ λλ€.
3.2.2 webhook νμ΄λ‘λ μ€ν€λ§ λ° μμ
νμ΄λ‘λ μ€ν€λ§
Key
Name | Type | Description | Nullable |
---|---|---|---|
pinpointUrl | String | Pinpoint-webμ μλ² URL μ£Όμ | O |
batchEnv | String | Batch μλ²μ νκ²½ λ³μ | X |
applicationId | String | νκ² μ ν리μΌμ΄μ ID | X |
serviceType | String | νκ² μ ν리μΌμ΄μ μλΉμ€ νμ | X |
userGroup | UserGroup | μ μ κ·Έλ£Ή νμ΄μ§μ μ μ κ·Έλ£Ή | X |
checker | Checker | alarm μ€μ νμ΄μ§μ checker μ 보 | X |
unit | String | checkerκ° κ°μ§ν κ°μ λ¨μ | O |
threshold | Integer | μ€μ λ μκ°λμ μ²΄μ»€κ° κ°μ§ν κ°μ μκ³μΉ | X |
notes | String | μλ μ€μ νμ΄μ§μ notes | O |
sequenceCount | Integer | μλ λ°μ νμ | X |
UserGroup
Name | Type | Description | Nullable |
---|---|---|---|
userGroupId | String | μ μ κ·Έλ£Ή νμ΄μ§μ μ μ κ·Έλ£Ή ID | X |
userGroupMembers | UserMember[] | νΉμ μ μ κ·Έλ£Ήμ λ©€λ² μ 보 | X |
Checker
Name | Type | Description | Nullable |
---|---|---|---|
name | String | μλ μ€μ νμ΄μ§μ checker μ΄λ¦ | X |
type | String | μ²΄μ»€κ° κ°μ§ν κ°μ μΆμ νμ , λ€μ μ€ νλμ ν΄λΉλ¨ "LongValueAlarmChecker" νμ μ "Slow Count", βSlow Countβ, βSlow Rateβ, βError Countβ, βError Rateβ, βTotal Countβ, βSlow Count To Calleeβ, βSlow Rate To Calleeβ, βError Count To Calleeβ, βError Rate To Calleeβ, βTotal Count to Calleeβμ μΆμ νμ μ μνλ€. "LongValueAgentChecker" νμ μ "Heap Usage Rate", "Jvm Cpu Usage Rate", "System Cpu Usage Rate", "File Descriptor Count"μ μΆμνμ μ΄λ€. "BooleanValueAgentChecker" νμ μ "Deadlock or not"μ μΆμ νμ μ΄λ€. "DataSourceAlarmListValueAgentChecker" νμ μ "DataSource Connection Usage Rate"μ μΆμνμ μ΄λ€. | X |
detectedValue | Integer or DetectedAgent[] | Checkerκ° κ°μ§ν κ° βLongValueAlarmCheckerβ, βdetectedValueβ νμ μ Integer νμ μ΄λ€. "LongValueAlarmChecker", "detectedValue"μ΄ μλ νμ μ DetectedAgents[] νμ μ΄λ€. | X |
UserMember
Name | Type | Description | Nullable |
---|---|---|---|
id | String | λ©€λ²μ id | X |
name | String | λ©€λ²μ name | X |
String | λ©€λ²μ email | O | |
department | String | λ©€λ²μ department | O |
phoneNumber | String | λ©€λ²μ phone number | O |
phoneCountryCode | String | λ©€λ²μ phone country code | O |
DetectedAgent
Name | Type | Description | Nullable |
---|---|---|---|
agentId | String | Checkerκ° κ°μ§ν μμ΄μ νΈ ID | X |
agentValue | Integer or Boolean or DataSourceAlarm[] | μ²΄μ»€κ° κ°μ§ν μμ΄μ νΈμ κ° βLongValueAgentCheckerβ, βagentValueβ μ Integer νμ μ΄λ€. βBooleanValueAgentCheckerβ,βagentValueβ μ Boolean νμ μ΄λ€.. βDataSourceAlarmListValueAgentCheckerβ, βagentValueβμ DataSourceAlarm[] νμ μ΄λ€. | X |
DataSourceAlarm
Name | Type | Description | Nullable |
---|---|---|---|
databaseName | String | μ ν리μΌμ΄μ μ μ μν λ°μ΄ν°λ² μ΄μ€ μ΄λ¦ | X |
connectionValue | Integer | Applicaitonμ DataSourceλ΄μ Connection μ¬μ©λ₯ | X |
webhook Payload μμ
LongValueAlarmChecker
LongValueAgentChecker
BooleanValueAgentChecker
DataSourceAlarmListValueAgentChecker
Last updated