You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -24,7 +24,7 @@ Please, check [latest version](https://github.com/dsrvlabs/vatz/releases) or che
24
24
You will see binary named `vatz`
25
25
26
26
27
-
### 3. Initialize VATZ
27
+
### 1.3. Initialize VATZ
28
28
```
29
29
$ ./vatz init
30
30
```
@@ -37,7 +37,7 @@ You can also use `--all` flag to add all default setting of [official plugins](h
37
37
38
38
## 2. VATZ Plugin
39
39
40
-
### 1. Copy the plugin address
40
+
### 2.1. Copy the plugin address
41
41
42
42
We officially provide 4 plugins for System Utility and 5 plugins for CosmosHub node.
43
43
> **Official Plugin Repositories**
@@ -56,7 +56,7 @@ You can also use `--all` flag to add all default setting of [official plugins](h
56
56
But you can easily develop custom plugins for the feature that you want with [VATZ SDK](https://github.com/dsrvlabs/vatz/tree/main/sdk). You could fine community provided plugins in [community_plugins.md](https://github.com/dsrvlabs/vatz/blob/main/docs/community_plugins.md). Feel free to add your custom plugins to community_plugins.md to share with others.
There's yaml file as config, and the default config must be updated by yourself to set up VATZ service and clients
92
+
# 4. Set VATZ configs for your own use
93
+
94
+
## 4.1. Modify default.yaml (VATZ)
95
+
There's a YAML file for configuration, and you'll need to update the default settings yourself to properly set up the VATZ service and clients.
95
96
sample:
96
97
> This is default.yaml, please update secrets, and etc for your node use.
97
98
```
98
99
vatz_protocol_info:
100
+
home_path: "~/.vatz"
99
101
protocol_identifier: "Put Your Protocol here"
100
102
port: 9090
101
103
health_checker_schedule:
102
104
- "0 1 * * *"
103
105
notification_info:
104
106
host_name: "Put your machine's host name"
105
107
default_reminder_schedule:
106
-
- "*/15 * * * *"
108
+
- "*/30 * * * *"
107
109
dispatch_channels:
108
110
- channel: "discord"
109
111
secret: "Put your Discord Webhook"
110
112
- channel: "pagerduty"
111
113
secret: "Put your PagerDuty's Integration Key (Events API v2)"
114
+
- channel: "slack"
115
+
secret: "Put Your Slack Webhook url"
116
+
subscriptions:
117
+
- "Please, put Plugin Name that you specifically subscribe to send notification."
112
118
- channel: "telegram"
113
119
secret: "Put Your Bot's Token"
114
120
chat_id: "Put Your Chat's chat_id"
115
121
reminder_schedule:
116
122
- "*/5 * * * *"
117
-
118
123
rpc_info:
119
124
enabled: true
120
125
address: "127.0.0.1"
121
126
grpc_port: 19090
122
127
http_port: 19091
123
-
124
128
monitoring_info:
129
+
gcp:
130
+
gcp_cloud_logging_info:
131
+
enabled: true
132
+
cloud_logging_credential_info:
133
+
project_id: "Please, Set your GCP Project id"
134
+
credentials_type: "Check the Credential Type: ADC: Application, SAC: Default Credentials, Service Account Credentials, APIKey: API Key, OAuth: OAuth2"
135
+
credentials: "Put your credential Info"
136
+
checker_schedule:
137
+
- "* * * * *"
125
138
prometheus:
126
139
enabled: true
127
140
address: "127.0.0.1"
128
141
port: 18080
129
-
130
142
plugins_infos:
131
143
default_verify_interval: 15
132
144
default_execute_interval: 30
@@ -135,12 +147,19 @@ plugins_infos:
135
147
- plugin_name: "samplePlugin1"
136
148
plugin_address: "localhost"
137
149
plugin_port: 9001
150
+
executable_methods:
151
+
- method_name: "sampleMethod1"
152
+
- plugin_name: "samplePlugin2"
153
+
plugin_address: "localhost"
138
154
verify_interval: 7
139
155
execute_interval: 9
156
+
plugin_port: 10002
140
157
executable_methods:
141
-
- method_name: "sampleMethod1"
158
+
- method_name: "sampleMethod2"
159
+
142
160
```
143
-
### Update VATZ protocol Infos
161
+
162
+
### 4.1.1. update VATZ protocol Infos
144
163
145
164
1.`port`: Check your machine used port number. If you set it to a port number that is already in use, an error will occur.
146
165
2.`health_checker_schedule`: Use cron expression to set the time to check if vatz is alive.
@@ -151,19 +170,41 @@ plugins_infos:
151
170
5.`monitoring_info`: Check address and port to use monitoring. Currently, VATZ supports monitoring only through Prometheus-Grafana.
152
171
153
172
154
-
## Update Monitoring info
173
+
### 4.1.2. Update Monitoring info
155
174
156
-
## 1. Update Plugin Infos
175
+
#### 1. GCP Integration
176
+
> GCP: VATZ can be integrated with Google Cloud Platform (GCP) to send specific data, such as liveness information and plugin statuses, to Google Cloud Logging.
177
+
-**``gcp``**
178
+
-**`gcp_cloud_logging_info`**: Manages the integration of VATZ with GCP Cloud Logging.
179
+
-**`enabled`**: Set to `true` or `false` to enable or disable this feature.
180
+
-**`project_id`**: Specify your GCP `project_id` to enable the logging service.
181
+
-**`credentials_type`**: Define the type of credentials used. Supported options:
182
+
-1.`ADC`: Application Default Credentials.
183
+
-2.`SAC`: Service Account Credentials.
184
+
-3.`APIKey`: API Key.
185
+
-4.`OAuth`: OAuth2.
186
+
-**`credentials`**: Provide the path to your credentials or include the key directly. If a URL is provided, the credentials will be downloaded to memory, not stored on disk.
187
+
-**`checker_schedule`**: Set the interval for periodic checks, in seconds.
188
+
189
+
#### 2. Prometheus Integration
190
+
> VATZ can collect its own metrics using Prometheus which helps you to manage VATZ by Grafana.
191
+
-**``prometheus``**
192
+
-**`enabled`**: Set to `true` or `false` to enable or disable this feature.
193
+
-**`address`**: Specify the address where Prometheus will run.
194
+
-**`port`**: Define the port number for the Prometheus service.
195
+
196
+
197
+
### 4.1.3. Update Plugin Infos
157
198
158
199
1.`plugin_name`: Refer to the plugin name you installed.
159
200
2.`plugin_port`: Set your plugin used port number to connect the plugin.
160
201
3.`verify_interval`: You can set the interval to check if the plugin is connected. The default interval is 15s.
161
202
4.`execute_interval`: You can set the interval to execute the plugin method. The default interval is 30s.
Alert notifications are sent to the configured channels when issues are detected in the monitored node. The specific alert conditions depend on each plugin.
208
256
209
-
### 3. Notification
210
-
The alert notification will be sent to configured channels if there are problems in the monitored node. The alert conditions vary for each plugin.
257
+
> Dispatcher channels can be configured to operate in two modes
258
+
> -**Non-subscription mode**
259
+
> -**Subscription-based mode**
260
+
261
+
Below are examples of both modes, along with the list of installed plugins:
1.**Non-subscription mode**: In this mode, notifications are automatically delivered from any declared plugin that meets its own alert conditions. All registered dispatcher channels will send alert messages from all plugins.
In this mode, there is no need to set any specific subscriptions. If any plugin’s alert conditions are met, the alert messages will be sent to both Discord and PagerDuty.
284
+
285
+
2.**Subscription-based mode**: This mode allows you to subscribe to specific plugins, ensuring that you receive notifications only from those you select. In this case, only alert messages from your subscribed plugins will be delivered through the dispatcher channel.
In the example above, only alert messages from the `cosmos_watcher` and `shentu_watcher` plugins will be sent to PagerDuty. Alerts from the `osmosis_watcher` plugin will be ignored for Pagerduty channel.
0 commit comments