├── .gitignore
├── grafana
└── provisioning
│ ├── datasources
│ └── config.yml
│ └── dashboards
│ ├── config.yml
│ ├── cosmos_dashboard.json
│ └── node_exporter_for_prometheus_multiline.json
├── alertmanager
├── templates
│ └── default.tmpl
└── config.yml.example
├── utils
├── install_docker.sh
└── install_node_exporter.sh
├── prometheus
├── server_alerts.yml
├── prometheus.yml.example
└── cosmos_alerts.yml
├── docker-compose.yml
├── README.md
└── LICENSE
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .idea
3 | /prometheus/prometheus.yml
4 | /alertmanager/config.yml
5 |
--------------------------------------------------------------------------------
/grafana/provisioning/datasources/config.yml:
--------------------------------------------------------------------------------
1 | apiVersion: 1
2 |
3 | datasources:
4 | - name: Prometheus
5 | type: prometheus
6 | access: proxy
7 | orgId: 1
8 | url: http://prometheus:9090
9 | isDefault: true
10 | version: 1
11 | editable: true
12 |
13 |
--------------------------------------------------------------------------------
/grafana/provisioning/dashboards/config.yml:
--------------------------------------------------------------------------------
1 | apiVersion: 1
2 |
3 | providers:
4 | - name: 'Provisioned Dashboards'
5 | orgId: 1
6 | type: file
7 | disableDeletion: false
8 | updateIntervalSeconds: 30
9 | allowUiUpdates: true
10 | options:
11 | path: /etc/grafana/provisioning/dashboards
12 |
--------------------------------------------------------------------------------
/alertmanager/templates/default.tmpl:
--------------------------------------------------------------------------------
1 | {{ define "telegram.default" }}
2 | {{ range .Alerts }}
3 |
4 | {{ if eq .Status "firing"}}
5 | 🔥 Firing: {{ .Labels.alertname }} 🔥
6 | {{ else }}
7 | ✅ Resolved: {{ .Labels.alertname }} ✅
8 | {{ end }}
9 | Description: {{ .Annotations.description }}
10 |
11 | Where:
12 | - job: {{ .Labels.job }}
13 | - instance: {{ .Labels.instance }}
14 | {{ if eq .Status "firing"}}
15 | Started at: {{ .StartsAt }}
16 | {{ else }}
17 | Started at: {{ .StartsAt }}
18 | Ended at: {{ .EndsAt }}{{ end }}{{ end }}{{ end }}
19 |
--------------------------------------------------------------------------------
/alertmanager/config.yml.example:
--------------------------------------------------------------------------------
1 | route:
2 | group_wait: 1m
3 | group_interval: 1m
4 | repeat_interval: 1h
5 | group_by: ['alertname', 'cluster', 'service']
6 | receiver: telegram
7 |
8 | templates:
9 | - "/etc/alertmanager/templates/*.tmpl"
10 |
11 | receivers:
12 | - name: telegram
13 | telegram_configs:
14 | - api_url: https://api.telegram.org
15 | parse_mode: "HTML"
16 | message: '{{ template "telegram.default" .}}'
17 | # chat_id: 111111111 # your telegram user id
18 | # bot_token: 1111111111:AAAAAAAAAAAAAAAAAAAAAAAAAA # your telegram bot token
19 |
--------------------------------------------------------------------------------
/utils/install_docker.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | sudo apt -q update
4 | sudo apt -qy install ca-certificates curl gnupg lsb-release
5 |
6 | sudo mkdir -p /etc/apt/keyrings
7 | curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
8 | sudo chmod a+r /etc/apt/keyrings/docker.gpg
9 | echo \
10 | "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
11 | $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list >/dev/null
12 |
13 | sudo apt -q update
14 | sudo apt -qy install docker-ce docker-ce-cli containerd.io docker-compose-plugin
15 |
16 | sudo usermod -aG docker $USER
17 |
--------------------------------------------------------------------------------
/prometheus/server_alerts.yml:
--------------------------------------------------------------------------------
1 | groups:
2 | - name: Server Alerts
3 | rules:
4 |
5 | - alert: HostDown
6 | expr: up == 0
7 | for: 5m
8 | labels:
9 | severity: major
10 | annotations:
11 | description: "Sever is down"
12 |
13 | - alert: HostOutOfMemory
14 | expr: node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 < 10
15 | for: 5m
16 | labels:
17 | severity: warning
18 | annotations:
19 | description: "Host memory is filling up (<10% left)"
20 |
21 | - alert: HostOutOfDiskSpace
22 | expr: (node_filesystem_avail_bytes * 100) / node_filesystem_size_bytes < 10 and ON (instance, device, mountpoint) node_filesystem_readonly == 0
23 | for: 2m
24 | labels:
25 | severity: warning
26 | annotations:
27 | description: "Disk is almost full (<10% left)"
28 |
29 | - alert: HostOutOfDiskSpaceWithin24H
30 | expr: predict_linear(node_filesystem_files_free{fstype!~"rootfs|nfs4|tmpfs"}[4h], 24 * 3600) < 0
31 | for: 5m
32 | labels:
33 | severity: warning
34 | annotations:
35 | description: "Disk space will be out within 24 hours"
36 |
37 | - alert: HostHighCPULoad
38 | expr: 100 - (avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m])) * 100) > 85
39 | for: 0m
40 | labels:
41 | severity: warning
42 | annotations:
43 | description: "High CPU load (>85%)"
44 |
--------------------------------------------------------------------------------
/utils/install_node_exporter.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Install the necessary packages
4 | sudo apt -q update
5 | sudo apt -qy install curl wget
6 |
7 | # Define the latest version of node_exporter
8 | VERSION=$(curl -s https://api.github.com/repos/prometheus/node_exporter/releases/latest | grep 'tag_name' | cut -d\" -f4 | cut -c2-)
9 | # Determine the operating system
10 | if [[ "$(uname -s)" == "Linux" ]]; then
11 | OS="linux"
12 | elif [[ "$(uname -s)" == "Darwin" ]]; then
13 | OS="darwin"
14 | else
15 | echo "Unsupported operating system"
16 | exit 1
17 | fi
18 |
19 | # Determine the architecture
20 | if [[ "$(uname -m)" == "x86_64" ]]; then
21 | ARCH="amd64"
22 | elif [[ "$(uname -m)" == "aarch64" ]]; then
23 | ARCH="arm64"
24 | else
25 | echo "Unsupported architecture"
26 | exit 1
27 | fi
28 |
29 | # Download and install node_exporter
30 | wget https://github.com/prometheus/node_exporter/releases/download/v${VERSION}/node_exporter-${VERSION}.${OS}-${ARCH}.tar.gz
31 | tar xvf node_exporter-${VERSION}.${OS}-${ARCH}.tar.gz
32 | rm node_exporter-${VERSION}.${OS}-${ARCH}.tar.gz
33 | sudo mv node_exporter-${VERSION}.${OS}-${ARCH} node_exporter
34 | chmod +x $HOME/node_exporter/node_exporter
35 | sudo mv $HOME/node_exporter/node_exporter /usr/bin
36 | rm -Rvf $HOME/node_exporter/
37 |
38 | # Create a systemd service for node_exporter
39 | sudo tee /etc/systemd/system/exporterd.service > /dev/null <` to any timeseries scraped from this config.
22 |
23 | # self monitoring
24 | - job_name: "grafana-server"
25 | static_configs:
26 | - targets: ["node-exporter:9100"]
27 | labels:
28 | instance: "grafana-server"
29 |
30 | #####
31 | ## config examples, just remove '#'
32 | #####
33 |
34 | ## for node_exporter
35 | #- job_name: "servers"
36 | # static_configs:
37 | # - targets: ["172.0.0.1:9100"]
38 | # labels:
39 | # instance: "server1"
40 | # - targets: ["172.0.0.2:9100"]
41 | # labels:
42 | # instance: "server2"
43 |
44 | ## for cosmos-based validator node with node_exporter installed and prometheus enabled
45 | #- job_name: "cosmos-validator"
46 | # static_configs:
47 | # - targets: ["192.0.0.1:9100","192.0.0.1:26660"]
48 | # labels:
49 | # instance: "sentry1"
50 | # - targets: ["192.0.0.2:9100","192.0.0.2:26660"]
51 | # labels:
52 | # instance: "sentry2"
53 | # - targets: ["192.0.0.3:9100","192.0.0.3:26660"]
54 | # labels:
55 | # instance: "validator"
56 |
--------------------------------------------------------------------------------
/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3.8'
2 |
3 | networks:
4 | monitoring:
5 | driver: bridge
6 |
7 | volumes:
8 | prometheus_data:
9 | grafana_data:
10 | caddy_data:
11 | caddy_config:
12 |
13 | services:
14 | node-exporter:
15 | container_name: node_exporter
16 | image: prom/node-exporter:latest
17 | restart: unless-stopped
18 | volumes:
19 | - /proc:/host/proc:ro
20 | - /sys:/host/sys:ro
21 | - /:/rootfs:ro
22 | command:
23 | - '--path.procfs=/host/proc'
24 | - '--path.rootfs=/rootfs'
25 | - '--path.sysfs=/host/sys'
26 | - '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
27 | expose:
28 | - 9100
29 | networks:
30 | - monitoring
31 |
32 | prometheus:
33 | container_name: prometheus
34 | image: prom/prometheus:latest
35 | restart: unless-stopped
36 | volumes:
37 | - prometheus_data:/prometheus
38 | - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
39 | - ./prometheus/server_alerts.yml:/etc/prometheus/server_alerts.yml
40 | - ./prometheus/cosmos_alerts.yml:/etc/prometheus/cosmos_alerts.yml
41 | command:
42 | - '--config.file=/etc/prometheus/prometheus.yml'
43 | - '--storage.tsdb.path=/prometheus'
44 | - '--web.console.libraries=/etc/prometheus/console_libraries'
45 | - '--web.console.templates=/etc/prometheus/consoles'
46 | - '--web.enable-lifecycle'
47 | ports:
48 | - 9090:9090
49 | networks:
50 | - monitoring
51 |
52 | alertmanager:
53 | container_name: alert_manager
54 | image: prom/alertmanager:latest
55 | restart: unless-stopped
56 | volumes:
57 | - ./alertmanager/:/etc/alertmanager/
58 | command:
59 | - '--config.file=/etc/alertmanager/config.yml'
60 | - '--storage.path=/alertmanager'
61 | expose:
62 | - 9093
63 | networks:
64 | - monitoring
65 |
66 | grafana:
67 | container_name: grafana
68 | image: grafana/grafana:latest
69 | restart: unless-stopped
70 | volumes:
71 | - grafana_data:/var/lib/grafana
72 | - ./grafana/provisioning:/etc/grafana/provisioning
73 | ports:
74 | - 3000:3000
75 | networks:
76 | - monitoring
77 | depends_on:
78 | - prometheus
79 |
--------------------------------------------------------------------------------
/prometheus/cosmos_alerts.yml:
--------------------------------------------------------------------------------
1 | groups:
2 | - name: Cosmos Alerts
3 | rules:
4 |
5 | - alert: MissingBlocksTendermint
6 | expr: delta(tendermint_consensus_validator_missed_blocks{skip_missing_blocks_alert!="true"}[5m]) > 20
7 | for: 5m
8 | labels:
9 | severity: major
10 | annotations:
11 | description: "Validator missing blocks ({{ $value }} in last 10 minutes)"
12 |
13 | - alert: MissingBlocksCometBft
14 | expr: delta(cometbft_consensus_validator_missed_blocks{skip_missing_blocks_alert!="true"}[5m]) > 20
15 | for: 5m
16 | labels:
17 | severity: major
18 | annotations:
19 | description: "Validator missing blocks ({{ $value }} in last 10 minutes)"
20 |
21 | - alert: MissingBlocksCosmos
22 | expr: delta(cosmos_validator_missed_blocks{skip_missing_blocks_alert!="true"}[5m]) > 20
23 | for: 5m
24 | labels:
25 | severity: major
26 | annotations:
27 | description: 'Validator `{{ $labels.moniker }}` is missing `{{ $value }}` blocks!'
28 |
29 | - alert: DegradedSyncingTendermint
30 | expr: increase(tendermint_consensus_height{skip_sync_alert!="true"}[5m]) < 20
31 | for: 10m
32 | labels:
33 | severity: warning
34 | annotations:
35 | description: "Degraded syncing performance (less than 20 blocks in the last 5 min)"
36 |
37 | - alert: DegradedSyncingCometBft
38 | expr: increase(cometbft_consensus_height{skip_sync_alert!="true"}[5m]) < 20
39 | for: 10m
40 | labels:
41 | severity: warning
42 | annotations:
43 | description: "Degraded syncing performance (less than 20 blocks in the last 5 min)"
44 |
45 | - alert: ValidatorTooFewPeers
46 | expr: tendermint_p2p_peers < 3
47 | for: 15m
48 | labels:
49 | severity: info
50 | annotations:
51 | description: "Number of peers is {{ $value }} and it is lower than threshold (<3)"
52 |
53 | - alert: RankDecrease
54 | expr: delta(cosmos_validator_rank[5m]) < 0
55 | for: 5m
56 | labels:
57 | severity: info
58 | annotations:
59 | description: 'Your validator `{{ $labels.moniker }}` rank is `{{ $value }}`!'
60 |
61 | - alert: RankIncrease
62 | expr: delta(cosmos_validator_rank[5m]) > 0
63 | for: 5m
64 | labels:
65 | severity: info
66 | annotations:
67 | description: 'Your validator `{{ $labels.moniker }}` rank is `{{ $value }}`!'
68 |
69 | - alert: IsJailed
70 | expr: cosmos_validator_jailed == 1
71 | for: 1m
72 | labels:
73 | severity: major
74 | annotations:
75 | description: 'Your validator `{{ $labels.moniker }}` is jailed!'
76 |
77 | - alert: ActiveStatusChanged
78 | expr: changes(cosmos_validator_active[5m]) > 0
79 | for: 5m
80 | labels:
81 | severity: warning
82 | annotations:
83 | description: 'Your validator `{{ $labels.moniker }}` changed the status'
84 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # monitoring-tool
2 |
3 | > A powerful and easy-to-use monitoring tool for server hardware and validator nodes with alerts via telegram bot and grafana dashboards
4 |
5 | ## Includes
6 |
7 | ### Containers
8 | - [grafana sever](https://hub.docker.com/r/grafana/grafana)
9 | - [node_exporter](https://hub.docker.com/r/prom/node-exporter)
10 | - [prometheus](https://hub.docker.com/r/prom/prometheus)
11 | - [alertmanager](https://hub.docker.com/r/prom/alertmanager)
12 |
13 | ### Dashboards
14 | - [Node Exporter Full dashboard](https://github.com/rfrail3/grafana-dashboards)
15 | - [Node Exporter for Prometheus Dashboard EN](https://github.com/starsliao/Prometheus/tree/master/node_exporter)
16 | - Cosmos-based Chain Validator Dashboard
17 |
18 | ### Alerts
19 | #### Server alerts
20 | - Server down
21 | - Out of memory (<10%)
22 | - Out of disk space (<10%)
23 | - Out of disk space within 24h
24 | - High CPU load (>85%)
25 |
26 | #### Cosmos-based validator node alerts
27 | - Missing blocks
28 | - Degraded syncing (sync less than 40 blocks in last 5 min)
29 | - Low peers count (<5)
30 |
31 | ## How to run
32 | 1. Install docker
33 | ```
34 | bash <(curl -s https://raw.githubusercontent.com/nodejumper-org/monitoring-tool/main/utils/install_docker.sh)
35 | ```
36 |
37 | 2. Clone the repo
38 | ```
39 | cd ~
40 | git clone https://github.com/nodejumper-org/monitoring-tool.git
41 | ```
42 |
43 | 3. Create configuration files from examples
44 | ```
45 | cd monitoring-tool
46 | cp prometheus/prometheus.yml.example prometheus/prometheus.yml
47 | cp alertmanager/config.yml.example alertmanager/config.yml
48 | ```
49 |
50 | 4. Start containers
51 | ```
52 | sudo docker compose up -d
53 | ```
54 |
55 | 4. Open in browser `http://:3000`
56 | > default user: admin
57 | > default password: admin
58 |
59 | ## How to configure
60 | ### Servers to monitor
61 | Add your servers with installed [node_exporter](https://github.com/prometheus/node_exporter) or installed cosmos-based node with enabled prometheus port to file `prometheus/prometheus.yml`
62 | ```
63 | # example for servers with node_exporter installed
64 | - job_name: "my-servers"
65 | static_configs:
66 | - targets: ["172.0.0.1:9100"]
67 | labels:
68 | instance: "server1"
69 | - targets: ["172.0.0.2:9100"]
70 | labels:
71 | instance: "server2"
72 |
73 | # example for servers with node_exporter and cosmos-based node installed
74 | - job_name: "cosmos-validator-nodes"
75 | static_configs:
76 | - targets: ["192.0.0.1:9100","192.0.0.1:26660"]
77 | labels:
78 | instance: "validator1"
79 | - targets: ["192.0.0.2:9100","192.0.0.2:26660"]
80 | labels:
81 | instance: "validator2"
82 | - targets: ["192.0.0.3:9100","192.0.0.3:26660"]
83 | labels:
84 | instance: "validator3"
85 | ```
86 | ### Telegram notifications
87 | In order to enable telegram notifications, create your own bot and fill in the following fields in the file alertmanager/config.yml
88 | ```
89 | chat_id=1111111 # your telegram user id
90 | bot_token=11111111:AAG_XXXXXXX # your telegram bot token
91 | ```
92 | ## How to install node_exporter
93 | Just run next command
94 | ```
95 | bash <(curl https://raw.githubusercontent.com/nodejumper-org/monitoring-tool/main/utils/install_node_exporter.sh)
96 | ```
97 |
98 | ## How to update
99 | Just run next commands
100 | ```
101 | cd monitoring-tool
102 | sudo docker-compose down
103 | git pull
104 | sudo docker-compose pull
105 | sudo docker-compose up -d
106 | ```
107 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "[]"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright [yyyy] [name of copyright owner]
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/grafana/provisioning/dashboards/cosmos_dashboard.json:
--------------------------------------------------------------------------------
1 | {
2 | "annotations": {
3 | "list": [
4 | {
5 | "builtIn": 1,
6 | "datasource": "-- Grafana --",
7 | "enable": true,
8 | "hide": true,
9 | "iconColor": "rgba(0, 211, 255, 1)",
10 | "name": "Annotations & Alerts",
11 | "target": {
12 | "limit": 100,
13 | "matchAny": false,
14 | "tags": [],
15 | "type": "dashboard"
16 | },
17 | "type": "dashboard"
18 | }
19 | ]
20 | },
21 | "description": "A Grafana dashboard compatible with all the cosmos-based blockchains",
22 | "editable": true,
23 | "fiscalYearStartMonth": 0,
24 | "gnetId": 11036,
25 | "graphTooltip": 0,
26 | "id": 8,
27 | "iteration": 1644166184385,
28 | "links": [],
29 | "liveNow": false,
30 | "panels": [
31 | {
32 | "collapsed": false,
33 | "gridPos": {
34 | "h": 1,
35 | "w": 24,
36 | "x": 0,
37 | "y": 0
38 | },
39 | "id": 69,
40 | "panels": [],
41 | "title": "Validator overview",
42 | "type": "row"
43 | },
44 | {
45 | "fieldConfig": {
46 | "defaults": {
47 | "mappings": [],
48 | "thresholds": {
49 | "mode": "absolute",
50 | "steps": [
51 | {
52 | "color": "green",
53 | "value": null
54 | }
55 | ]
56 | },
57 | "unit": "locale"
58 | },
59 | "overrides": []
60 | },
61 | "gridPos": {
62 | "h": 4,
63 | "w": 7,
64 | "x": 0,
65 | "y": 1
66 | },
67 | "id": 66,
68 | "maxDataPoints": 100,
69 | "options": {
70 | "colorMode": "value",
71 | "graphMode": "none",
72 | "justifyMode": "auto",
73 | "orientation": "auto",
74 | "reduceOptions": {
75 | "calcs": [
76 | "lastNotNull"
77 | ],
78 | "fields": "",
79 | "values": false
80 | },
81 | "textMode": "auto"
82 | },
83 | "pluginVersion": "8.3.0",
84 | "targets": [
85 | {
86 | "datasource": "Prometheus",
87 | "exemplar": false,
88 | "expr": "cometbft_consensus_height{chain_id=\"$chain_id\", instance=\"$instance\"}",
89 | "instant": true,
90 | "interval": "30s",
91 | "legendFormat": "",
92 | "refId": "A"
93 | }
94 | ],
95 | "title": "Block height",
96 | "type": "stat"
97 | },
98 | {
99 | "description": "",
100 | "fieldConfig": {
101 | "defaults": {
102 | "decimals": 0,
103 | "mappings": [],
104 | "thresholds": {
105 | "mode": "absolute",
106 | "steps": [
107 | {
108 | "color": "green",
109 | "value": null
110 | }
111 | ]
112 | },
113 | "unit": "locale"
114 | },
115 | "overrides": []
116 | },
117 | "gridPos": {
118 | "h": 4,
119 | "w": 7,
120 | "x": 7,
121 | "y": 1
122 | },
123 | "hideTimeOverride": false,
124 | "id": 40,
125 | "links": [],
126 | "maxDataPoints": 100,
127 | "options": {
128 | "colorMode": "value",
129 | "graphMode": "none",
130 | "justifyMode": "auto",
131 | "orientation": "horizontal",
132 | "reduceOptions": {
133 | "calcs": [
134 | "lastNotNull"
135 | ],
136 | "fields": "",
137 | "values": false
138 | },
139 | "textMode": "auto"
140 | },
141 | "pluginVersion": "8.3.0",
142 | "targets": [
143 | {
144 | "datasource": "Prometheus",
145 | "expr": "cometbft_consensus_total_txs{chain_id=\"$chain_id\", instance=\"$instance\"}",
146 | "format": "time_series",
147 | "instant": false,
148 | "interval": "30s",
149 | "intervalFactor": 1,
150 | "legendFormat": "",
151 | "refId": "A"
152 | }
153 | ],
154 | "title": "Total Transactions",
155 | "type": "stat"
156 | },
157 | {
158 | "description": "",
159 | "fieldConfig": {
160 | "defaults": {
161 | "decimals": 0,
162 | "mappings": [],
163 | "thresholds": {
164 | "mode": "absolute",
165 | "steps": [
166 | {
167 | "color": "green",
168 | "value": null
169 | },
170 | {
171 | "color": "#EAB839",
172 | "value": 5
173 | },
174 | {
175 | "color": "dark-red",
176 | "value": 10
177 | }
178 | ]
179 | },
180 | "unit": "locale"
181 | },
182 | "overrides": []
183 | },
184 | "gridPos": {
185 | "h": 4,
186 | "w": 5,
187 | "x": 14,
188 | "y": 1
189 | },
190 | "hideTimeOverride": false,
191 | "id": 70,
192 | "links": [],
193 | "maxDataPoints": 100,
194 | "options": {
195 | "colorMode": "value",
196 | "graphMode": "none",
197 | "justifyMode": "auto",
198 | "orientation": "horizontal",
199 | "reduceOptions": {
200 | "calcs": [
201 | "lastNotNull"
202 | ],
203 | "fields": "",
204 | "values": false
205 | },
206 | "textMode": "auto"
207 | },
208 | "pluginVersion": "8.3.0",
209 | "targets": [
210 | {
211 | "datasource": "Prometheus",
212 | "exemplar": false,
213 | "expr": "cometbft_consensus_height{chain_id=\"$chain_id\", instance=\"$instance\"} - on() cometbft_consensus_validator_last_signed_height{chain_id=\"$chain_id\", instance=\"$instance\"} -1",
214 | "format": "time_series",
215 | "hide": false,
216 | "instant": true,
217 | "interval": "30s",
218 | "intervalFactor": 1,
219 | "legendFormat": "",
220 | "refId": "A"
221 | }
222 | ],
223 | "title": "Last sign delay",
224 | "type": "stat"
225 | },
226 | {
227 | "fieldConfig": {
228 | "defaults": {
229 | "decimals": 0,
230 | "mappings": [],
231 | "thresholds": {
232 | "mode": "absolute",
233 | "steps": [
234 | {
235 | "color": "green",
236 | "value": null
237 | },
238 | {
239 | "color": "dark-red",
240 | "value": 5
241 | }
242 | ]
243 | },
244 | "unit": "none"
245 | },
246 | "overrides": []
247 | },
248 | "gridPos": {
249 | "h": 4,
250 | "w": 5,
251 | "x": 19,
252 | "y": 1
253 | },
254 | "id": 67,
255 | "interval": "1m",
256 | "options": {
257 | "colorMode": "value",
258 | "graphMode": "none",
259 | "justifyMode": "auto",
260 | "orientation": "auto",
261 | "reduceOptions": {
262 | "calcs": [
263 | "mean"
264 | ],
265 | "fields": "",
266 | "values": false
267 | },
268 | "textMode": "auto"
269 | },
270 | "pluginVersion": "8.3.0",
271 | "targets": [
272 | {
273 | "datasource": "Prometheus",
274 | "exemplar": false,
275 | "expr": "increase(cometbft_consensus_validator_missed_blocks{chain_id=\"$chain_id\", instance=\"$instance\"}[1h])",
276 | "instant": true,
277 | "interval": "30s",
278 | "legendFormat": "",
279 | "refId": "A"
280 | }
281 | ],
282 | "title": "Missed signs last hour",
283 | "type": "stat"
284 | },
285 | {
286 | "description": "",
287 | "fieldConfig": {
288 | "defaults": {
289 | "color": {
290 | "mode": "thresholds"
291 | },
292 | "decimals": 0,
293 | "displayName": "Peers",
294 | "mappings": [],
295 | "min": 0,
296 | "thresholds": {
297 | "mode": "absolute",
298 | "steps": [
299 | {
300 | "color": "#e24d42",
301 | "value": null
302 | },
303 | {
304 | "color": "#ef843c",
305 | "value": 20
306 | },
307 | {
308 | "color": "#7eb26d",
309 | "value": 21
310 | }
311 | ]
312 | },
313 | "unit": "short"
314 | },
315 | "overrides": []
316 | },
317 | "gridPos": {
318 | "h": 4,
319 | "w": 4,
320 | "x": 0,
321 | "y": 5
322 | },
323 | "hideTimeOverride": true,
324 | "id": 53,
325 | "links": [],
326 | "options": {
327 | "colorMode": "value",
328 | "graphMode": "area",
329 | "justifyMode": "auto",
330 | "orientation": "horizontal",
331 | "reduceOptions": {
332 | "calcs": [
333 | "last"
334 | ],
335 | "fields": "",
336 | "values": false
337 | },
338 | "textMode": "value_and_name"
339 | },
340 | "pluginVersion": "8.3.0",
341 | "targets": [
342 | {
343 | "datasource": "Prometheus",
344 | "expr": "cometbft_p2p_peers{chain_id=\"$chain_id\", instance=~\"$instance\"}",
345 | "format": "time_series",
346 | "instant": false,
347 | "interval": "30s",
348 | "intervalFactor": 1,
349 | "legendFormat": "",
350 | "refId": "A"
351 | }
352 | ],
353 | "type": "stat"
354 | },
355 | {
356 | "description": "",
357 | "fieldConfig": {
358 | "defaults": {
359 | "color": {
360 | "mode": "thresholds"
361 | },
362 | "decimals": 2,
363 | "displayName": "Block size",
364 | "mappings": [],
365 | "min": 0,
366 | "thresholds": {
367 | "mode": "absolute",
368 | "steps": [
369 | {
370 | "color": "green",
371 | "value": null
372 | }
373 | ]
374 | },
375 | "unit": "short"
376 | },
377 | "overrides": []
378 | },
379 | "gridPos": {
380 | "h": 4,
381 | "w": 3,
382 | "x": 4,
383 | "y": 5
384 | },
385 | "hideTimeOverride": true,
386 | "id": 94,
387 | "links": [],
388 | "options": {
389 | "colorMode": "value",
390 | "graphMode": "area",
391 | "justifyMode": "auto",
392 | "orientation": "horizontal",
393 | "reduceOptions": {
394 | "calcs": [
395 | "last"
396 | ],
397 | "fields": "",
398 | "values": false
399 | },
400 | "textMode": "value_and_name"
401 | },
402 | "pluginVersion": "8.3.0",
403 | "targets": [
404 | {
405 | "datasource": "Prometheus",
406 | "exemplar": true,
407 | "expr": "cometbft_consensus_block_size_bytes{chain_id=\"$chain_id\",instance=\"$instance\"}",
408 | "format": "time_series",
409 | "instant": false,
410 | "interval": "30s",
411 | "intervalFactor": 1,
412 | "legendFormat": "",
413 | "refId": "A"
414 | }
415 | ],
416 | "type": "stat"
417 | },
418 | {
419 | "description": "",
420 | "fieldConfig": {
421 | "defaults": {
422 | "decimals": 0,
423 | "mappings": [],
424 | "thresholds": {
425 | "mode": "absolute",
426 | "steps": [
427 | {
428 | "color": "green",
429 | "value": null
430 | }
431 | ]
432 | },
433 | "unit": "locale"
434 | },
435 | "overrides": []
436 | },
437 | "gridPos": {
438 | "h": 4,
439 | "w": 4,
440 | "x": 7,
441 | "y": 5
442 | },
443 | "hideTimeOverride": false,
444 | "id": 93,
445 | "links": [],
446 | "maxDataPoints": 100,
447 | "options": {
448 | "colorMode": "value",
449 | "graphMode": "none",
450 | "justifyMode": "auto",
451 | "orientation": "horizontal",
452 | "reduceOptions": {
453 | "calcs": [
454 | "lastNotNull"
455 | ],
456 | "fields": "",
457 | "values": false
458 | },
459 | "textMode": "auto"
460 | },
461 | "pluginVersion": "8.3.0",
462 | "targets": [
463 | {
464 | "datasource": "Prometheus",
465 | "exemplar": true,
466 | "expr": "cometbft_consensus_validators{chain_id=\"$chain_id\",instance=\"$instance\"}",
467 | "format": "time_series",
468 | "instant": false,
469 | "interval": "30s",
470 | "intervalFactor": 1,
471 | "legendFormat": "",
472 | "refId": "A"
473 | }
474 | ],
475 | "title": "Total Validators",
476 | "type": "stat"
477 | },
478 | {
479 | "description": "",
480 | "fieldConfig": {
481 | "defaults": {
482 | "color": {
483 | "mode": "thresholds"
484 | },
485 | "decimals": 0,
486 | "displayName": "Mempool",
487 | "mappings": [],
488 | "min": 0,
489 | "thresholds": {
490 | "mode": "absolute",
491 | "steps": [
492 | {
493 | "color": "#7eb26d",
494 | "value": null
495 | },
496 | {
497 | "color": "#ef843c",
498 | "value": 12000
499 | },
500 | {
501 | "color": "#e24d42",
502 | "value": 18000
503 | }
504 | ]
505 | },
506 | "unit": "short"
507 | },
508 | "overrides": []
509 | },
510 | "gridPos": {
511 | "h": 4,
512 | "w": 3,
513 | "x": 11,
514 | "y": 5
515 | },
516 | "hideTimeOverride": true,
517 | "id": 56,
518 | "links": [],
519 | "options": {
520 | "colorMode": "value",
521 | "graphMode": "area",
522 | "justifyMode": "auto",
523 | "orientation": "auto",
524 | "reduceOptions": {
525 | "calcs": [
526 | "last"
527 | ],
528 | "fields": "",
529 | "values": false
530 | },
531 | "textMode": "auto"
532 | },
533 | "pluginVersion": "8.3.0",
534 | "targets": [
535 | {
536 | "datasource": "Prometheus",
537 | "expr": "cometbft_mempool_size{chain_id=\"$chain_id\", instance=~\"$instance\"}",
538 | "format": "time_series",
539 | "instant": false,
540 | "interval": "30s",
541 | "intervalFactor": 1,
542 | "legendFormat": "",
543 | "refId": "A"
544 | }
545 | ],
546 | "type": "stat"
547 | },
548 | {
549 | "fieldConfig": {
550 | "defaults": {
551 | "mappings": [],
552 | "thresholds": {
553 | "mode": "absolute",
554 | "steps": [
555 | {
556 | "color": "green",
557 | "value": null
558 | }
559 | ]
560 | },
561 | "unit": "locale"
562 | },
563 | "overrides": []
564 | },
565 | "gridPos": {
566 | "h": 4,
567 | "w": 10,
568 | "x": 14,
569 | "y": 5
570 | },
571 | "id": 75,
572 | "interval": "",
573 | "maxDataPoints": 100,
574 | "options": {
575 | "colorMode": "value",
576 | "graphMode": "none",
577 | "justifyMode": "auto",
578 | "orientation": "auto",
579 | "reduceOptions": {
580 | "calcs": [
581 | "mean"
582 | ],
583 | "fields": "",
584 | "values": false
585 | },
586 | "textMode": "auto"
587 | },
588 | "pluginVersion": "8.3.0",
589 | "targets": [
590 | {
591 | "datasource": "Prometheus",
592 | "exemplar": false,
593 | "expr": "cometbft_consensus_validator_power{chain_id=\"$chain_id\", instance=\"$instance\"}",
594 | "instant": true,
595 | "interval": "30s",
596 | "legendFormat": "",
597 | "refId": "A"
598 | }
599 | ],
600 | "title": "Current Voting Power",
601 | "type": "stat"
602 | },
603 | {
604 | "aliasColors": {},
605 | "bars": false,
606 | "dashLength": 10,
607 | "dashes": false,
608 | "fieldConfig": {
609 | "defaults": {
610 | "displayName": "Height",
611 | "unit": "locale"
612 | },
613 | "overrides": []
614 | },
615 | "fill": 1,
616 | "fillGradient": 0,
617 | "gridPos": {
618 | "h": 7,
619 | "w": 12,
620 | "x": 0,
621 | "y": 9
622 | },
623 | "hiddenSeries": false,
624 | "id": 92,
625 | "legend": {
626 | "avg": false,
627 | "current": false,
628 | "max": false,
629 | "min": false,
630 | "show": false,
631 | "total": false,
632 | "values": false
633 | },
634 | "lines": true,
635 | "linewidth": 1,
636 | "maxDataPoints": 100,
637 | "nullPointMode": "null",
638 | "options": {
639 | "alertThreshold": false
640 | },
641 | "percentage": false,
642 | "pluginVersion": "8.3.0",
643 | "pointradius": 2,
644 | "points": false,
645 | "renderer": "flot",
646 | "seriesOverrides": [],
647 | "spaceLength": 10,
648 | "stack": false,
649 | "steppedLine": false,
650 | "targets": [
651 | {
652 | "datasource": "Prometheus",
653 | "exemplar": true,
654 | "expr": "cometbft_consensus_height{chain_id=\"$chain_id\", instance=\"$instance\"}",
655 | "instant": false,
656 | "interval": "30s",
657 | "legendFormat": "",
658 | "refId": "A"
659 | }
660 | ],
661 | "thresholds": [
662 | {
663 | "colorMode": "critical",
664 | "fill": false,
665 | "line": false,
666 | "op": "lt",
667 | "value": 1
668 | }
669 | ],
670 | "timeRegions": [],
671 | "title": "Block height",
672 | "tooltip": {
673 | "shared": true,
674 | "sort": 0,
675 | "value_type": "individual"
676 | },
677 | "type": "graph",
678 | "xaxis": {
679 | "mode": "time",
680 | "show": true,
681 | "values": []
682 | },
683 | "yaxes": [
684 | {
685 | "format": "locale",
686 | "logBase": 1,
687 | "show": true
688 | },
689 | {
690 | "format": "short",
691 | "logBase": 1,
692 | "show": true
693 | }
694 | ],
695 | "yaxis": {
696 | "align": false
697 | }
698 | },
699 | {
700 | "aliasColors": {},
701 | "bars": false,
702 | "dashLength": 10,
703 | "dashes": false,
704 | "description": "",
705 | "fieldConfig": {
706 | "defaults": {
707 | "displayName": "Voting Power"
708 | },
709 | "overrides": []
710 | },
711 | "fill": 1,
712 | "fillGradient": 0,
713 | "gridPos": {
714 | "h": 7,
715 | "w": 12,
716 | "x": 12,
717 | "y": 9
718 | },
719 | "hiddenSeries": false,
720 | "id": 72,
721 | "interval": "",
722 | "legend": {
723 | "alignAsTable": true,
724 | "avg": false,
725 | "current": false,
726 | "max": true,
727 | "min": true,
728 | "show": true,
729 | "total": false,
730 | "values": true
731 | },
732 | "lines": true,
733 | "linewidth": 1,
734 | "nullPointMode": "null",
735 | "options": {
736 | "alertThreshold": true
737 | },
738 | "percentage": false,
739 | "pluginVersion": "8.3.0",
740 | "pointradius": 2,
741 | "points": false,
742 | "renderer": "flot",
743 | "seriesOverrides": [],
744 | "spaceLength": 10,
745 | "stack": false,
746 | "steppedLine": false,
747 | "targets": [
748 | {
749 | "datasource": "Prometheus",
750 | "exemplar": true,
751 | "expr": "cometbft_consensus_validator_power{chain_id=\"$chain_id\", instance=\"$instance\"}",
752 | "interval": "",
753 | "intervalFactor": 1,
754 | "legendFormat": "Voting power",
755 | "refId": "A"
756 | }
757 | ],
758 | "thresholds": [
759 | {
760 | "colorMode": "critical",
761 | "fill": true,
762 | "line": true,
763 | "op": "lt",
764 | "value": 1
765 | }
766 | ],
767 | "timeRegions": [],
768 | "title": "Voting power",
769 | "tooltip": {
770 | "shared": true,
771 | "sort": 0,
772 | "value_type": "individual"
773 | },
774 | "type": "graph",
775 | "xaxis": {
776 | "mode": "time",
777 | "show": true,
778 | "values": []
779 | },
780 | "yaxes": [
781 | {
782 | "format": "short",
783 | "logBase": 1,
784 | "show": true
785 | },
786 | {
787 | "format": "short",
788 | "logBase": 1,
789 | "show": true
790 | }
791 | ],
792 | "yaxis": {
793 | "align": false
794 | }
795 | },
796 | {
797 | "aliasColors": {},
798 | "bars": false,
799 | "dashLength": 10,
800 | "dashes": false,
801 | "description": "",
802 | "fieldConfig": {
803 | "defaults": {
804 | "unit": "locale"
805 | },
806 | "overrides": []
807 | },
808 | "fill": 1,
809 | "fillGradient": 0,
810 | "gridPos": {
811 | "h": 7,
812 | "w": 12,
813 | "x": 0,
814 | "y": 16
815 | },
816 | "hiddenSeries": false,
817 | "hideTimeOverride": false,
818 | "id": 77,
819 | "legend": {
820 | "alignAsTable": true,
821 | "avg": true,
822 | "current": false,
823 | "max": true,
824 | "min": true,
825 | "show": true,
826 | "total": false,
827 | "values": true
828 | },
829 | "lines": true,
830 | "linewidth": 1,
831 | "links": [],
832 | "maxDataPoints": 100,
833 | "nullPointMode": "null",
834 | "options": {
835 | "alertThreshold": true
836 | },
837 | "percentage": false,
838 | "pluginVersion": "8.3.0",
839 | "pointradius": 2,
840 | "points": false,
841 | "renderer": "flot",
842 | "seriesOverrides": [],
843 | "spaceLength": 10,
844 | "stack": false,
845 | "steppedLine": false,
846 | "targets": [
847 | {
848 | "datasource": "Prometheus",
849 | "exemplar": true,
850 | "expr": "cometbft_consensus_height{chain_id=\"$chain_id\", instance=\"$instance\"} - on() cometbft_consensus_validator_last_signed_height{chain_id=\"$chain_id\", instance=\"$instance\"} - 1",
851 | "format": "time_series",
852 | "hide": false,
853 | "instant": false,
854 | "interval": "30s",
855 | "intervalFactor": 1,
856 | "legendFormat": "Sign delay",
857 | "refId": "A"
858 | }
859 | ],
860 | "thresholds": [
861 | {
862 | "colorMode": "critical",
863 | "fill": true,
864 | "line": true,
865 | "op": "gt",
866 | "value": 10
867 | }
868 | ],
869 | "timeRegions": [],
870 | "title": "Last block sign delay",
871 | "tooltip": {
872 | "shared": true,
873 | "sort": 0,
874 | "value_type": "individual"
875 | },
876 | "type": "graph",
877 | "xaxis": {
878 | "mode": "time",
879 | "show": true,
880 | "values": []
881 | },
882 | "yaxes": [
883 | {
884 | "format": "locale",
885 | "logBase": 1,
886 | "show": true
887 | },
888 | {
889 | "format": "short",
890 | "logBase": 1,
891 | "show": true
892 | }
893 | ],
894 | "yaxis": {
895 | "align": false
896 | }
897 | },
898 | {
899 | "aliasColors": {},
900 | "bars": false,
901 | "dashLength": 10,
902 | "dashes": false,
903 | "description": "",
904 | "fieldConfig": {
905 | "defaults": {
906 | "displayName": "Missed signs hourly"
907 | },
908 | "overrides": []
909 | },
910 | "fill": 1,
911 | "fillGradient": 0,
912 | "gridPos": {
913 | "h": 7,
914 | "w": 12,
915 | "x": 12,
916 | "y": 16
917 | },
918 | "hiddenSeries": false,
919 | "id": 76,
920 | "interval": "1m",
921 | "legend": {
922 | "alignAsTable": true,
923 | "avg": true,
924 | "current": false,
925 | "hideEmpty": false,
926 | "hideZero": false,
927 | "max": true,
928 | "min": true,
929 | "rightSide": false,
930 | "show": true,
931 | "total": false,
932 | "values": true
933 | },
934 | "lines": true,
935 | "linewidth": 1,
936 | "nullPointMode": "null",
937 | "options": {
938 | "alertThreshold": true
939 | },
940 | "percentage": false,
941 | "pluginVersion": "8.3.0",
942 | "pointradius": 2,
943 | "points": false,
944 | "renderer": "flot",
945 | "seriesOverrides": [],
946 | "spaceLength": 10,
947 | "stack": false,
948 | "steppedLine": false,
949 | "targets": [
950 | {
951 | "datasource": "Prometheus",
952 | "exemplar": true,
953 | "expr": "increase(cometbft_consensus_validator_missed_blocks{chain_id=\"$chain_id\", instance=\"$instance\"}[1h])",
954 | "interval": "",
955 | "intervalFactor": 1,
956 | "legendFormat": "Missed",
957 | "refId": "A"
958 | }
959 | ],
960 | "thresholds": [
961 | {
962 | "colorMode": "critical",
963 | "fill": true,
964 | "line": true,
965 | "op": "gt",
966 | "value": 25
967 | }
968 | ],
969 | "timeRegions": [],
970 | "title": "Missed signs hourly",
971 | "tooltip": {
972 | "shared": true,
973 | "sort": 0,
974 | "value_type": "individual"
975 | },
976 | "type": "graph",
977 | "xaxis": {
978 | "mode": "time",
979 | "show": true,
980 | "values": []
981 | },
982 | "yaxes": [
983 | {
984 | "format": "short",
985 | "logBase": 1,
986 | "show": true
987 | },
988 | {
989 | "format": "short",
990 | "logBase": 1,
991 | "show": true
992 | }
993 | ],
994 | "yaxis": {
995 | "align": false
996 | }
997 | },
998 | {
999 | "collapsed": false,
1000 | "gridPos": {
1001 | "h": 1,
1002 | "w": 24,
1003 | "x": 0,
1004 | "y": 23
1005 | },
1006 | "id": 74,
1007 | "panels": [],
1008 | "title": "Network overview: $instance",
1009 | "type": "row"
1010 | },
1011 | {
1012 | "aliasColors": {
1013 | "Height for last 3 hours": "#447ebc",
1014 | "Total Transactions for last 3 hours": "#ef843c"
1015 | },
1016 | "bars": false,
1017 | "dashLength": 10,
1018 | "dashes": false,
1019 | "datasource": {},
1020 | "decimals": 0,
1021 | "fieldConfig": {
1022 | "defaults": {
1023 | "links": []
1024 | },
1025 | "overrides": []
1026 | },
1027 | "fill": 3,
1028 | "fillGradient": 0,
1029 | "gridPos": {
1030 | "h": 9,
1031 | "w": 12,
1032 | "x": 0,
1033 | "y": 24
1034 | },
1035 | "hiddenSeries": false,
1036 | "hideTimeOverride": false,
1037 | "id": 15,
1038 | "legend": {
1039 | "alignAsTable": true,
1040 | "avg": false,
1041 | "current": true,
1042 | "max": true,
1043 | "min": true,
1044 | "rightSide": false,
1045 | "show": true,
1046 | "sideWidth": 350,
1047 | "total": false,
1048 | "values": true
1049 | },
1050 | "lines": true,
1051 | "linewidth": 1,
1052 | "links": [],
1053 | "nullPointMode": "null",
1054 | "options": {
1055 | "alertThreshold": true
1056 | },
1057 | "percentage": false,
1058 | "pluginVersion": "8.3.0",
1059 | "pointradius": 5,
1060 | "points": false,
1061 | "renderer": "flot",
1062 | "seriesOverrides": [],
1063 | "spaceLength": 10,
1064 | "stack": false,
1065 | "steppedLine": false,
1066 | "targets": [
1067 | {
1068 | "datasource": "Prometheus",
1069 | "expr": "cometbft_consensus_validators{chain_id=\"$chain_id\", instance=\"$instance\"}",
1070 | "format": "time_series",
1071 | "instant": false,
1072 | "interval": "",
1073 | "intervalFactor": 1,
1074 | "legendFormat": "Active",
1075 | "refId": "A"
1076 | },
1077 | {
1078 | "datasource": "Prometheus",
1079 | "expr": "cometbft_consensus_missing_validators{chain_id=\"$chain_id\", instance=\"$instance\"}",
1080 | "format": "time_series",
1081 | "interval": "",
1082 | "intervalFactor": 1,
1083 | "legendFormat": "Missing",
1084 | "refId": "B"
1085 | },
1086 | {
1087 | "datasource": "Prometheus",
1088 | "exemplar": true,
1089 | "expr": "cometbft_consensus_byzantine_validators{chain_id=\"$chain_id\", instance=\"$instance\"}",
1090 | "format": "time_series",
1091 | "interval": "",
1092 | "intervalFactor": 1,
1093 | "legendFormat": "Byzantine",
1094 | "refId": "C"
1095 | }
1096 | ],
1097 | "thresholds": [],
1098 | "timeRegions": [],
1099 | "title": "Validators",
1100 | "tooltip": {
1101 | "shared": true,
1102 | "sort": 0,
1103 | "value_type": "individual"
1104 | },
1105 | "type": "graph",
1106 | "xaxis": {
1107 | "mode": "time",
1108 | "show": true,
1109 | "values": []
1110 | },
1111 | "yaxes": [
1112 | {
1113 | "decimals": 0,
1114 | "format": "locale",
1115 | "label": "",
1116 | "logBase": 1,
1117 | "min": "0",
1118 | "show": true
1119 | },
1120 | {
1121 | "format": "none",
1122 | "logBase": 1,
1123 | "show": false
1124 | }
1125 | ],
1126 | "yaxis": {
1127 | "align": false
1128 | }
1129 | },
1130 | {
1131 | "aliasColors": {
1132 | "Height for last 3 hours": "#447ebc",
1133 | "Total Transactions for last 3 hours": "#ef843c"
1134 | },
1135 | "bars": false,
1136 | "dashLength": 10,
1137 | "dashes": false,
1138 | "fieldConfig": {
1139 | "defaults": {
1140 | "links": []
1141 | },
1142 | "overrides": []
1143 | },
1144 | "fill": 3,
1145 | "fillGradient": 0,
1146 | "gridPos": {
1147 | "h": 9,
1148 | "w": 12,
1149 | "x": 12,
1150 | "y": 24
1151 | },
1152 | "hiddenSeries": false,
1153 | "hideTimeOverride": false,
1154 | "id": 48,
1155 | "legend": {
1156 | "alignAsTable": true,
1157 | "avg": false,
1158 | "current": true,
1159 | "max": true,
1160 | "min": true,
1161 | "rightSide": false,
1162 | "show": true,
1163 | "sideWidth": 350,
1164 | "total": false,
1165 | "values": true
1166 | },
1167 | "lines": true,
1168 | "linewidth": 1,
1169 | "links": [],
1170 | "nullPointMode": "null",
1171 | "options": {
1172 | "alertThreshold": true
1173 | },
1174 | "percentage": false,
1175 | "pluginVersion": "8.3.0",
1176 | "pointradius": 5,
1177 | "points": false,
1178 | "renderer": "flot",
1179 | "seriesOverrides": [],
1180 | "spaceLength": 10,
1181 | "stack": false,
1182 | "steppedLine": false,
1183 | "targets": [
1184 | {
1185 | "datasource": "Prometheus",
1186 | "expr": "cometbft_consensus_validators_power{chain_id=\"$chain_id\", instance=\"$instance\"}",
1187 | "format": "time_series",
1188 | "instant": false,
1189 | "interval": "",
1190 | "intervalFactor": 1,
1191 | "legendFormat": "Online",
1192 | "refId": "A"
1193 | },
1194 | {
1195 | "datasource": "Prometheus",
1196 | "expr": "cometbft_consensus_missing_validators_power{chain_id=\"$chain_id\", instance=\"$instance\"}",
1197 | "format": "time_series",
1198 | "interval": "",
1199 | "intervalFactor": 1,
1200 | "legendFormat": "Missing",
1201 | "refId": "B"
1202 | },
1203 | {
1204 | "datasource": "Prometheus",
1205 | "expr": "cometbft_consensus_byzantine_validators_power{chain_id=\"$chain_id\", instance=\"$instance\"}",
1206 | "format": "time_series",
1207 | "intervalFactor": 1,
1208 | "legendFormat": "Byzantine",
1209 | "refId": "C"
1210 | }
1211 | ],
1212 | "thresholds": [],
1213 | "timeRegions": [],
1214 | "title": "Total Voting Power",
1215 | "tooltip": {
1216 | "shared": true,
1217 | "sort": 0,
1218 | "value_type": "individual"
1219 | },
1220 | "type": "graph",
1221 | "xaxis": {
1222 | "mode": "time",
1223 | "show": true,
1224 | "values": []
1225 | },
1226 | "yaxes": [
1227 | {
1228 | "decimals": 0,
1229 | "format": "short",
1230 | "label": "",
1231 | "logBase": 1,
1232 | "min": "0",
1233 | "show": true
1234 | },
1235 | {
1236 | "format": "none",
1237 | "logBase": 1,
1238 | "show": false
1239 | }
1240 | ],
1241 | "yaxis": {
1242 | "align": false
1243 | }
1244 | },
1245 | {
1246 | "aliasColors": {
1247 | "Height for last 3 hours": "#447ebc",
1248 | "Total Transactions for last 3 hours": "#ef843c"
1249 | },
1250 | "bars": false,
1251 | "dashLength": 10,
1252 | "dashes": false,
1253 | "fieldConfig": {
1254 | "defaults": {
1255 | "links": []
1256 | },
1257 | "overrides": []
1258 | },
1259 | "fill": 3,
1260 | "fillGradient": 0,
1261 | "gridPos": {
1262 | "h": 5,
1263 | "w": 12,
1264 | "x": 0,
1265 | "y": 33
1266 | },
1267 | "hiddenSeries": false,
1268 | "hideTimeOverride": false,
1269 | "id": 49,
1270 | "legend": {
1271 | "alignAsTable": false,
1272 | "avg": true,
1273 | "current": false,
1274 | "max": true,
1275 | "min": false,
1276 | "rightSide": false,
1277 | "show": true,
1278 | "total": false,
1279 | "values": true
1280 | },
1281 | "lines": true,
1282 | "linewidth": 1,
1283 | "links": [],
1284 | "nullPointMode": "null",
1285 | "options": {
1286 | "alertThreshold": true
1287 | },
1288 | "percentage": false,
1289 | "pluginVersion": "8.3.0",
1290 | "pointradius": 5,
1291 | "points": false,
1292 | "renderer": "flot",
1293 | "seriesOverrides": [],
1294 | "spaceLength": 10,
1295 | "stack": false,
1296 | "steppedLine": false,
1297 | "targets": [
1298 | {
1299 | "datasource": "Prometheus",
1300 | "expr": "cometbft_consensus_block_size_bytes{chain_id=\"$chain_id\", instance=\"$instance\"}",
1301 | "format": "time_series",
1302 | "instant": false,
1303 | "interval": "",
1304 | "intervalFactor": 1,
1305 | "legendFormat": "Block Size",
1306 | "refId": "A"
1307 | }
1308 | ],
1309 | "thresholds": [],
1310 | "timeRegions": [],
1311 | "title": "Block Size",
1312 | "tooltip": {
1313 | "shared": true,
1314 | "sort": 0,
1315 | "value_type": "individual"
1316 | },
1317 | "type": "graph",
1318 | "xaxis": {
1319 | "mode": "time",
1320 | "show": true,
1321 | "values": []
1322 | },
1323 | "yaxes": [
1324 | {
1325 | "decimals": 2,
1326 | "format": "bytes",
1327 | "label": "",
1328 | "logBase": 1,
1329 | "min": "0",
1330 | "show": true
1331 | },
1332 | {
1333 | "format": "none",
1334 | "logBase": 1,
1335 | "show": false
1336 | }
1337 | ],
1338 | "yaxis": {
1339 | "align": false
1340 | }
1341 | },
1342 | {
1343 | "aliasColors": {
1344 | "Height for last 3 hours": "#447ebc",
1345 | "Total Transactions for last 3 hours": "#ef843c"
1346 | },
1347 | "bars": false,
1348 | "dashLength": 10,
1349 | "dashes": false,
1350 | "decimals": 0,
1351 | "fieldConfig": {
1352 | "defaults": {
1353 | "links": []
1354 | },
1355 | "overrides": []
1356 | },
1357 | "fill": 3,
1358 | "fillGradient": 0,
1359 | "gridPos": {
1360 | "h": 5,
1361 | "w": 12,
1362 | "x": 12,
1363 | "y": 33
1364 | },
1365 | "hiddenSeries": false,
1366 | "hideTimeOverride": false,
1367 | "id": 50,
1368 | "legend": {
1369 | "alignAsTable": false,
1370 | "avg": true,
1371 | "current": false,
1372 | "max": true,
1373 | "min": false,
1374 | "rightSide": false,
1375 | "show": true,
1376 | "total": true,
1377 | "values": true
1378 | },
1379 | "lines": true,
1380 | "linewidth": 1,
1381 | "links": [],
1382 | "nullPointMode": "null",
1383 | "options": {
1384 | "alertThreshold": true
1385 | },
1386 | "percentage": false,
1387 | "pluginVersion": "8.3.0",
1388 | "pointradius": 5,
1389 | "points": false,
1390 | "renderer": "flot",
1391 | "seriesOverrides": [],
1392 | "spaceLength": 10,
1393 | "stack": false,
1394 | "steppedLine": false,
1395 | "targets": [
1396 | {
1397 | "datasource": "Prometheus",
1398 | "expr": "cometbft_consensus_num_txs{chain_id=\"$chain_id\", instance=\"$instance\"}",
1399 | "format": "time_series",
1400 | "instant": false,
1401 | "interval": "",
1402 | "intervalFactor": 1,
1403 | "legendFormat": "Transactions",
1404 | "refId": "A"
1405 | }
1406 | ],
1407 | "thresholds": [],
1408 | "timeRegions": [],
1409 | "title": "Transactions",
1410 | "tooltip": {
1411 | "shared": true,
1412 | "sort": 0,
1413 | "value_type": "individual"
1414 | },
1415 | "type": "graph",
1416 | "xaxis": {
1417 | "mode": "time",
1418 | "show": true,
1419 | "values": []
1420 | },
1421 | "yaxes": [
1422 | {
1423 | "decimals": 0,
1424 | "format": "short",
1425 | "label": "",
1426 | "logBase": 1,
1427 | "min": "0",
1428 | "show": true
1429 | },
1430 | {
1431 | "format": "none",
1432 | "logBase": 1,
1433 | "show": false
1434 | }
1435 | ],
1436 | "yaxis": {
1437 | "align": false
1438 | }
1439 | }
1440 | ],
1441 | "refresh": "10s",
1442 | "schemaVersion": 33,
1443 | "style": "dark",
1444 | "tags": [
1445 | "Blockchain",
1446 | "Cosmos",
1447 | "CometBFT"
1448 | ],
1449 | "templating": {
1450 | "list": [
1451 | {
1452 | "current": {
1453 | "selected": false,
1454 | "text": "sifchain-1",
1455 | "value": "sifchain-1"
1456 | },
1457 | "definition": "label_values(cometbft_consensus_height, chain_id)",
1458 | "hide": 0,
1459 | "includeAll": false,
1460 | "label": "Chain ID",
1461 | "multi": false,
1462 | "name": "chain_id",
1463 | "options": [],
1464 | "query": {
1465 | "query": "label_values(cometbft_consensus_height, chain_id)",
1466 | "refId": "Prometheus-chain_id-Variable-Query"
1467 | },
1468 | "refresh": 1,
1469 | "regex": "",
1470 | "skipUrlSync": false,
1471 | "sort": 0,
1472 | "tagValuesQuery": "",
1473 | "tagsQuery": "",
1474 | "type": "query",
1475 | "useTags": false
1476 | },
1477 | {
1478 | "allValue": "",
1479 | "current": {
1480 | "selected": false,
1481 | "text": "185.218.124.108:26660",
1482 | "value": "185.218.124.108:26660"
1483 | },
1484 | "definition": "label_values(cometbft_consensus_height{chain_id=\"$chain_id\"}, instance)",
1485 | "hide": 0,
1486 | "includeAll": false,
1487 | "label": "Instance",
1488 | "multi": false,
1489 | "name": "instance",
1490 | "options": [],
1491 | "query": {
1492 | "query": "label_values(cometbft_consensus_height{chain_id=\"$chain_id\"}, instance)",
1493 | "refId": "Prometheus-instance-Variable-Query"
1494 | },
1495 | "refresh": 1,
1496 | "regex": "",
1497 | "skipUrlSync": false,
1498 | "sort": 5,
1499 | "tagValuesQuery": "",
1500 | "tagsQuery": "",
1501 | "type": "query",
1502 | "useTags": false
1503 | }
1504 | ]
1505 | },
1506 | "time": {
1507 | "from": "now-24h",
1508 | "to": "now"
1509 | },
1510 | "timepicker": {
1511 | "refresh_intervals": [
1512 | "5s",
1513 | "10s",
1514 | "15s",
1515 | "30s",
1516 | "1m",
1517 | "5m",
1518 | "15m",
1519 | "30m",
1520 | "1h",
1521 | "2h",
1522 | "1d"
1523 | ],
1524 | "time_options": [
1525 | "5m",
1526 | "15m",
1527 | "1h",
1528 | "6h",
1529 | "12h",
1530 | "24h",
1531 | "2d",
1532 | "7d",
1533 | "30d"
1534 | ]
1535 | },
1536 | "timezone": "",
1537 | "title": "CosmosSDK Based Chains Dashboard",
1538 | "uid": "UJyurCTWz",
1539 | "version": 12,
1540 | "weekStart": ""
1541 | }
1542 |
--------------------------------------------------------------------------------
/grafana/provisioning/dashboards/node_exporter_for_prometheus_multiline.json:
--------------------------------------------------------------------------------
1 | {
2 | "annotations": {
3 | "list": [
4 | {
5 | "$$hashKey": "object:2875",
6 | "builtIn": 1,
7 | "datasource": {
8 | "type": "datasource",
9 | "uid": "grafana"
10 | },
11 | "enable": true,
12 | "hide": true,
13 | "iconColor": "rgba(0, 211, 255, 1)",
14 | "name": "Annotations & Alerts",
15 | "target": {
16 | "limit": 100,
17 | "matchAny": false,
18 | "tags": [],
19 | "type": "dashboard"
20 | },
21 | "type": "dashboard"
22 | }
23 | ]
24 | },
25 | "description": "【English version】Update 2020.10.10, add the overall resource overview! Support Grafana6&7,Support Node Exporter v0.16 and above.Optimize the main metrics display. Includes: CPU, memory, disk IO, network, temperature and other monitoring metrics。https://github.com/starsliao/Prometheus",
26 | "editable": true,
27 | "fiscalYearStartMonth": 0,
28 | "gnetId": 11074,
29 | "graphTooltip": 0,
30 | "id": 8,
31 | "iteration": 1651743304802,
32 | "links": [
33 | {
34 | "$$hashKey": "object:2300",
35 | "icon": "bolt",
36 | "tags": [],
37 | "targetBlank": true,
38 | "title": "Update",
39 | "tooltip": "Update dashboard",
40 | "type": "link",
41 | "url": "https://grafana.com/grafana/dashboards/11074"
42 | },
43 | {
44 | "$$hashKey": "object:2301",
45 | "icon": "question",
46 | "tags": [],
47 | "targetBlank": true,
48 | "title": "GitHub",
49 | "tooltip": "more dashboard",
50 | "type": "link",
51 | "url": "https://github.com/starsliao"
52 | },
53 | {
54 | "$$hashKey": "object:2302",
55 | "asDropdown": true,
56 | "icon": "external link",
57 | "tags": [],
58 | "targetBlank": true,
59 | "title": "",
60 | "type": "dashboards"
61 | }
62 | ],
63 | "liveNow": false,
64 | "panels": [
65 | {
66 | "collapsed": false,
67 | "datasource": {
68 | "uid": "${DS_PROMETHEUS}"
69 | },
70 | "gridPos": {
71 | "h": 1,
72 | "w": 24,
73 | "x": 0,
74 | "y": 0
75 | },
76 | "id": 187,
77 | "panels": [],
78 | "title": "Resource Overview (associated JOB),Host:$show_hostname,Instance:$node",
79 | "type": "row"
80 | },
81 | {
82 | "columns": [],
83 | "datasource": {
84 | "uid": "${DS_PROMETHEUS}"
85 | },
86 | "description": "Partition utilization, disk read, disk write, download bandwidth, upload bandwidth, if there are multiple network cards or multiple partitions, it is the value of the network card or partition with the highest utilization rate collected.\n\nCurrEstab: The number of TCP connections whose current status is ESTABLISHED or CLOSE-WAIT.",
87 | "fontSize": "80%",
88 | "gridPos": {
89 | "h": 7,
90 | "w": 24,
91 | "x": 0,
92 | "y": 1
93 | },
94 | "id": 185,
95 | "showHeader": true,
96 | "sort": {
97 | "col": 31,
98 | "desc": false
99 | },
100 | "styles": [
101 | {
102 | "$$hashKey": "object:1600",
103 | "alias": "Hostname",
104 | "align": "auto",
105 | "colors": [
106 | "rgba(245, 54, 54, 0.9)",
107 | "rgba(237, 129, 40, 0.89)",
108 | "rgba(50, 172, 45, 0.97)"
109 | ],
110 | "dateFormat": "YYYY-MM-DD HH:mm:ss",
111 | "decimals": 1,
112 | "link": false,
113 | "linkTooltip": "",
114 | "linkUrl": "",
115 | "mappingType": 1,
116 | "pattern": "nodename",
117 | "thresholds": [],
118 | "type": "string",
119 | "unit": "bytes"
120 | },
121 | {
122 | "$$hashKey": "object:1601",
123 | "alias": "IP(Link to details)",
124 | "align": "auto",
125 | "colors": [
126 | "rgba(245, 54, 54, 0.9)",
127 | "rgba(237, 129, 40, 0.89)",
128 | "rgba(50, 172, 45, 0.97)"
129 | ],
130 | "dateFormat": "YYYY-MM-DD HH:mm:ss",
131 | "decimals": 2,
132 | "link": true,
133 | "linkTargetBlank": false,
134 | "linkTooltip": "Browse host details",
135 | "linkUrl": "d/xfpJB9FGz/node-exporter?orgId=1&var-job=${job}&var-hostname=All&var-node=${__cell}&var-device=All&var-origin_prometheus=$origin_prometheus",
136 | "mappingType": 1,
137 | "pattern": "instance",
138 | "thresholds": [],
139 | "type": "number",
140 | "unit": "short"
141 | },
142 | {
143 | "$$hashKey": "object:1602",
144 | "alias": "Memory",
145 | "align": "auto",
146 | "colors": [
147 | "rgba(245, 54, 54, 0.9)",
148 | "rgba(237, 129, 40, 0.89)",
149 | "rgba(50, 172, 45, 0.97)"
150 | ],
151 | "dateFormat": "YYYY-MM-DD HH:mm:ss",
152 | "decimals": 2,
153 | "link": false,
154 | "mappingType": 1,
155 | "pattern": "Value #B",
156 | "thresholds": [],
157 | "type": "number",
158 | "unit": "bytes"
159 | },
160 | {
161 | "$$hashKey": "object:1603",
162 | "alias": "CPU Cores",
163 | "align": "auto",
164 | "colors": [
165 | "rgba(245, 54, 54, 0.9)",
166 | "rgba(237, 129, 40, 0.89)",
167 | "rgba(50, 172, 45, 0.97)"
168 | ],
169 | "dateFormat": "YYYY-MM-DD HH:mm:ss",
170 | "mappingType": 1,
171 | "pattern": "Value #C",
172 | "thresholds": [],
173 | "type": "number",
174 | "unit": "short"
175 | },
176 | {
177 | "$$hashKey": "object:1604",
178 | "alias": " Uptime",
179 | "align": "auto",
180 | "colors": [
181 | "rgba(245, 54, 54, 0.9)",
182 | "rgba(237, 129, 40, 0.89)",
183 | "rgba(50, 172, 45, 0.97)"
184 | ],
185 | "dateFormat": "YYYY-MM-DD HH:mm:ss",
186 | "decimals": 2,
187 | "mappingType": 1,
188 | "pattern": "Value #D",
189 | "thresholds": [],
190 | "type": "number",
191 | "unit": "s"
192 | },
193 | {
194 | "$$hashKey": "object:1605",
195 | "alias": "Partition used%*",
196 | "align": "auto",
197 | "colorMode": "cell",
198 | "colors": [
199 | "rgba(50, 172, 45, 0.97)",
200 | "rgba(237, 129, 40, 0.89)",
201 | "rgba(245, 54, 54, 0.9)"
202 | ],
203 | "dateFormat": "YYYY-MM-DD HH:mm:ss",
204 | "decimals": 2,
205 | "mappingType": 1,
206 | "pattern": "Value #E",
207 | "thresholds": [
208 | "70",
209 | "85"
210 | ],
211 | "type": "number",
212 | "unit": "percent"
213 | },
214 | {
215 | "$$hashKey": "object:1606",
216 | "alias": "CPU used%",
217 | "align": "auto",
218 | "colorMode": "cell",
219 | "colors": [
220 | "rgba(50, 172, 45, 0.97)",
221 | "rgba(237, 129, 40, 0.89)",
222 | "rgba(245, 54, 54, 0.9)"
223 | ],
224 | "dateFormat": "YYYY-MM-DD HH:mm:ss",
225 | "decimals": 2,
226 | "mappingType": 1,
227 | "pattern": "Value #F",
228 | "thresholds": [
229 | "70",
230 | "85"
231 | ],
232 | "type": "number",
233 | "unit": "percent"
234 | },
235 | {
236 | "$$hashKey": "object:1607",
237 | "alias": "Memory used%",
238 | "align": "auto",
239 | "colorMode": "cell",
240 | "colors": [
241 | "rgba(50, 172, 45, 0.97)",
242 | "rgba(237, 129, 40, 0.89)",
243 | "rgba(245, 54, 54, 0.9)"
244 | ],
245 | "dateFormat": "YYYY-MM-DD HH:mm:ss",
246 | "decimals": 2,
247 | "mappingType": 1,
248 | "pattern": "Value #G",
249 | "thresholds": [
250 | "70",
251 | "85"
252 | ],
253 | "type": "number",
254 | "unit": "percent"
255 | },
256 | {
257 | "$$hashKey": "object:1608",
258 | "alias": "Disk read*",
259 | "align": "auto",
260 | "colorMode": "cell",
261 | "colors": [
262 | "rgba(50, 172, 45, 0.97)",
263 | "rgba(237, 129, 40, 0.89)",
264 | "rgba(245, 54, 54, 0.9)"
265 | ],
266 | "dateFormat": "YYYY-MM-DD HH:mm:ss",
267 | "decimals": 2,
268 | "mappingType": 1,
269 | "pattern": "Value #H",
270 | "thresholds": [
271 | "10485760",
272 | "20485760"
273 | ],
274 | "type": "number",
275 | "unit": "Bps"
276 | },
277 | {
278 | "$$hashKey": "object:1609",
279 | "alias": "Disk write*",
280 | "align": "auto",
281 | "colorMode": "cell",
282 | "colors": [
283 | "rgba(50, 172, 45, 0.97)",
284 | "rgba(237, 129, 40, 0.89)",
285 | "rgba(245, 54, 54, 0.9)"
286 | ],
287 | "dateFormat": "YYYY-MM-DD HH:mm:ss",
288 | "decimals": 2,
289 | "mappingType": 1,
290 | "pattern": "Value #I",
291 | "thresholds": [
292 | "10485760",
293 | "20485760"
294 | ],
295 | "type": "number",
296 | "unit": "Bps"
297 | },
298 | {
299 | "$$hashKey": "object:1610",
300 | "alias": "Download*",
301 | "align": "auto",
302 | "colorMode": "cell",
303 | "colors": [
304 | "rgba(50, 172, 45, 0.97)",
305 | "rgba(237, 129, 40, 0.89)",
306 | "rgba(245, 54, 54, 0.9)"
307 | ],
308 | "dateFormat": "YYYY-MM-DD HH:mm:ss",
309 | "decimals": 2,
310 | "mappingType": 1,
311 | "pattern": "Value #J",
312 | "thresholds": [
313 | "30485760",
314 | "104857600"
315 | ],
316 | "type": "number",
317 | "unit": "bps"
318 | },
319 | {
320 | "$$hashKey": "object:1611",
321 | "alias": "Upload*",
322 | "align": "auto",
323 | "colorMode": "cell",
324 | "colors": [
325 | "rgba(50, 172, 45, 0.97)",
326 | "rgba(237, 129, 40, 0.89)",
327 | "rgba(245, 54, 54, 0.9)"
328 | ],
329 | "dateFormat": "YYYY-MM-DD HH:mm:ss",
330 | "decimals": 2,
331 | "mappingType": 1,
332 | "pattern": "Value #K",
333 | "thresholds": [
334 | "30485760",
335 | "104857600"
336 | ],
337 | "type": "number",
338 | "unit": "bps"
339 | },
340 | {
341 | "$$hashKey": "object:1612",
342 | "alias": "5m load",
343 | "align": "auto",
344 | "colors": [
345 | "rgba(245, 54, 54, 0.9)",
346 | "rgba(237, 129, 40, 0.89)",
347 | "rgba(50, 172, 45, 0.97)"
348 | ],
349 | "dateFormat": "YYYY-MM-DD HH:mm:ss",
350 | "decimals": 2,
351 | "mappingType": 1,
352 | "pattern": "Value #L",
353 | "thresholds": [],
354 | "type": "number",
355 | "unit": "short"
356 | },
357 | {
358 | "$$hashKey": "object:1613",
359 | "alias": "CurrEstab",
360 | "align": "auto",
361 | "colorMode": "cell",
362 | "colors": [
363 | "rgba(50, 172, 45, 0.97)",
364 | "rgba(237, 129, 40, 0.89)",
365 | "rgba(245, 54, 54, 0.9)"
366 | ],
367 | "dateFormat": "YYYY-MM-DD HH:mm:ss",
368 | "decimals": 2,
369 | "mappingType": 1,
370 | "pattern": "Value #M",
371 | "thresholds": [
372 | "1000",
373 | "1500"
374 | ],
375 | "type": "string",
376 | "unit": "short"
377 | },
378 | {
379 | "$$hashKey": "object:1614",
380 | "alias": "TCP_tw",
381 | "align": "center",
382 | "colorMode": "cell",
383 | "colors": [
384 | "rgba(50, 172, 45, 0.97)",
385 | "rgba(237, 129, 40, 0.89)",
386 | "rgba(245, 54, 54, 0.9)"
387 | ],
388 | "dateFormat": "YYYY-MM-DD HH:mm:ss",
389 | "mappingType": 1,
390 | "pattern": "Value #N",
391 | "thresholds": [
392 | "5000",
393 | "20000"
394 | ],
395 | "type": "number",
396 | "unit": "short"
397 | },
398 | {
399 | "$$hashKey": "object:1615",
400 | "alias": "",
401 | "align": "right",
402 | "colors": [
403 | "rgba(245, 54, 54, 0.9)",
404 | "rgba(237, 129, 40, 0.89)",
405 | "rgba(50, 172, 45, 0.97)"
406 | ],
407 | "decimals": 2,
408 | "pattern": "/.*/",
409 | "thresholds": [],
410 | "type": "hidden",
411 | "unit": "short"
412 | }
413 | ],
414 | "targets": [
415 | {
416 | "expr": "node_uname_info{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\"} - 0",
417 | "format": "table",
418 | "instant": true,
419 | "interval": "",
420 | "legendFormat": "主机名",
421 | "refId": "A"
422 | },
423 | {
424 | "expr": "sum(time() - node_boot_time_seconds{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\"})by(instance)",
425 | "format": "table",
426 | "hide": false,
427 | "instant": true,
428 | "interval": "",
429 | "legendFormat": "运行时间",
430 | "refId": "D"
431 | },
432 | {
433 | "expr": "node_memory_MemTotal_bytes{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\"} - 0",
434 | "format": "table",
435 | "hide": false,
436 | "instant": true,
437 | "interval": "",
438 | "legendFormat": "总内存",
439 | "refId": "B"
440 | },
441 | {
442 | "expr": "count(node_cpu_seconds_total{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\",mode='system'}) by (instance)",
443 | "format": "table",
444 | "hide": false,
445 | "instant": true,
446 | "interval": "",
447 | "legendFormat": "总核数",
448 | "refId": "C"
449 | },
450 | {
451 | "expr": "node_load5{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\"}",
452 | "format": "table",
453 | "instant": true,
454 | "interval": "",
455 | "legendFormat": "5分钟负载",
456 | "refId": "L"
457 | },
458 | {
459 | "expr": "(1 - avg(rate(node_cpu_seconds_total{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\",mode=\"idle\"}[$interval])) by (instance)) * 100",
460 | "format": "table",
461 | "hide": false,
462 | "instant": true,
463 | "interval": "",
464 | "legendFormat": "CPU使用率",
465 | "refId": "F"
466 | },
467 | {
468 | "expr": "(1 - (node_memory_MemAvailable_bytes{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\"} / (node_memory_MemTotal_bytes{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\"})))* 100",
469 | "format": "table",
470 | "hide": false,
471 | "instant": true,
472 | "interval": "",
473 | "legendFormat": "内存使用率",
474 | "refId": "G"
475 | },
476 | {
477 | "expr": "max((node_filesystem_size_bytes{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\",fstype=~\"ext.?|xfs\"}-node_filesystem_free_bytes{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\",fstype=~\"ext.?|xfs\"}) *100/(node_filesystem_avail_bytes {origin_prometheus=~\"$origin_prometheus\",job=~\"$job\",fstype=~\"ext.?|xfs\"}+(node_filesystem_size_bytes{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\",fstype=~\"ext.?|xfs\"}-node_filesystem_free_bytes{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\",fstype=~\"ext.?|xfs\"})))by(instance)",
478 | "format": "table",
479 | "hide": false,
480 | "instant": true,
481 | "interval": "",
482 | "legendFormat": "分区使用率",
483 | "refId": "E"
484 | },
485 | {
486 | "expr": "max(rate(node_disk_read_bytes_total{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\"}[$interval])) by (instance)",
487 | "format": "table",
488 | "hide": false,
489 | "instant": true,
490 | "interval": "",
491 | "legendFormat": "最大读取",
492 | "refId": "H"
493 | },
494 | {
495 | "expr": "max(rate(node_disk_written_bytes_total{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\"}[$interval])) by (instance)",
496 | "format": "table",
497 | "hide": false,
498 | "instant": true,
499 | "interval": "",
500 | "legendFormat": "最大写入",
501 | "refId": "I"
502 | },
503 | {
504 | "expr": "node_netstat_Tcp_CurrEstab{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\"} - 0",
505 | "format": "table",
506 | "hide": false,
507 | "instant": true,
508 | "interval": "",
509 | "legendFormat": "连接数",
510 | "refId": "M"
511 | },
512 | {
513 | "expr": "node_sockstat_TCP_tw{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\"} - 0",
514 | "format": "table",
515 | "hide": false,
516 | "instant": true,
517 | "interval": "",
518 | "legendFormat": "TIME_WAIT",
519 | "refId": "N"
520 | },
521 | {
522 | "expr": "max(rate(node_network_receive_bytes_total{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\"}[$interval])*8) by (instance)",
523 | "format": "table",
524 | "hide": false,
525 | "instant": true,
526 | "interval": "",
527 | "legendFormat": "下载带宽",
528 | "refId": "J"
529 | },
530 | {
531 | "expr": "max(rate(node_network_transmit_bytes_total{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\"}[$interval])*8) by (instance)",
532 | "format": "table",
533 | "hide": false,
534 | "instant": true,
535 | "interval": "",
536 | "legendFormat": "上传带宽",
537 | "refId": "K"
538 | }
539 | ],
540 | "title": "Server Resource Overview【JOB:$job,Total:$total】",
541 | "transform": "table",
542 | "type": "table-old"
543 | },
544 | {
545 | "aliasColors": {
546 | "192.168.200.241:9100_Total": "dark-red",
547 | "Idle - Waiting for something to happen": "#052B51",
548 | "guest": "#9AC48A",
549 | "idle": "#052B51",
550 | "iowait": "#EAB839",
551 | "irq": "#BF1B00",
552 | "nice": "#C15C17",
553 | "sdb_每秒I/O操作%": "#d683ce",
554 | "softirq": "#E24D42",
555 | "steal": "#FCE2DE",
556 | "system": "#508642",
557 | "user": "#5195CE",
558 | "磁盘花费在I/O操作占比": "#ba43a9"
559 | },
560 | "bars": false,
561 | "dashLength": 10,
562 | "dashes": false,
563 | "datasource": {
564 | "uid": "${DS_PROMETHEUS}"
565 | },
566 | "description": "",
567 | "fieldConfig": {
568 | "defaults": {
569 | "links": []
570 | },
571 | "overrides": []
572 | },
573 | "fill": 0,
574 | "fillGradient": 0,
575 | "gridPos": {
576 | "h": 7,
577 | "w": 8,
578 | "x": 0,
579 | "y": 8
580 | },
581 | "hiddenSeries": false,
582 | "id": 191,
583 | "legend": {
584 | "alignAsTable": false,
585 | "avg": false,
586 | "current": true,
587 | "hideEmpty": true,
588 | "hideZero": true,
589 | "max": false,
590 | "min": false,
591 | "rightSide": false,
592 | "show": true,
593 | "sort": "current",
594 | "sortDesc": true,
595 | "total": false,
596 | "values": true
597 | },
598 | "lines": true,
599 | "linewidth": 2,
600 | "links": [],
601 | "maxPerRow": 6,
602 | "nullPointMode": "null",
603 | "options": {
604 | "alertThreshold": true
605 | },
606 | "percentage": false,
607 | "pluginVersion": "8.5.2",
608 | "pointradius": 5,
609 | "points": false,
610 | "renderer": "flot",
611 | "seriesOverrides": [
612 | {
613 | "$$hashKey": "object:2312",
614 | "alias": "Overall average used%",
615 | "lines": false,
616 | "pointradius": 1,
617 | "points": true,
618 | "yaxis": 2
619 | },
620 | {
621 | "$$hashKey": "object:2313",
622 | "alias": "CPU Cores",
623 | "color": "#C4162A"
624 | }
625 | ],
626 | "spaceLength": 10,
627 | "stack": false,
628 | "steppedLine": false,
629 | "targets": [
630 | {
631 | "expr": "count(node_cpu_seconds_total{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\", mode='system'})",
632 | "format": "time_series",
633 | "hide": false,
634 | "instant": false,
635 | "interval": "30m",
636 | "intervalFactor": 1,
637 | "legendFormat": "CPU Cores",
638 | "refId": "B",
639 | "step": 240
640 | },
641 | {
642 | "expr": "sum(node_load5{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\"})",
643 | "format": "time_series",
644 | "hide": false,
645 | "interval": "30m",
646 | "intervalFactor": 1,
647 | "legendFormat": "Total 5m load",
648 | "refId": "A",
649 | "step": 240
650 | },
651 | {
652 | "expr": "avg(1 - avg(rate(node_cpu_seconds_total{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\",mode=\"idle\"}[$interval])) by (instance)) * 100",
653 | "format": "time_series",
654 | "hide": false,
655 | "interval": "30m",
656 | "intervalFactor": 1,
657 | "legendFormat": "Overall average used%",
658 | "refId": "F",
659 | "step": 240
660 | }
661 | ],
662 | "thresholds": [],
663 | "timeRegions": [],
664 | "title": "$job:Overall total 5m load & average CPU used%",
665 | "tooltip": {
666 | "shared": true,
667 | "sort": 2,
668 | "value_type": "individual"
669 | },
670 | "type": "graph",
671 | "xaxis": {
672 | "mode": "time",
673 | "show": true,
674 | "values": []
675 | },
676 | "yaxes": [
677 | {
678 | "$$hashKey": "object:8791",
679 | "format": "short",
680 | "label": "Total 5m load",
681 | "logBase": 1,
682 | "show": true
683 | },
684 | {
685 | "$$hashKey": "object:8792",
686 | "decimals": 0,
687 | "format": "percent",
688 | "label": "Overall average used%",
689 | "logBase": 1,
690 | "show": true
691 | }
692 | ],
693 | "yaxis": {
694 | "align": false
695 | }
696 | },
697 | {
698 | "aliasColors": {
699 | "192.168.200.241:9100_总内存": "dark-red",
700 | "内存_Avaliable": "#6ED0E0",
701 | "内存_Cached": "#EF843C",
702 | "内存_Free": "#629E51",
703 | "内存_Total": "#6d1f62",
704 | "内存_Used": "#eab839",
705 | "可用": "#9ac48a",
706 | "总内存": "#bf1b00"
707 | },
708 | "bars": false,
709 | "dashLength": 10,
710 | "dashes": false,
711 | "datasource": {
712 | "uid": "${DS_PROMETHEUS}"
713 | },
714 | "decimals": 1,
715 | "fieldConfig": {
716 | "defaults": {
717 | "links": []
718 | },
719 | "overrides": []
720 | },
721 | "fill": 0,
722 | "fillGradient": 0,
723 | "gridPos": {
724 | "h": 7,
725 | "w": 8,
726 | "x": 8,
727 | "y": 8
728 | },
729 | "height": "300",
730 | "hiddenSeries": false,
731 | "id": 195,
732 | "legend": {
733 | "alignAsTable": false,
734 | "avg": false,
735 | "current": true,
736 | "max": false,
737 | "min": false,
738 | "rightSide": false,
739 | "show": true,
740 | "sort": "current",
741 | "sortDesc": false,
742 | "total": false,
743 | "values": true
744 | },
745 | "lines": true,
746 | "linewidth": 2,
747 | "links": [],
748 | "nullPointMode": "null",
749 | "options": {
750 | "alertThreshold": true
751 | },
752 | "percentage": false,
753 | "pluginVersion": "8.5.2",
754 | "pointradius": 5,
755 | "points": false,
756 | "renderer": "flot",
757 | "seriesOverrides": [
758 | {
759 | "$$hashKey": "object:2494",
760 | "alias": "Total",
761 | "color": "#C4162A",
762 | "fill": 0
763 | },
764 | {
765 | "$$hashKey": "object:2495",
766 | "alias": "Overall Average Used%",
767 | "lines": false,
768 | "pointradius": 1,
769 | "points": true,
770 | "yaxis": 2
771 | }
772 | ],
773 | "spaceLength": 10,
774 | "stack": false,
775 | "steppedLine": false,
776 | "targets": [
777 | {
778 | "expr": "sum(node_memory_MemTotal_bytes{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\"})",
779 | "format": "time_series",
780 | "hide": false,
781 | "instant": false,
782 | "interval": "30m",
783 | "intervalFactor": 1,
784 | "legendFormat": "Total",
785 | "refId": "A",
786 | "step": 4
787 | },
788 | {
789 | "expr": "sum(node_memory_MemTotal_bytes{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\"} - node_memory_MemAvailable_bytes{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\"})",
790 | "format": "time_series",
791 | "hide": false,
792 | "interval": "30m",
793 | "intervalFactor": 1,
794 | "legendFormat": "Total Used",
795 | "refId": "B",
796 | "step": 4
797 | },
798 | {
799 | "expr": "(sum(node_memory_MemTotal_bytes{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\"} - node_memory_MemAvailable_bytes{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\"}) / sum(node_memory_MemTotal_bytes{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\"}))*100",
800 | "format": "time_series",
801 | "hide": false,
802 | "interval": "30m",
803 | "intervalFactor": 1,
804 | "legendFormat": "Overall Average Used%",
805 | "refId": "H"
806 | }
807 | ],
808 | "thresholds": [],
809 | "timeRegions": [],
810 | "title": "$job:Overall total memory & average memory used%",
811 | "tooltip": {
812 | "shared": true,
813 | "sort": 2,
814 | "value_type": "individual"
815 | },
816 | "type": "graph",
817 | "xaxis": {
818 | "mode": "time",
819 | "show": true,
820 | "values": []
821 | },
822 | "yaxes": [
823 | {
824 | "$$hashKey": "object:8938",
825 | "format": "bytes",
826 | "label": "Total",
827 | "logBase": 1,
828 | "min": "0",
829 | "show": true
830 | },
831 | {
832 | "$$hashKey": "object:8939",
833 | "format": "percent",
834 | "label": "Overall Average Used%",
835 | "logBase": 1,
836 | "show": true
837 | }
838 | ],
839 | "yaxis": {
840 | "align": false
841 | }
842 | },
843 | {
844 | "aliasColors": {},
845 | "bars": false,
846 | "dashLength": 10,
847 | "dashes": false,
848 | "datasource": {
849 | "uid": "${DS_PROMETHEUS}"
850 | },
851 | "decimals": 1,
852 | "description": "",
853 | "fieldConfig": {
854 | "defaults": {
855 | "links": []
856 | },
857 | "overrides": []
858 | },
859 | "fill": 0,
860 | "fillGradient": 0,
861 | "gridPos": {
862 | "h": 7,
863 | "w": 8,
864 | "x": 16,
865 | "y": 8
866 | },
867 | "hiddenSeries": false,
868 | "id": 197,
869 | "legend": {
870 | "alignAsTable": false,
871 | "avg": false,
872 | "current": true,
873 | "hideEmpty": false,
874 | "hideZero": false,
875 | "max": false,
876 | "min": false,
877 | "rightSide": false,
878 | "show": true,
879 | "sort": "current",
880 | "sortDesc": true,
881 | "total": false,
882 | "values": true
883 | },
884 | "lines": true,
885 | "linewidth": 2,
886 | "links": [],
887 | "nullPointMode": "null",
888 | "options": {
889 | "alertThreshold": true
890 | },
891 | "percentage": false,
892 | "pluginVersion": "8.5.2",
893 | "pointradius": 5,
894 | "points": false,
895 | "renderer": "flot",
896 | "seriesOverrides": [
897 | {
898 | "$$hashKey": "object:2617",
899 | "alias": "Overall Average Used%",
900 | "lines": false,
901 | "pointradius": 1,
902 | "points": true,
903 | "yaxis": 2
904 | },
905 | {
906 | "$$hashKey": "object:2618",
907 | "alias": "Total",
908 | "color": "#C4162A"
909 | }
910 | ],
911 | "spaceLength": 10,
912 | "stack": false,
913 | "steppedLine": false,
914 | "targets": [
915 | {
916 | "expr": "sum(avg(node_filesystem_size_bytes{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\",fstype=~\"xfs|ext.*\"})by(device,instance))",
917 | "format": "time_series",
918 | "instant": false,
919 | "interval": "30m",
920 | "intervalFactor": 1,
921 | "legendFormat": "Total",
922 | "refId": "E"
923 | },
924 | {
925 | "expr": "sum(avg(node_filesystem_size_bytes{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\",fstype=~\"xfs|ext.*\"})by(device,instance)) - sum(avg(node_filesystem_free_bytes{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\",fstype=~\"xfs|ext.*\"})by(device,instance))",
926 | "format": "time_series",
927 | "instant": false,
928 | "interval": "30m",
929 | "intervalFactor": 1,
930 | "legendFormat": "Total Used",
931 | "refId": "C"
932 | },
933 | {
934 | "expr": "(sum(avg(node_filesystem_size_bytes{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\",fstype=~\"xfs|ext.*\"})by(device,instance)) - sum(avg(node_filesystem_free_bytes{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\",fstype=~\"xfs|ext.*\"})by(device,instance))) *100/(sum(avg(node_filesystem_avail_bytes{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\",fstype=~\"xfs|ext.*\"})by(device,instance))+(sum(avg(node_filesystem_size_bytes{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\",fstype=~\"xfs|ext.*\"})by(device,instance)) - sum(avg(node_filesystem_free_bytes{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\",fstype=~\"xfs|ext.*\"})by(device,instance))))",
935 | "format": "time_series",
936 | "instant": false,
937 | "interval": "30m",
938 | "intervalFactor": 1,
939 | "legendFormat": "Overall Average Used%",
940 | "refId": "A"
941 | }
942 | ],
943 | "thresholds": [],
944 | "timeRegions": [],
945 | "title": "$job:Overall total disk & average disk used%",
946 | "tooltip": {
947 | "shared": true,
948 | "sort": 2,
949 | "value_type": "individual"
950 | },
951 | "type": "graph",
952 | "xaxis": {
953 | "mode": "time",
954 | "show": true,
955 | "values": []
956 | },
957 | "yaxes": [
958 | {
959 | "$$hashKey": "object:8990",
960 | "decimals": 1,
961 | "format": "bytes",
962 | "label": "Total",
963 | "logBase": 1,
964 | "min": "0",
965 | "show": true
966 | },
967 | {
968 | "$$hashKey": "object:8991",
969 | "format": "percent",
970 | "label": "Overall Average Used%",
971 | "logBase": 1,
972 | "show": true
973 | }
974 | ],
975 | "yaxis": {
976 | "align": false
977 | }
978 | },
979 | {
980 | "collapsed": false,
981 | "datasource": {
982 | "uid": "${DS_PROMETHEUS}"
983 | },
984 | "gridPos": {
985 | "h": 1,
986 | "w": 24,
987 | "x": 0,
988 | "y": 15
989 | },
990 | "id": 189,
991 | "panels": [],
992 | "title": "Resource Details:【$show_hostname】",
993 | "type": "row"
994 | },
995 | {
996 | "datasource": {
997 | "uid": "${DS_PROMETHEUS}"
998 | },
999 | "description": "",
1000 | "fieldConfig": {
1001 | "defaults": {
1002 | "decimals": 0,
1003 | "mappings": [
1004 | {
1005 | "options": {
1006 | "match": "null",
1007 | "result": {
1008 | "text": "N/A"
1009 | }
1010 | },
1011 | "type": "special"
1012 | }
1013 | ],
1014 | "thresholds": {
1015 | "mode": "absolute",
1016 | "steps": [
1017 | {
1018 | "color": "rgba(245, 54, 54, 0.9)",
1019 | "value": null
1020 | },
1021 | {
1022 | "color": "rgba(237, 129, 40, 0.89)",
1023 | "value": 1
1024 | },
1025 | {
1026 | "color": "rgba(50, 172, 45, 0.97)",
1027 | "value": 3
1028 | }
1029 | ]
1030 | },
1031 | "unit": "s"
1032 | },
1033 | "overrides": []
1034 | },
1035 | "gridPos": {
1036 | "h": 2,
1037 | "w": 2,
1038 | "x": 0,
1039 | "y": 16
1040 | },
1041 | "hideTimeOverride": true,
1042 | "id": 15,
1043 | "links": [],
1044 | "maxDataPoints": 100,
1045 | "options": {
1046 | "colorMode": "value",
1047 | "graphMode": "none",
1048 | "justifyMode": "auto",
1049 | "orientation": "horizontal",
1050 | "reduceOptions": {
1051 | "calcs": [
1052 | "lastNotNull"
1053 | ],
1054 | "fields": "",
1055 | "values": false
1056 | },
1057 | "textMode": "auto"
1058 | },
1059 | "pluginVersion": "8.5.2",
1060 | "targets": [
1061 | {
1062 | "expr": "avg(time() - node_boot_time_seconds{instance=~\"$node\"})",
1063 | "format": "time_series",
1064 | "hide": false,
1065 | "instant": true,
1066 | "interval": "",
1067 | "intervalFactor": 1,
1068 | "legendFormat": "",
1069 | "refId": "A",
1070 | "step": 40
1071 | }
1072 | ],
1073 | "title": "Uptime",
1074 | "type": "stat"
1075 | },
1076 | {
1077 | "datasource": {
1078 | "uid": "${DS_PROMETHEUS}"
1079 | },
1080 | "fieldConfig": {
1081 | "defaults": {
1082 | "color": {
1083 | "mode": "thresholds"
1084 | },
1085 | "decimals": 1,
1086 | "mappings": [
1087 | {
1088 | "options": {
1089 | "0": {
1090 | "text": "N/A"
1091 | }
1092 | },
1093 | "type": "value"
1094 | }
1095 | ],
1096 | "max": 100,
1097 | "min": 0.1,
1098 | "thresholds": {
1099 | "mode": "absolute",
1100 | "steps": [
1101 | {
1102 | "color": "green",
1103 | "value": null
1104 | },
1105 | {
1106 | "color": "#EAB839",
1107 | "value": 70
1108 | },
1109 | {
1110 | "color": "red",
1111 | "value": 90
1112 | }
1113 | ]
1114 | },
1115 | "unit": "percent"
1116 | },
1117 | "overrides": []
1118 | },
1119 | "gridPos": {
1120 | "h": 6,
1121 | "w": 3,
1122 | "x": 2,
1123 | "y": 16
1124 | },
1125 | "id": 177,
1126 | "options": {
1127 | "displayMode": "lcd",
1128 | "minVizHeight": 10,
1129 | "minVizWidth": 0,
1130 | "orientation": "horizontal",
1131 | "reduceOptions": {
1132 | "calcs": [
1133 | "last"
1134 | ],
1135 | "fields": "",
1136 | "values": false
1137 | },
1138 | "showUnfilled": true
1139 | },
1140 | "pluginVersion": "8.5.2",
1141 | "targets": [
1142 | {
1143 | "expr": "100 - (avg(rate(node_cpu_seconds_total{instance=~\"$node\",mode=\"idle\"}[$interval])) * 100)",
1144 | "instant": true,
1145 | "interval": "",
1146 | "legendFormat": "CPU Busy",
1147 | "refId": "A"
1148 | },
1149 | {
1150 | "expr": "avg(rate(node_cpu_seconds_total{instance=~\"$node\",mode=\"iowait\"}[$interval])) * 100",
1151 | "hide": true,
1152 | "instant": true,
1153 | "interval": "",
1154 | "legendFormat": "IOwait使用率",
1155 | "refId": "C"
1156 | },
1157 | {
1158 | "expr": "(1 - (node_memory_MemAvailable_bytes{instance=~\"$node\"} / (node_memory_MemTotal_bytes{instance=~\"$node\"})))* 100",
1159 | "instant": true,
1160 | "interval": "",
1161 | "legendFormat": "Used RAM Memory",
1162 | "refId": "B"
1163 | },
1164 | {
1165 | "expr": "(node_filesystem_size_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint=\"$maxmount\"}-node_filesystem_free_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint=\"$maxmount\"})*100 /(node_filesystem_avail_bytes {instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint=\"$maxmount\"}+(node_filesystem_size_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint=\"$maxmount\"}-node_filesystem_free_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint=\"$maxmount\"}))",
1166 | "hide": false,
1167 | "instant": true,
1168 | "interval": "",
1169 | "legendFormat": "Used Max Mount($maxmount)",
1170 | "refId": "D"
1171 | },
1172 | {
1173 | "expr": "(1 - ((node_memory_SwapFree_bytes{instance=~\"$node\"} + 1)/ (node_memory_SwapTotal_bytes{instance=~\"$node\"} + 1))) * 100",
1174 | "instant": true,
1175 | "interval": "",
1176 | "legendFormat": "Used SWAP",
1177 | "refId": "F"
1178 | }
1179 | ],
1180 | "transformations": [],
1181 | "type": "bargauge"
1182 | },
1183 | {
1184 | "columns": [],
1185 | "datasource": {
1186 | "uid": "${DS_PROMETHEUS}"
1187 | },
1188 | "description": "In this kanban: the total disk, usage, available, and usage rate are consistent with the values of the Size, Used, Avail, and Use% columns of the df command, and the value of Use% will be rounded to one decimal place, which will be more accurate .\n\nNote: The Use% algorithm in df is: (size-free) * 100 / (avail + (size-free)), the result is divisible by this value, non-divisible by this value is +1, and the unit of the result is %.\nRefer to the df command source code:",
1189 | "fontSize": "80%",
1190 | "gridPos": {
1191 | "h": 6,
1192 | "w": 10,
1193 | "x": 5,
1194 | "y": 16
1195 | },
1196 | "id": 181,
1197 | "links": [
1198 | {
1199 | "targetBlank": true,
1200 | "title": "https://github.com/coreutils/coreutils/blob/master/src/df.c",
1201 | "url": "https://github.com/coreutils/coreutils/blob/master/src/df.c"
1202 | }
1203 | ],
1204 | "scroll": true,
1205 | "showHeader": true,
1206 | "sort": {
1207 | "col": 6,
1208 | "desc": false
1209 | },
1210 | "styles": [
1211 | {
1212 | "$$hashKey": "object:307",
1213 | "alias": "Mounted on",
1214 | "align": "auto",
1215 | "colors": [
1216 | "rgba(50, 172, 45, 0.97)",
1217 | "rgba(237, 129, 40, 0.89)",
1218 | "rgba(245, 54, 54, 0.9)"
1219 | ],
1220 | "dateFormat": "YYYY-MM-DD HH:mm:ss",
1221 | "decimals": 2,
1222 | "mappingType": 1,
1223 | "pattern": "mountpoint",
1224 | "thresholds": [
1225 | ""
1226 | ],
1227 | "type": "string",
1228 | "unit": "bytes"
1229 | },
1230 | {
1231 | "$$hashKey": "object:308",
1232 | "alias": "Avail",
1233 | "align": "auto",
1234 | "colorMode": "value",
1235 | "colors": [
1236 | "rgba(245, 54, 54, 0.9)",
1237 | "rgba(237, 129, 40, 0.89)",
1238 | "rgba(50, 172, 45, 0.97)"
1239 | ],
1240 | "dateFormat": "YYYY-MM-DD HH:mm:ss",
1241 | "decimals": 1,
1242 | "mappingType": 1,
1243 | "pattern": "Value #A",
1244 | "thresholds": [
1245 | "10000000000",
1246 | "20000000000"
1247 | ],
1248 | "type": "number",
1249 | "unit": "bytes"
1250 | },
1251 | {
1252 | "$$hashKey": "object:309",
1253 | "alias": "Used",
1254 | "align": "auto",
1255 | "colorMode": "cell",
1256 | "colors": [
1257 | "rgba(50, 172, 45, 0.97)",
1258 | "rgba(237, 129, 40, 0.89)",
1259 | "rgba(245, 54, 54, 0.9)"
1260 | ],
1261 | "dateFormat": "YYYY-MM-DD HH:mm:ss",
1262 | "decimals": 1,
1263 | "mappingType": 1,
1264 | "pattern": "Value #B",
1265 | "thresholds": [
1266 | "70",
1267 | "85"
1268 | ],
1269 | "type": "number",
1270 | "unit": "percent"
1271 | },
1272 | {
1273 | "$$hashKey": "object:310",
1274 | "alias": "Size",
1275 | "align": "auto",
1276 | "colors": [
1277 | "rgba(245, 54, 54, 0.9)",
1278 | "rgba(237, 129, 40, 0.89)",
1279 | "rgba(50, 172, 45, 0.97)"
1280 | ],
1281 | "dateFormat": "YYYY-MM-DD HH:mm:ss",
1282 | "decimals": 0,
1283 | "link": false,
1284 | "mappingType": 1,
1285 | "pattern": "Value #C",
1286 | "thresholds": [],
1287 | "type": "number",
1288 | "unit": "bytes"
1289 | },
1290 | {
1291 | "$$hashKey": "object:311",
1292 | "alias": "Filesystem",
1293 | "align": "auto",
1294 | "colors": [
1295 | "rgba(245, 54, 54, 0.9)",
1296 | "rgba(237, 129, 40, 0.89)",
1297 | "rgba(50, 172, 45, 0.97)"
1298 | ],
1299 | "dateFormat": "YYYY-MM-DD HH:mm:ss",
1300 | "decimals": 2,
1301 | "link": false,
1302 | "mappingType": 1,
1303 | "pattern": "fstype",
1304 | "thresholds": [],
1305 | "type": "string",
1306 | "unit": "short"
1307 | },
1308 | {
1309 | "$$hashKey": "object:312",
1310 | "alias": "Device",
1311 | "align": "auto",
1312 | "colors": [
1313 | "rgba(245, 54, 54, 0.9)",
1314 | "rgba(237, 129, 40, 0.89)",
1315 | "rgba(50, 172, 45, 0.97)"
1316 | ],
1317 | "dateFormat": "YYYY-MM-DD HH:mm:ss",
1318 | "decimals": 2,
1319 | "link": false,
1320 | "mappingType": 1,
1321 | "pattern": "device",
1322 | "preserveFormat": false,
1323 | "sanitize": false,
1324 | "thresholds": [],
1325 | "type": "string",
1326 | "unit": "short"
1327 | },
1328 | {
1329 | "$$hashKey": "object:313",
1330 | "alias": "",
1331 | "align": "auto",
1332 | "colors": [
1333 | "rgba(245, 54, 54, 0.9)",
1334 | "rgba(237, 129, 40, 0.89)",
1335 | "rgba(50, 172, 45, 0.97)"
1336 | ],
1337 | "decimals": 2,
1338 | "pattern": "/.*/",
1339 | "preserveFormat": true,
1340 | "sanitize": false,
1341 | "thresholds": [],
1342 | "type": "hidden",
1343 | "unit": "short"
1344 | }
1345 | ],
1346 | "targets": [
1347 | {
1348 | "expr": "node_filesystem_size_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}-0",
1349 | "format": "table",
1350 | "hide": false,
1351 | "instant": true,
1352 | "interval": "",
1353 | "intervalFactor": 1,
1354 | "legendFormat": "总量",
1355 | "refId": "C"
1356 | },
1357 | {
1358 | "expr": "node_filesystem_avail_bytes {instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}-0",
1359 | "format": "table",
1360 | "hide": false,
1361 | "instant": true,
1362 | "interval": "10s",
1363 | "intervalFactor": 1,
1364 | "legendFormat": "",
1365 | "refId": "A"
1366 | },
1367 | {
1368 | "expr": "(node_filesystem_size_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}-node_filesystem_free_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}) *100/(node_filesystem_avail_bytes {instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}+(node_filesystem_size_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}-node_filesystem_free_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}))",
1369 | "format": "table",
1370 | "hide": false,
1371 | "instant": true,
1372 | "interval": "",
1373 | "intervalFactor": 1,
1374 | "legendFormat": "",
1375 | "refId": "B"
1376 | }
1377 | ],
1378 | "title": "【$show_hostname】:Disk Space Used Basic(EXT?/XFS)",
1379 | "transform": "table",
1380 | "type": "table-old"
1381 | },
1382 | {
1383 | "datasource": {
1384 | "uid": "${DS_PROMETHEUS}"
1385 | },
1386 | "description": "",
1387 | "fieldConfig": {
1388 | "defaults": {
1389 | "decimals": 2,
1390 | "mappings": [
1391 | {
1392 | "options": {
1393 | "match": "null",
1394 | "result": {
1395 | "text": "N/A"
1396 | }
1397 | },
1398 | "type": "special"
1399 | }
1400 | ],
1401 | "max": 100,
1402 | "min": 0,
1403 | "thresholds": {
1404 | "mode": "absolute",
1405 | "steps": [
1406 | {
1407 | "color": "rgba(50, 172, 45, 0.97)",
1408 | "value": null
1409 | },
1410 | {
1411 | "color": "rgba(237, 129, 40, 0.89)",
1412 | "value": 20
1413 | },
1414 | {
1415 | "color": "#d44a3a",
1416 | "value": 50
1417 | }
1418 | ]
1419 | },
1420 | "unit": "percent"
1421 | },
1422 | "overrides": []
1423 | },
1424 | "gridPos": {
1425 | "h": 2,
1426 | "w": 2,
1427 | "x": 15,
1428 | "y": 16
1429 | },
1430 | "id": 20,
1431 | "links": [],
1432 | "maxDataPoints": 100,
1433 | "options": {
1434 | "colorMode": "value",
1435 | "graphMode": "area",
1436 | "justifyMode": "auto",
1437 | "orientation": "horizontal",
1438 | "reduceOptions": {
1439 | "calcs": [
1440 | "last"
1441 | ],
1442 | "fields": "",
1443 | "values": false
1444 | },
1445 | "textMode": "auto"
1446 | },
1447 | "pluginVersion": "8.5.2",
1448 | "targets": [
1449 | {
1450 | "expr": "avg(rate(node_cpu_seconds_total{instance=~\"$node\",mode=\"iowait\"}[$interval])) * 100",
1451 | "format": "time_series",
1452 | "hide": false,
1453 | "instant": false,
1454 | "interval": "",
1455 | "intervalFactor": 1,
1456 | "legendFormat": "",
1457 | "refId": "A",
1458 | "step": 20
1459 | }
1460 | ],
1461 | "title": "CPU iowait",
1462 | "type": "stat"
1463 | },
1464 | {
1465 | "aliasColors": {
1466 | "cn-shenzhen.i-wz9cq1dcb6zwc39ehw59_cni0_in": "light-red",
1467 | "cn-shenzhen.i-wz9cq1dcb6zwc39ehw59_cni0_in下载": "green",
1468 | "cn-shenzhen.i-wz9cq1dcb6zwc39ehw59_cni0_out上传": "yellow",
1469 | "cn-shenzhen.i-wz9cq1dcb6zwc39ehw59_eth0_in下载": "purple",
1470 | "cn-shenzhen.i-wz9cq1dcb6zwc39ehw59_eth0_out": "purple",
1471 | "cn-shenzhen.i-wz9cq1dcb6zwc39ehw59_eth0_out上传": "blue"
1472 | },
1473 | "bars": true,
1474 | "dashLength": 10,
1475 | "dashes": false,
1476 | "datasource": {
1477 | "uid": "${DS_PROMETHEUS}"
1478 | },
1479 | "editable": true,
1480 | "error": false,
1481 | "fieldConfig": {
1482 | "defaults": {
1483 | "links": []
1484 | },
1485 | "overrides": []
1486 | },
1487 | "fill": 1,
1488 | "fillGradient": 0,
1489 | "grid": {},
1490 | "gridPos": {
1491 | "h": 6,
1492 | "w": 7,
1493 | "x": 17,
1494 | "y": 16
1495 | },
1496 | "hiddenSeries": false,
1497 | "id": 183,
1498 | "legend": {
1499 | "alignAsTable": true,
1500 | "avg": true,
1501 | "current": true,
1502 | "hideEmpty": true,
1503 | "hideZero": true,
1504 | "max": true,
1505 | "min": false,
1506 | "show": false,
1507 | "sort": "current",
1508 | "sortDesc": true,
1509 | "total": true,
1510 | "values": true
1511 | },
1512 | "lines": false,
1513 | "linewidth": 2,
1514 | "links": [],
1515 | "nullPointMode": "null as zero",
1516 | "options": {
1517 | "alertThreshold": true
1518 | },
1519 | "percentage": false,
1520 | "pluginVersion": "8.5.2",
1521 | "pointradius": 1,
1522 | "points": false,
1523 | "renderer": "flot",
1524 | "seriesOverrides": [
1525 | {
1526 | "$$hashKey": "object:2970",
1527 | "alias": "/.*_transmit$/",
1528 | "transform": "negative-Y"
1529 | }
1530 | ],
1531 | "spaceLength": 10,
1532 | "stack": false,
1533 | "steppedLine": false,
1534 | "targets": [
1535 | {
1536 | "expr": "increase(node_network_receive_bytes_total{instance=~\"$node\",device=~\"$device\"}[60m])",
1537 | "interval": "60m",
1538 | "intervalFactor": 1,
1539 | "legendFormat": "{{device}}_receive",
1540 | "metric": "",
1541 | "refId": "A",
1542 | "step": 600,
1543 | "target": ""
1544 | },
1545 | {
1546 | "expr": "increase(node_network_transmit_bytes_total{instance=~\"$node\",device=~\"$device\"}[60m])",
1547 | "hide": false,
1548 | "interval": "60m",
1549 | "intervalFactor": 1,
1550 | "legendFormat": "{{device}}_transmit",
1551 | "refId": "B",
1552 | "step": 600
1553 | }
1554 | ],
1555 | "thresholds": [],
1556 | "timeRegions": [],
1557 | "title": "Internet traffic per hour $device",
1558 | "tooltip": {
1559 | "msResolution": false,
1560 | "shared": true,
1561 | "sort": 0,
1562 | "value_type": "cumulative"
1563 | },
1564 | "type": "graph",
1565 | "xaxis": {
1566 | "mode": "time",
1567 | "show": true,
1568 | "values": []
1569 | },
1570 | "yaxes": [
1571 | {
1572 | "$$hashKey": "object:2977",
1573 | "format": "bytes",
1574 | "label": "transmit(-)/receive(+)",
1575 | "logBase": 1,
1576 | "show": true
1577 | },
1578 | {
1579 | "$$hashKey": "object:2978",
1580 | "format": "short",
1581 | "logBase": 1,
1582 | "show": false
1583 | }
1584 | ],
1585 | "yaxis": {
1586 | "align": false
1587 | }
1588 | },
1589 | {
1590 | "datasource": {
1591 | "uid": "${DS_PROMETHEUS}"
1592 | },
1593 | "description": "",
1594 | "fieldConfig": {
1595 | "defaults": {
1596 | "mappings": [
1597 | {
1598 | "options": {
1599 | "match": "null",
1600 | "result": {
1601 | "text": "N/A"
1602 | }
1603 | },
1604 | "type": "special"
1605 | }
1606 | ],
1607 | "thresholds": {
1608 | "mode": "absolute",
1609 | "steps": [
1610 | {
1611 | "color": "rgba(245, 54, 54, 0.9)",
1612 | "value": null
1613 | },
1614 | {
1615 | "color": "rgba(237, 129, 40, 0.89)",
1616 | "value": 1
1617 | },
1618 | {
1619 | "color": "rgba(50, 172, 45, 0.97)",
1620 | "value": 2
1621 | }
1622 | ]
1623 | },
1624 | "unit": "short"
1625 | },
1626 | "overrides": []
1627 | },
1628 | "gridPos": {
1629 | "h": 2,
1630 | "w": 2,
1631 | "x": 0,
1632 | "y": 18
1633 | },
1634 | "id": 14,
1635 | "links": [],
1636 | "maxDataPoints": 100,
1637 | "options": {
1638 | "colorMode": "value",
1639 | "graphMode": "none",
1640 | "justifyMode": "auto",
1641 | "orientation": "horizontal",
1642 | "reduceOptions": {
1643 | "calcs": [
1644 | "lastNotNull"
1645 | ],
1646 | "fields": "",
1647 | "values": false
1648 | },
1649 | "textMode": "value"
1650 | },
1651 | "pluginVersion": "8.5.2",
1652 | "targets": [
1653 | {
1654 | "expr": "count(node_cpu_seconds_total{instance=~\"$node\", mode='system'})",
1655 | "format": "time_series",
1656 | "instant": true,
1657 | "interval": "",
1658 | "intervalFactor": 1,
1659 | "legendFormat": "",
1660 | "refId": "A",
1661 | "step": 20
1662 | }
1663 | ],
1664 | "title": "CPU Cores",
1665 | "type": "stat"
1666 | },
1667 | {
1668 | "datasource": {
1669 | "uid": "${DS_PROMETHEUS}"
1670 | },
1671 | "description": "",
1672 | "fieldConfig": {
1673 | "defaults": {
1674 | "mappings": [
1675 | {
1676 | "options": {
1677 | "match": "null",
1678 | "result": {
1679 | "text": "N/A"
1680 | }
1681 | },
1682 | "type": "special"
1683 | }
1684 | ],
1685 | "thresholds": {
1686 | "mode": "absolute",
1687 | "steps": [
1688 | {
1689 | "color": "rgba(245, 54, 54, 0.9)",
1690 | "value": null
1691 | },
1692 | {
1693 | "color": "rgba(237, 129, 40, 0.89)",
1694 | "value": 100000
1695 | },
1696 | {
1697 | "color": "rgba(50, 172, 45, 0.97)",
1698 | "value": 1000000
1699 | }
1700 | ]
1701 | },
1702 | "unit": "short"
1703 | },
1704 | "overrides": []
1705 | },
1706 | "gridPos": {
1707 | "h": 2,
1708 | "w": 2,
1709 | "x": 15,
1710 | "y": 18
1711 | },
1712 | "id": 179,
1713 | "links": [],
1714 | "maxDataPoints": 100,
1715 | "options": {
1716 | "colorMode": "value",
1717 | "graphMode": "none",
1718 | "justifyMode": "auto",
1719 | "orientation": "horizontal",
1720 | "reduceOptions": {
1721 | "calcs": [
1722 | "lastNotNull"
1723 | ],
1724 | "fields": "",
1725 | "values": false
1726 | },
1727 | "textMode": "auto"
1728 | },
1729 | "pluginVersion": "8.5.2",
1730 | "targets": [
1731 | {
1732 | "expr": "avg(node_filesystem_files_free{instance=~\"$node\",mountpoint=\"$maxmount\",fstype=~\"ext.?|xfs\"})",
1733 | "format": "time_series",
1734 | "instant": true,
1735 | "interval": "",
1736 | "intervalFactor": 1,
1737 | "legendFormat": "",
1738 | "refId": "A",
1739 | "step": 20
1740 | }
1741 | ],
1742 | "title": "Free inodes:$maxmount ",
1743 | "type": "stat"
1744 | },
1745 | {
1746 | "datasource": {
1747 | "uid": "${DS_PROMETHEUS}"
1748 | },
1749 | "description": "",
1750 | "fieldConfig": {
1751 | "defaults": {
1752 | "decimals": 0,
1753 | "mappings": [
1754 | {
1755 | "options": {
1756 | "match": "null",
1757 | "result": {
1758 | "text": "N/A"
1759 | }
1760 | },
1761 | "type": "special"
1762 | }
1763 | ],
1764 | "thresholds": {
1765 | "mode": "absolute",
1766 | "steps": [
1767 | {
1768 | "color": "rgba(245, 54, 54, 0.9)",
1769 | "value": null
1770 | },
1771 | {
1772 | "color": "rgba(237, 129, 40, 0.89)",
1773 | "value": 2
1774 | },
1775 | {
1776 | "color": "rgba(50, 172, 45, 0.97)",
1777 | "value": 3
1778 | }
1779 | ]
1780 | },
1781 | "unit": "bytes"
1782 | },
1783 | "overrides": []
1784 | },
1785 | "gridPos": {
1786 | "h": 2,
1787 | "w": 2,
1788 | "x": 0,
1789 | "y": 20
1790 | },
1791 | "id": 75,
1792 | "links": [],
1793 | "maxDataPoints": 100,
1794 | "options": {
1795 | "colorMode": "value",
1796 | "graphMode": "none",
1797 | "justifyMode": "auto",
1798 | "orientation": "horizontal",
1799 | "reduceOptions": {
1800 | "calcs": [
1801 | "lastNotNull"
1802 | ],
1803 | "fields": "",
1804 | "values": false
1805 | },
1806 | "textMode": "auto"
1807 | },
1808 | "pluginVersion": "8.5.2",
1809 | "targets": [
1810 | {
1811 | "expr": "sum(node_memory_MemTotal_bytes{instance=~\"$node\"})",
1812 | "format": "time_series",
1813 | "instant": true,
1814 | "interval": "",
1815 | "intervalFactor": 1,
1816 | "legendFormat": "{{instance}}",
1817 | "refId": "A",
1818 | "step": 20
1819 | }
1820 | ],
1821 | "title": "Total RAM",
1822 | "type": "stat"
1823 | },
1824 | {
1825 | "datasource": {
1826 | "uid": "${DS_PROMETHEUS}"
1827 | },
1828 | "description": "",
1829 | "fieldConfig": {
1830 | "defaults": {
1831 | "mappings": [
1832 | {
1833 | "options": {
1834 | "match": "null",
1835 | "result": {
1836 | "text": "N/A"
1837 | }
1838 | },
1839 | "type": "special"
1840 | }
1841 | ],
1842 | "thresholds": {
1843 | "mode": "absolute",
1844 | "steps": [
1845 | {
1846 | "color": "rgba(245, 54, 54, 0.9)",
1847 | "value": null
1848 | },
1849 | {
1850 | "color": "rgba(237, 129, 40, 0.89)",
1851 | "value": 1024
1852 | },
1853 | {
1854 | "color": "rgba(50, 172, 45, 0.97)",
1855 | "value": 10000
1856 | }
1857 | ]
1858 | },
1859 | "unit": "locale"
1860 | },
1861 | "overrides": []
1862 | },
1863 | "gridPos": {
1864 | "h": 2,
1865 | "w": 2,
1866 | "x": 15,
1867 | "y": 20
1868 | },
1869 | "id": 178,
1870 | "links": [],
1871 | "maxDataPoints": 100,
1872 | "options": {
1873 | "colorMode": "value",
1874 | "graphMode": "none",
1875 | "justifyMode": "auto",
1876 | "orientation": "horizontal",
1877 | "reduceOptions": {
1878 | "calcs": [
1879 | "lastNotNull"
1880 | ],
1881 | "fields": "",
1882 | "values": false
1883 | },
1884 | "textMode": "auto"
1885 | },
1886 | "pluginVersion": "8.5.2",
1887 | "targets": [
1888 | {
1889 | "expr": "avg(node_filefd_maximum{instance=~\"$node\"})",
1890 | "format": "time_series",
1891 | "instant": true,
1892 | "intervalFactor": 1,
1893 | "legendFormat": "",
1894 | "refId": "A",
1895 | "step": 20
1896 | }
1897 | ],
1898 | "title": "Total filefd",
1899 | "type": "stat"
1900 | },
1901 | {
1902 | "aliasColors": {
1903 | "192.168.200.241:9100_Total": "dark-red",
1904 | "Idle - Waiting for something to happen": "#052B51",
1905 | "guest": "#9AC48A",
1906 | "idle": "#052B51",
1907 | "iowait": "#EAB839",
1908 | "irq": "#BF1B00",
1909 | "nice": "#C15C17",
1910 | "sdb_每秒I/O操作%": "#d683ce",
1911 | "softirq": "#E24D42",
1912 | "steal": "#FCE2DE",
1913 | "system": "#508642",
1914 | "user": "#5195CE",
1915 | "磁盘花费在I/O操作占比": "#ba43a9"
1916 | },
1917 | "bars": false,
1918 | "dashLength": 10,
1919 | "dashes": false,
1920 | "datasource": {
1921 | "uid": "${DS_PROMETHEUS}"
1922 | },
1923 | "decimals": 2,
1924 | "description": "",
1925 | "fieldConfig": {
1926 | "defaults": {
1927 | "links": []
1928 | },
1929 | "overrides": []
1930 | },
1931 | "fill": 1,
1932 | "fillGradient": 0,
1933 | "gridPos": {
1934 | "h": 8,
1935 | "w": 8,
1936 | "x": 0,
1937 | "y": 22
1938 | },
1939 | "hiddenSeries": false,
1940 | "id": 7,
1941 | "legend": {
1942 | "alignAsTable": true,
1943 | "avg": true,
1944 | "current": true,
1945 | "hideEmpty": true,
1946 | "hideZero": true,
1947 | "max": true,
1948 | "min": true,
1949 | "rightSide": false,
1950 | "show": true,
1951 | "sort": "current",
1952 | "sortDesc": true,
1953 | "total": false,
1954 | "values": true
1955 | },
1956 | "lines": true,
1957 | "linewidth": 2,
1958 | "links": [],
1959 | "maxPerRow": 6,
1960 | "nullPointMode": "null",
1961 | "options": {
1962 | "alertThreshold": true
1963 | },
1964 | "percentage": false,
1965 | "pluginVersion": "8.5.2",
1966 | "pointradius": 5,
1967 | "points": false,
1968 | "renderer": "flot",
1969 | "seriesOverrides": [
1970 | {
1971 | "$$hashKey": "object:3051",
1972 | "alias": "/.*Total/",
1973 | "color": "#C4162A",
1974 | "fill": 0
1975 | }
1976 | ],
1977 | "spaceLength": 10,
1978 | "stack": false,
1979 | "steppedLine": false,
1980 | "targets": [
1981 | {
1982 | "expr": "avg(rate(node_cpu_seconds_total{instance=~\"$node\",mode=\"system\"}[$interval])) by (instance) *100",
1983 | "format": "time_series",
1984 | "hide": false,
1985 | "instant": false,
1986 | "interval": "",
1987 | "intervalFactor": 1,
1988 | "legendFormat": "System",
1989 | "refId": "A",
1990 | "step": 20
1991 | },
1992 | {
1993 | "expr": "avg(rate(node_cpu_seconds_total{instance=~\"$node\",mode=\"user\"}[$interval])) by (instance) *100",
1994 | "format": "time_series",
1995 | "hide": false,
1996 | "interval": "",
1997 | "intervalFactor": 1,
1998 | "legendFormat": "User",
1999 | "refId": "B",
2000 | "step": 240
2001 | },
2002 | {
2003 | "expr": "avg(rate(node_cpu_seconds_total{instance=~\"$node\",mode=\"iowait\"}[$interval])) by (instance) *100",
2004 | "format": "time_series",
2005 | "hide": false,
2006 | "instant": false,
2007 | "interval": "",
2008 | "intervalFactor": 1,
2009 | "legendFormat": "Iowait",
2010 | "refId": "D",
2011 | "step": 240
2012 | },
2013 | {
2014 | "expr": "(1 - avg(rate(node_cpu_seconds_total{instance=~\"$node\",mode=\"idle\"}[$interval])) by (instance))*100",
2015 | "format": "time_series",
2016 | "hide": false,
2017 | "interval": "",
2018 | "intervalFactor": 1,
2019 | "legendFormat": "Total",
2020 | "refId": "F",
2021 | "step": 240
2022 | }
2023 | ],
2024 | "thresholds": [],
2025 | "timeRegions": [],
2026 | "title": "CPU% Basic",
2027 | "tooltip": {
2028 | "shared": true,
2029 | "sort": 2,
2030 | "value_type": "individual"
2031 | },
2032 | "type": "graph",
2033 | "xaxis": {
2034 | "mode": "time",
2035 | "show": true,
2036 | "values": []
2037 | },
2038 | "yaxes": [
2039 | {
2040 | "$$hashKey": "object:11294",
2041 | "decimals": 0,
2042 | "format": "percent",
2043 | "label": "",
2044 | "logBase": 1,
2045 | "show": true
2046 | },
2047 | {
2048 | "$$hashKey": "object:11295",
2049 | "format": "short",
2050 | "logBase": 1,
2051 | "show": false
2052 | }
2053 | ],
2054 | "yaxis": {
2055 | "align": false
2056 | }
2057 | },
2058 | {
2059 | "aliasColors": {
2060 | "192.168.200.241:9100_总内存": "dark-red",
2061 | "使用率": "yellow",
2062 | "内存_Avaliable": "#6ED0E0",
2063 | "内存_Cached": "#EF843C",
2064 | "内存_Free": "#629E51",
2065 | "内存_Total": "#6d1f62",
2066 | "内存_Used": "#eab839",
2067 | "可用": "#9ac48a",
2068 | "总内存": "#bf1b00"
2069 | },
2070 | "bars": false,
2071 | "dashLength": 10,
2072 | "dashes": false,
2073 | "datasource": {
2074 | "uid": "${DS_PROMETHEUS}"
2075 | },
2076 | "decimals": 2,
2077 | "fieldConfig": {
2078 | "defaults": {
2079 | "links": []
2080 | },
2081 | "overrides": []
2082 | },
2083 | "fill": 1,
2084 | "fillGradient": 0,
2085 | "gridPos": {
2086 | "h": 8,
2087 | "w": 8,
2088 | "x": 8,
2089 | "y": 22
2090 | },
2091 | "height": "300",
2092 | "hiddenSeries": false,
2093 | "id": 156,
2094 | "legend": {
2095 | "alignAsTable": true,
2096 | "avg": true,
2097 | "current": true,
2098 | "hideEmpty": true,
2099 | "hideZero": true,
2100 | "max": true,
2101 | "min": true,
2102 | "rightSide": false,
2103 | "show": true,
2104 | "sort": "current",
2105 | "sortDesc": true,
2106 | "total": false,
2107 | "values": true
2108 | },
2109 | "lines": true,
2110 | "linewidth": 2,
2111 | "links": [],
2112 | "nullPointMode": "null",
2113 | "options": {
2114 | "alertThreshold": true
2115 | },
2116 | "percentage": false,
2117 | "pluginVersion": "8.5.2",
2118 | "pointradius": 5,
2119 | "points": false,
2120 | "renderer": "flot",
2121 | "seriesOverrides": [
2122 | {
2123 | "$$hashKey": "object:3234",
2124 | "alias": "Total",
2125 | "color": "#C4162A",
2126 | "fill": 0
2127 | },
2128 | {
2129 | "$$hashKey": "object:3235",
2130 | "alias": "Used%",
2131 | "color": "rgb(0, 209, 255)",
2132 | "lines": false,
2133 | "pointradius": 1,
2134 | "points": true,
2135 | "yaxis": 2
2136 | }
2137 | ],
2138 | "spaceLength": 10,
2139 | "stack": false,
2140 | "steppedLine": false,
2141 | "targets": [
2142 | {
2143 | "expr": "node_memory_MemTotal_bytes{instance=~\"$node\"}",
2144 | "format": "time_series",
2145 | "hide": false,
2146 | "instant": false,
2147 | "interval": "",
2148 | "intervalFactor": 1,
2149 | "legendFormat": "Total",
2150 | "refId": "A",
2151 | "step": 4
2152 | },
2153 | {
2154 | "expr": "node_memory_MemTotal_bytes{instance=~\"$node\"} - node_memory_MemAvailable_bytes{instance=~\"$node\"}",
2155 | "format": "time_series",
2156 | "hide": false,
2157 | "interval": "",
2158 | "intervalFactor": 1,
2159 | "legendFormat": "Used",
2160 | "refId": "B",
2161 | "step": 4
2162 | },
2163 | {
2164 | "expr": "node_memory_MemAvailable_bytes{instance=~\"$node\"}",
2165 | "format": "time_series",
2166 | "hide": false,
2167 | "interval": "",
2168 | "intervalFactor": 1,
2169 | "legendFormat": "Avaliable",
2170 | "refId": "F",
2171 | "step": 4
2172 | },
2173 | {
2174 | "expr": "node_memory_Buffers_bytes{instance=~\"$node\"}",
2175 | "format": "time_series",
2176 | "hide": true,
2177 | "interval": "",
2178 | "intervalFactor": 1,
2179 | "legendFormat": "内存_Buffers",
2180 | "refId": "D",
2181 | "step": 4
2182 | },
2183 | {
2184 | "expr": "node_memory_MemFree_bytes{instance=~\"$node\"}",
2185 | "format": "time_series",
2186 | "hide": true,
2187 | "intervalFactor": 1,
2188 | "legendFormat": "内存_Free",
2189 | "refId": "C",
2190 | "step": 4
2191 | },
2192 | {
2193 | "expr": "node_memory_Cached_bytes{instance=~\"$node\"}",
2194 | "format": "time_series",
2195 | "hide": true,
2196 | "intervalFactor": 1,
2197 | "legendFormat": "内存_Cached",
2198 | "refId": "E",
2199 | "step": 4
2200 | },
2201 | {
2202 | "expr": "node_memory_MemTotal_bytes{instance=~\"$node\"} - (node_memory_Cached_bytes{instance=~\"$node\"} + node_memory_Buffers_bytes{instance=~\"$node\"} + node_memory_MemFree_bytes{instance=~\"$node\"})",
2203 | "format": "time_series",
2204 | "hide": true,
2205 | "intervalFactor": 1,
2206 | "refId": "G"
2207 | },
2208 | {
2209 | "expr": "(1 - (node_memory_MemAvailable_bytes{instance=~\"$node\"} / (node_memory_MemTotal_bytes{instance=~\"$node\"})))* 100",
2210 | "format": "time_series",
2211 | "hide": false,
2212 | "interval": "30m",
2213 | "intervalFactor": 10,
2214 | "legendFormat": "Used%",
2215 | "refId": "H"
2216 | }
2217 | ],
2218 | "thresholds": [],
2219 | "timeRegions": [],
2220 | "title": "Memory Basic",
2221 | "tooltip": {
2222 | "shared": true,
2223 | "sort": 2,
2224 | "value_type": "individual"
2225 | },
2226 | "type": "graph",
2227 | "xaxis": {
2228 | "mode": "time",
2229 | "show": true,
2230 | "values": []
2231 | },
2232 | "yaxes": [
2233 | {
2234 | "$$hashKey": "object:3130",
2235 | "format": "bytes",
2236 | "logBase": 1,
2237 | "min": "0",
2238 | "show": true
2239 | },
2240 | {
2241 | "$$hashKey": "object:3131",
2242 | "format": "percent",
2243 | "label": "Utilization%",
2244 | "logBase": 1,
2245 | "max": "100",
2246 | "min": "0",
2247 | "show": true
2248 | }
2249 | ],
2250 | "yaxis": {
2251 | "align": false
2252 | }
2253 | },
2254 | {
2255 | "aliasColors": {
2256 | "192.168.10.227:9100_em1_in下载": "super-light-green",
2257 | "192.168.10.227:9100_em1_out上传": "dark-blue"
2258 | },
2259 | "bars": false,
2260 | "dashLength": 10,
2261 | "dashes": false,
2262 | "datasource": {
2263 | "uid": "${DS_PROMETHEUS}"
2264 | },
2265 | "decimals": 2,
2266 | "fieldConfig": {
2267 | "defaults": {
2268 | "links": []
2269 | },
2270 | "overrides": []
2271 | },
2272 | "fill": 1,
2273 | "fillGradient": 0,
2274 | "gridPos": {
2275 | "h": 8,
2276 | "w": 8,
2277 | "x": 16,
2278 | "y": 22
2279 | },
2280 | "height": "300",
2281 | "hiddenSeries": false,
2282 | "id": 157,
2283 | "legend": {
2284 | "alignAsTable": true,
2285 | "avg": true,
2286 | "current": true,
2287 | "hideEmpty": true,
2288 | "hideZero": true,
2289 | "max": true,
2290 | "min": true,
2291 | "rightSide": false,
2292 | "show": true,
2293 | "sort": "current",
2294 | "sortDesc": true,
2295 | "total": false,
2296 | "values": true
2297 | },
2298 | "lines": true,
2299 | "linewidth": 1,
2300 | "links": [],
2301 | "nullPointMode": "null",
2302 | "options": {
2303 | "alertThreshold": true
2304 | },
2305 | "percentage": false,
2306 | "pluginVersion": "8.5.2",
2307 | "pointradius": 2,
2308 | "points": false,
2309 | "renderer": "flot",
2310 | "seriesOverrides": [
2311 | {
2312 | "$$hashKey": "object:3308",
2313 | "alias": "/.*_transmit$/",
2314 | "transform": "negative-Y"
2315 | }
2316 | ],
2317 | "spaceLength": 10,
2318 | "stack": false,
2319 | "steppedLine": false,
2320 | "targets": [
2321 | {
2322 | "expr": "rate(node_network_receive_bytes_total{instance=~'$node',device=~\"$device\"}[$interval])*8",
2323 | "format": "time_series",
2324 | "interval": "",
2325 | "intervalFactor": 1,
2326 | "legendFormat": "{{device}}_receive",
2327 | "refId": "A",
2328 | "step": 4
2329 | },
2330 | {
2331 | "expr": "rate(node_network_transmit_bytes_total{instance=~'$node',device=~\"$device\"}[$interval])*8",
2332 | "format": "time_series",
2333 | "interval": "",
2334 | "intervalFactor": 1,
2335 | "legendFormat": "{{device}}_transmit",
2336 | "refId": "B",
2337 | "step": 4
2338 | }
2339 | ],
2340 | "thresholds": [],
2341 | "timeRegions": [],
2342 | "title": "Network bandwidth usage per second $device",
2343 | "tooltip": {
2344 | "shared": true,
2345 | "sort": 2,
2346 | "value_type": "individual"
2347 | },
2348 | "type": "graph",
2349 | "xaxis": {
2350 | "mode": "time",
2351 | "show": true,
2352 | "values": []
2353 | },
2354 | "yaxes": [
2355 | {
2356 | "$$hashKey": "object:3315",
2357 | "format": "bps",
2358 | "label": "transmit(-)/receive(+)",
2359 | "logBase": 1,
2360 | "show": true
2361 | },
2362 | {
2363 | "$$hashKey": "object:3316",
2364 | "format": "short",
2365 | "logBase": 1,
2366 | "show": false
2367 | }
2368 | ],
2369 | "yaxis": {
2370 | "align": false
2371 | }
2372 | },
2373 | {
2374 | "aliasColors": {
2375 | "15分钟": "#6ED0E0",
2376 | "1分钟": "#BF1B00",
2377 | "5分钟": "#CCA300"
2378 | },
2379 | "bars": false,
2380 | "dashLength": 10,
2381 | "dashes": false,
2382 | "datasource": {
2383 | "uid": "${DS_PROMETHEUS}"
2384 | },
2385 | "decimals": 2,
2386 | "editable": true,
2387 | "error": false,
2388 | "fieldConfig": {
2389 | "defaults": {
2390 | "links": []
2391 | },
2392 | "overrides": []
2393 | },
2394 | "fill": 1,
2395 | "fillGradient": 1,
2396 | "grid": {},
2397 | "gridPos": {
2398 | "h": 8,
2399 | "w": 8,
2400 | "x": 0,
2401 | "y": 30
2402 | },
2403 | "height": "300",
2404 | "hiddenSeries": false,
2405 | "id": 13,
2406 | "legend": {
2407 | "alignAsTable": true,
2408 | "avg": true,
2409 | "current": true,
2410 | "hideEmpty": true,
2411 | "hideZero": true,
2412 | "max": true,
2413 | "min": true,
2414 | "rightSide": false,
2415 | "show": true,
2416 | "sort": "current",
2417 | "sortDesc": true,
2418 | "total": false,
2419 | "values": true
2420 | },
2421 | "lines": true,
2422 | "linewidth": 2,
2423 | "links": [],
2424 | "maxPerRow": 6,
2425 | "nullPointMode": "null",
2426 | "options": {
2427 | "alertThreshold": true
2428 | },
2429 | "percentage": false,
2430 | "pluginVersion": "8.5.2",
2431 | "pointradius": 5,
2432 | "points": false,
2433 | "renderer": "flot",
2434 | "seriesOverrides": [
2435 | {
2436 | "$$hashKey": "object:3389",
2437 | "alias": "/.*CPU cores/",
2438 | "color": "#C4162A"
2439 | }
2440 | ],
2441 | "spaceLength": 10,
2442 | "stack": false,
2443 | "steppedLine": false,
2444 | "targets": [
2445 | {
2446 | "expr": "node_load1{instance=~\"$node\"}",
2447 | "format": "time_series",
2448 | "instant": false,
2449 | "interval": "",
2450 | "intervalFactor": 1,
2451 | "legendFormat": "1m",
2452 | "metric": "",
2453 | "refId": "A",
2454 | "step": 20,
2455 | "target": ""
2456 | },
2457 | {
2458 | "expr": "node_load5{instance=~\"$node\"}",
2459 | "format": "time_series",
2460 | "instant": false,
2461 | "interval": "",
2462 | "intervalFactor": 1,
2463 | "legendFormat": "5m",
2464 | "refId": "B",
2465 | "step": 20
2466 | },
2467 | {
2468 | "expr": "node_load15{instance=~\"$node\"}",
2469 | "format": "time_series",
2470 | "instant": false,
2471 | "interval": "",
2472 | "intervalFactor": 1,
2473 | "legendFormat": "15m",
2474 | "refId": "C",
2475 | "step": 20
2476 | },
2477 | {
2478 | "expr": " sum(count(node_cpu_seconds_total{instance=~\"$node\", mode='system'}) by (cpu,instance)) by(instance)",
2479 | "format": "time_series",
2480 | "instant": false,
2481 | "interval": "",
2482 | "intervalFactor": 1,
2483 | "legendFormat": "CPU cores",
2484 | "refId": "D",
2485 | "step": 20
2486 | }
2487 | ],
2488 | "thresholds": [],
2489 | "timeRegions": [],
2490 | "title": "System Load",
2491 | "tooltip": {
2492 | "msResolution": false,
2493 | "shared": true,
2494 | "sort": 2,
2495 | "value_type": "cumulative"
2496 | },
2497 | "type": "graph",
2498 | "xaxis": {
2499 | "mode": "time",
2500 | "show": true,
2501 | "values": []
2502 | },
2503 | "yaxes": [
2504 | {
2505 | "$$hashKey": "object:3396",
2506 | "format": "short",
2507 | "logBase": 1,
2508 | "show": true
2509 | },
2510 | {
2511 | "$$hashKey": "object:3397",
2512 | "format": "short",
2513 | "logBase": 1,
2514 | "show": true
2515 | }
2516 | ],
2517 | "yaxis": {
2518 | "align": false
2519 | }
2520 | },
2521 | {
2522 | "aliasColors": {
2523 | "vda_write": "#6ED0E0"
2524 | },
2525 | "bars": false,
2526 | "dashLength": 10,
2527 | "dashes": false,
2528 | "datasource": {
2529 | "uid": "${DS_PROMETHEUS}"
2530 | },
2531 | "decimals": 2,
2532 | "description": "Per second read / write bytes ",
2533 | "fieldConfig": {
2534 | "defaults": {
2535 | "links": []
2536 | },
2537 | "overrides": []
2538 | },
2539 | "fill": 1,
2540 | "fillGradient": 1,
2541 | "gridPos": {
2542 | "h": 8,
2543 | "w": 8,
2544 | "x": 8,
2545 | "y": 30
2546 | },
2547 | "height": "300",
2548 | "hiddenSeries": false,
2549 | "id": 168,
2550 | "legend": {
2551 | "alignAsTable": true,
2552 | "avg": true,
2553 | "current": true,
2554 | "hideEmpty": true,
2555 | "hideZero": true,
2556 | "max": true,
2557 | "min": true,
2558 | "show": true,
2559 | "sort": "current",
2560 | "sortDesc": true,
2561 | "total": false,
2562 | "values": true
2563 | },
2564 | "lines": true,
2565 | "linewidth": 2,
2566 | "links": [],
2567 | "nullPointMode": "null",
2568 | "options": {
2569 | "alertThreshold": true
2570 | },
2571 | "percentage": false,
2572 | "pluginVersion": "8.5.2",
2573 | "pointradius": 5,
2574 | "points": false,
2575 | "renderer": "flot",
2576 | "seriesOverrides": [
2577 | {
2578 | "$$hashKey": "object:3474",
2579 | "alias": "/.*_Read bytes$/",
2580 | "transform": "negative-Y"
2581 | }
2582 | ],
2583 | "spaceLength": 10,
2584 | "stack": false,
2585 | "steppedLine": false,
2586 | "targets": [
2587 | {
2588 | "expr": "rate(node_disk_read_bytes_total{instance=~\"$node\"}[$interval])",
2589 | "format": "time_series",
2590 | "interval": "",
2591 | "intervalFactor": 1,
2592 | "legendFormat": "{{device}}_Read bytes",
2593 | "refId": "A",
2594 | "step": 10
2595 | },
2596 | {
2597 | "expr": "rate(node_disk_written_bytes_total{instance=~\"$node\"}[$interval])",
2598 | "format": "time_series",
2599 | "hide": false,
2600 | "interval": "",
2601 | "intervalFactor": 1,
2602 | "legendFormat": "{{device}}_Written bytes",
2603 | "refId": "B",
2604 | "step": 10
2605 | }
2606 | ],
2607 | "thresholds": [],
2608 | "timeRegions": [],
2609 | "title": "Disk R/W Data",
2610 | "tooltip": {
2611 | "shared": true,
2612 | "sort": 2,
2613 | "value_type": "individual"
2614 | },
2615 | "type": "graph",
2616 | "xaxis": {
2617 | "mode": "time",
2618 | "show": true,
2619 | "values": []
2620 | },
2621 | "yaxes": [
2622 | {
2623 | "$$hashKey": "object:3481",
2624 | "format": "Bps",
2625 | "label": "Bytes read (-) / write (+)",
2626 | "logBase": 1,
2627 | "show": true
2628 | },
2629 | {
2630 | "$$hashKey": "object:3482",
2631 | "format": "short",
2632 | "logBase": 1,
2633 | "show": false
2634 | }
2635 | ],
2636 | "yaxis": {
2637 | "align": false
2638 | }
2639 | },
2640 | {
2641 | "aliasColors": {},
2642 | "bars": false,
2643 | "dashLength": 10,
2644 | "dashes": false,
2645 | "datasource": {
2646 | "uid": "${DS_PROMETHEUS}"
2647 | },
2648 | "decimals": 1,
2649 | "description": "",
2650 | "fieldConfig": {
2651 | "defaults": {
2652 | "links": []
2653 | },
2654 | "overrides": []
2655 | },
2656 | "fill": 0,
2657 | "fillGradient": 0,
2658 | "gridPos": {
2659 | "h": 8,
2660 | "w": 8,
2661 | "x": 16,
2662 | "y": 30
2663 | },
2664 | "hiddenSeries": false,
2665 | "id": 174,
2666 | "legend": {
2667 | "alignAsTable": true,
2668 | "avg": true,
2669 | "current": true,
2670 | "hideEmpty": true,
2671 | "hideZero": true,
2672 | "max": true,
2673 | "min": true,
2674 | "rightSide": false,
2675 | "show": true,
2676 | "sort": "current",
2677 | "sortDesc": true,
2678 | "total": false,
2679 | "values": true
2680 | },
2681 | "lines": true,
2682 | "linewidth": 2,
2683 | "links": [],
2684 | "nullPointMode": "null",
2685 | "options": {
2686 | "alertThreshold": true
2687 | },
2688 | "percentage": false,
2689 | "pluginVersion": "8.5.2",
2690 | "pointradius": 5,
2691 | "points": false,
2692 | "renderer": "flot",
2693 | "seriesOverrides": [
2694 | {
2695 | "$$hashKey": "object:3554",
2696 | "alias": "/Inodes.*/",
2697 | "yaxis": 2
2698 | }
2699 | ],
2700 | "spaceLength": 10,
2701 | "stack": false,
2702 | "steppedLine": false,
2703 | "targets": [
2704 | {
2705 | "expr": "(node_filesystem_size_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}-node_filesystem_free_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}) *100/(node_filesystem_avail_bytes {instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}+(node_filesystem_size_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}-node_filesystem_free_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}))",
2706 | "format": "time_series",
2707 | "instant": false,
2708 | "interval": "",
2709 | "intervalFactor": 1,
2710 | "legendFormat": "{{mountpoint}}",
2711 | "refId": "A"
2712 | },
2713 | {
2714 | "expr": "node_filesystem_files_free{instance=~'$node',fstype=~\"ext.?|xfs\"} / node_filesystem_files{instance=~'$node',fstype=~\"ext.?|xfs\"}",
2715 | "hide": true,
2716 | "interval": "",
2717 | "legendFormat": "Inodes:{{instance}}:{{mountpoint}}",
2718 | "refId": "B"
2719 | }
2720 | ],
2721 | "thresholds": [],
2722 | "timeRegions": [],
2723 | "title": "Disk Space Used% Basic",
2724 | "tooltip": {
2725 | "shared": true,
2726 | "sort": 2,
2727 | "value_type": "individual"
2728 | },
2729 | "type": "graph",
2730 | "xaxis": {
2731 | "mode": "time",
2732 | "show": true,
2733 | "values": []
2734 | },
2735 | "yaxes": [
2736 | {
2737 | "$$hashKey": "object:3561",
2738 | "format": "percent",
2739 | "label": "",
2740 | "logBase": 1,
2741 | "max": "100",
2742 | "min": "0",
2743 | "show": true
2744 | },
2745 | {
2746 | "$$hashKey": "object:3562",
2747 | "decimals": 2,
2748 | "format": "percentunit",
2749 | "logBase": 1,
2750 | "max": "1",
2751 | "show": false
2752 | }
2753 | ],
2754 | "yaxis": {
2755 | "align": false
2756 | }
2757 | },
2758 | {
2759 | "aliasColors": {
2760 | "vda_write": "#6ED0E0"
2761 | },
2762 | "bars": false,
2763 | "dashLength": 10,
2764 | "dashes": false,
2765 | "datasource": {
2766 | "uid": "${DS_PROMETHEUS}"
2767 | },
2768 | "decimals": 2,
2769 | "description": "Read/write completions per second\n\nWrites completed: 每个磁盘分区每秒写完成次数\n\nIO now 每个磁盘分区每秒正在处理的输入/输出请求数",
2770 | "fieldConfig": {
2771 | "defaults": {
2772 | "links": []
2773 | },
2774 | "overrides": []
2775 | },
2776 | "fill": 0,
2777 | "fillGradient": 0,
2778 | "gridPos": {
2779 | "h": 9,
2780 | "w": 8,
2781 | "x": 0,
2782 | "y": 38
2783 | },
2784 | "height": "300",
2785 | "hiddenSeries": false,
2786 | "id": 161,
2787 | "legend": {
2788 | "alignAsTable": true,
2789 | "avg": true,
2790 | "current": true,
2791 | "hideEmpty": true,
2792 | "hideZero": true,
2793 | "max": true,
2794 | "min": true,
2795 | "show": true,
2796 | "sort": "current",
2797 | "sortDesc": true,
2798 | "total": false,
2799 | "values": true
2800 | },
2801 | "lines": true,
2802 | "linewidth": 1,
2803 | "links": [],
2804 | "nullPointMode": "null",
2805 | "options": {
2806 | "alertThreshold": true
2807 | },
2808 | "percentage": false,
2809 | "pluginVersion": "8.5.2",
2810 | "pointradius": 5,
2811 | "points": false,
2812 | "renderer": "flot",
2813 | "seriesOverrides": [
2814 | {
2815 | "$$hashKey": "object:3711",
2816 | "alias": "/.*_Reads completed$/",
2817 | "transform": "negative-Y"
2818 | }
2819 | ],
2820 | "spaceLength": 10,
2821 | "stack": false,
2822 | "steppedLine": false,
2823 | "targets": [
2824 | {
2825 | "expr": "rate(node_disk_reads_completed_total{instance=~\"$node\"}[$interval])",
2826 | "format": "time_series",
2827 | "hide": false,
2828 | "interval": "",
2829 | "intervalFactor": 1,
2830 | "legendFormat": "{{device}}_Reads completed",
2831 | "refId": "A",
2832 | "step": 10
2833 | },
2834 | {
2835 | "expr": "rate(node_disk_writes_completed_total{instance=~\"$node\"}[$interval])",
2836 | "format": "time_series",
2837 | "hide": false,
2838 | "interval": "",
2839 | "intervalFactor": 1,
2840 | "legendFormat": "{{device}}_Writes completed",
2841 | "refId": "B",
2842 | "step": 10
2843 | },
2844 | {
2845 | "expr": "node_disk_io_now{instance=~\"$node\"}",
2846 | "format": "time_series",
2847 | "hide": true,
2848 | "interval": "",
2849 | "intervalFactor": 1,
2850 | "legendFormat": "{{device}}",
2851 | "refId": "C"
2852 | }
2853 | ],
2854 | "thresholds": [],
2855 | "timeRegions": [],
2856 | "title": "Disk IOps Completed(IOPS)",
2857 | "tooltip": {
2858 | "shared": true,
2859 | "sort": 2,
2860 | "value_type": "individual"
2861 | },
2862 | "type": "graph",
2863 | "xaxis": {
2864 | "mode": "time",
2865 | "show": true,
2866 | "values": []
2867 | },
2868 | "yaxes": [
2869 | {
2870 | "$$hashKey": "object:3718",
2871 | "format": "iops",
2872 | "label": "IO read (-) / write (+)",
2873 | "logBase": 1,
2874 | "show": true
2875 | },
2876 | {
2877 | "$$hashKey": "object:3719",
2878 | "format": "short",
2879 | "logBase": 1,
2880 | "show": true
2881 | }
2882 | ],
2883 | "yaxis": {
2884 | "align": false
2885 | }
2886 | },
2887 | {
2888 | "aliasColors": {
2889 | "Idle - Waiting for something to happen": "#052B51",
2890 | "guest": "#9AC48A",
2891 | "idle": "#052B51",
2892 | "iowait": "#EAB839",
2893 | "irq": "#BF1B00",
2894 | "nice": "#C15C17",
2895 | "sdb_每秒I/O操作%": "#d683ce",
2896 | "softirq": "#E24D42",
2897 | "steal": "#FCE2DE",
2898 | "system": "#508642",
2899 | "user": "#5195CE",
2900 | "磁盘花费在I/O操作占比": "#ba43a9"
2901 | },
2902 | "bars": false,
2903 | "dashLength": 10,
2904 | "dashes": false,
2905 | "datasource": {
2906 | "uid": "${DS_PROMETHEUS}"
2907 | },
2908 | "description": "The time spent on I/O in the natural time of each second.(wall-clock time)",
2909 | "fieldConfig": {
2910 | "defaults": {
2911 | "links": []
2912 | },
2913 | "overrides": []
2914 | },
2915 | "fill": 1,
2916 | "fillGradient": 0,
2917 | "gridPos": {
2918 | "h": 9,
2919 | "w": 8,
2920 | "x": 8,
2921 | "y": 38
2922 | },
2923 | "hiddenSeries": false,
2924 | "id": 175,
2925 | "legend": {
2926 | "alignAsTable": true,
2927 | "avg": true,
2928 | "current": true,
2929 | "hideEmpty": true,
2930 | "hideZero": true,
2931 | "max": true,
2932 | "min": false,
2933 | "rightSide": false,
2934 | "show": true,
2935 | "total": false,
2936 | "values": true
2937 | },
2938 | "lines": true,
2939 | "linewidth": 1,
2940 | "links": [],
2941 | "maxPerRow": 6,
2942 | "nullPointMode": "null",
2943 | "options": {
2944 | "alertThreshold": true
2945 | },
2946 | "percentage": false,
2947 | "pluginVersion": "8.5.2",
2948 | "pointradius": 5,
2949 | "points": false,
2950 | "renderer": "flot",
2951 | "seriesOverrides": [],
2952 | "spaceLength": 10,
2953 | "stack": false,
2954 | "steppedLine": false,
2955 | "targets": [
2956 | {
2957 | "expr": "rate(node_disk_io_time_seconds_total{instance=~\"$node\"}[$interval])",
2958 | "format": "time_series",
2959 | "interval": "",
2960 | "intervalFactor": 1,
2961 | "legendFormat": "{{device}}_ IO time",
2962 | "refId": "C"
2963 | }
2964 | ],
2965 | "thresholds": [],
2966 | "timeRegions": [],
2967 | "title": "Time Spent Doing I/Os",
2968 | "tooltip": {
2969 | "shared": true,
2970 | "sort": 2,
2971 | "value_type": "individual"
2972 | },
2973 | "type": "graph",
2974 | "xaxis": {
2975 | "mode": "time",
2976 | "show": true,
2977 | "values": []
2978 | },
2979 | "yaxes": [
2980 | {
2981 | "$$hashKey": "object:3796",
2982 | "format": "percentunit",
2983 | "label": "",
2984 | "logBase": 1,
2985 | "show": true
2986 | },
2987 | {
2988 | "$$hashKey": "object:3797",
2989 | "format": "short",
2990 | "logBase": 1,
2991 | "show": false
2992 | }
2993 | ],
2994 | "yaxis": {
2995 | "align": false
2996 | }
2997 | },
2998 | {
2999 | "aliasColors": {
3000 | "vda": "#6ED0E0"
3001 | },
3002 | "bars": false,
3003 | "dashLength": 10,
3004 | "dashes": false,
3005 | "datasource": {
3006 | "uid": "${DS_PROMETHEUS}"
3007 | },
3008 | "decimals": 2,
3009 | "description": "Time spent on each read/write operation",
3010 | "fieldConfig": {
3011 | "defaults": {
3012 | "links": []
3013 | },
3014 | "overrides": []
3015 | },
3016 | "fill": 1,
3017 | "fillGradient": 1,
3018 | "gridPos": {
3019 | "h": 9,
3020 | "w": 8,
3021 | "x": 16,
3022 | "y": 38
3023 | },
3024 | "height": "300",
3025 | "hiddenSeries": false,
3026 | "id": 160,
3027 | "legend": {
3028 | "alignAsTable": true,
3029 | "avg": true,
3030 | "current": true,
3031 | "hideEmpty": true,
3032 | "hideZero": true,
3033 | "max": true,
3034 | "min": true,
3035 | "show": true,
3036 | "sort": "current",
3037 | "sortDesc": true,
3038 | "total": false,
3039 | "values": true
3040 | },
3041 | "lines": true,
3042 | "linewidth": 2,
3043 | "links": [],
3044 | "nullPointMode": "null as zero",
3045 | "options": {
3046 | "alertThreshold": true
3047 | },
3048 | "percentage": false,
3049 | "pluginVersion": "8.5.2",
3050 | "pointradius": 5,
3051 | "points": false,
3052 | "renderer": "flot",
3053 | "seriesOverrides": [
3054 | {
3055 | "$$hashKey": "object:4023",
3056 | "alias": "/,*_Read time$/",
3057 | "transform": "negative-Y"
3058 | }
3059 | ],
3060 | "spaceLength": 10,
3061 | "stack": false,
3062 | "steppedLine": false,
3063 | "targets": [
3064 | {
3065 | "expr": "rate(node_disk_read_time_seconds_total{instance=~\"$node\"}[$interval]) / rate(node_disk_reads_completed_total{instance=~\"$node\"}[$interval])",
3066 | "format": "time_series",
3067 | "hide": false,
3068 | "instant": false,
3069 | "interval": "",
3070 | "intervalFactor": 1,
3071 | "legendFormat": "{{device}}_Read time",
3072 | "refId": "B"
3073 | },
3074 | {
3075 | "expr": "rate(node_disk_write_time_seconds_total{instance=~\"$node\"}[$interval]) / rate(node_disk_writes_completed_total{instance=~\"$node\"}[$interval])",
3076 | "format": "time_series",
3077 | "hide": false,
3078 | "instant": false,
3079 | "interval": "",
3080 | "intervalFactor": 1,
3081 | "legendFormat": "{{device}}_Write time",
3082 | "refId": "C"
3083 | },
3084 | {
3085 | "expr": "rate(node_disk_io_time_seconds_total{instance=~\"$node\"}[$interval])",
3086 | "format": "time_series",
3087 | "hide": true,
3088 | "interval": "",
3089 | "intervalFactor": 1,
3090 | "legendFormat": "{{device}}",
3091 | "refId": "A",
3092 | "step": 10
3093 | },
3094 | {
3095 | "expr": "rate(node_disk_io_time_weighted_seconds_total{instance=~\"$node\"}[$interval])",
3096 | "format": "time_series",
3097 | "hide": true,
3098 | "interval": "",
3099 | "intervalFactor": 1,
3100 | "legendFormat": "{{device}}_加权",
3101 | "refId": "D"
3102 | }
3103 | ],
3104 | "thresholds": [],
3105 | "timeRegions": [],
3106 | "title": "Disk R/W Time(Reference: less than 100ms)(beta)",
3107 | "tooltip": {
3108 | "shared": true,
3109 | "sort": 2,
3110 | "value_type": "individual"
3111 | },
3112 | "type": "graph",
3113 | "xaxis": {
3114 | "mode": "time",
3115 | "show": true,
3116 | "values": []
3117 | },
3118 | "yaxes": [
3119 | {
3120 | "$$hashKey": "object:4030",
3121 | "format": "s",
3122 | "label": "Time read (-) / write (+)",
3123 | "logBase": 1,
3124 | "show": true
3125 | },
3126 | {
3127 | "$$hashKey": "object:4031",
3128 | "format": "short",
3129 | "logBase": 1,
3130 | "show": false
3131 | }
3132 | ],
3133 | "yaxis": {
3134 | "align": false
3135 | }
3136 | },
3137 | {
3138 | "aliasColors": {
3139 | "192.168.200.241:9100_TCP_alloc": "semi-dark-blue",
3140 | "TCP": "#6ED0E0",
3141 | "TCP_alloc": "blue"
3142 | },
3143 | "bars": false,
3144 | "dashLength": 10,
3145 | "dashes": false,
3146 | "datasource": {
3147 | "uid": "${DS_PROMETHEUS}"
3148 | },
3149 | "decimals": 2,
3150 | "description": "Sockets_used - Sockets currently in use\n\nCurrEstab - TCP connections for which the current state is either ESTABLISHED or CLOSE- WAIT\n\nTCP_alloc - Allocated sockets\n\nTCP_tw - Sockets wating close\n\nUDP_inuse - Udp sockets currently in use\n\nRetransSegs - TCP retransmission packets\n\nOutSegs - Number of packets sent by TCP\n\nInSegs - Number of packets received by TCP",
3151 | "fieldConfig": {
3152 | "defaults": {
3153 | "links": []
3154 | },
3155 | "overrides": []
3156 | },
3157 | "fill": 0,
3158 | "fillGradient": 0,
3159 | "gridPos": {
3160 | "h": 8,
3161 | "w": 16,
3162 | "x": 0,
3163 | "y": 47
3164 | },
3165 | "height": "300",
3166 | "hiddenSeries": false,
3167 | "id": 158,
3168 | "interval": "",
3169 | "legend": {
3170 | "alignAsTable": true,
3171 | "avg": false,
3172 | "current": true,
3173 | "hideEmpty": true,
3174 | "hideZero": true,
3175 | "max": true,
3176 | "min": false,
3177 | "rightSide": true,
3178 | "show": true,
3179 | "sort": "current",
3180 | "sortDesc": true,
3181 | "total": false,
3182 | "values": true
3183 | },
3184 | "lines": true,
3185 | "linewidth": 1,
3186 | "links": [],
3187 | "nullPointMode": "null",
3188 | "options": {
3189 | "alertThreshold": true
3190 | },
3191 | "percentage": false,
3192 | "pluginVersion": "8.5.2",
3193 | "pointradius": 5,
3194 | "points": false,
3195 | "renderer": "flot",
3196 | "seriesOverrides": [
3197 | {
3198 | "$$hashKey": "object:4103",
3199 | "alias": "/.*Sockets_used/",
3200 | "color": "#E02F44",
3201 | "lines": false,
3202 | "pointradius": 1,
3203 | "points": true,
3204 | "yaxis": 2
3205 | }
3206 | ],
3207 | "spaceLength": 10,
3208 | "stack": false,
3209 | "steppedLine": false,
3210 | "targets": [
3211 | {
3212 | "expr": "node_netstat_Tcp_CurrEstab{instance=~'$node'}",
3213 | "format": "time_series",
3214 | "hide": false,
3215 | "instant": false,
3216 | "interval": "",
3217 | "intervalFactor": 1,
3218 | "legendFormat": "CurrEstab",
3219 | "refId": "A",
3220 | "step": 20
3221 | },
3222 | {
3223 | "expr": "node_sockstat_TCP_tw{instance=~'$node'}",
3224 | "format": "time_series",
3225 | "interval": "",
3226 | "intervalFactor": 1,
3227 | "legendFormat": "TCP_tw",
3228 | "refId": "D"
3229 | },
3230 | {
3231 | "expr": "node_sockstat_sockets_used{instance=~'$node'}",
3232 | "hide": false,
3233 | "interval": "30m",
3234 | "intervalFactor": 1,
3235 | "legendFormat": "Sockets_used",
3236 | "refId": "B"
3237 | },
3238 | {
3239 | "expr": "node_sockstat_UDP_inuse{instance=~'$node'}",
3240 | "interval": "",
3241 | "legendFormat": "UDP_inuse",
3242 | "refId": "C"
3243 | },
3244 | {
3245 | "expr": "node_sockstat_TCP_alloc{instance=~'$node'}",
3246 | "interval": "",
3247 | "legendFormat": "TCP_alloc",
3248 | "refId": "E"
3249 | },
3250 | {
3251 | "expr": "rate(node_netstat_Tcp_PassiveOpens{instance=~'$node'}[$interval])",
3252 | "hide": true,
3253 | "interval": "",
3254 | "legendFormat": "{{instance}}_Tcp_PassiveOpens",
3255 | "refId": "G"
3256 | },
3257 | {
3258 | "expr": "rate(node_netstat_Tcp_ActiveOpens{instance=~'$node'}[$interval])",
3259 | "hide": true,
3260 | "interval": "",
3261 | "legendFormat": "{{instance}}_Tcp_ActiveOpens",
3262 | "refId": "F"
3263 | },
3264 | {
3265 | "expr": "rate(node_netstat_Tcp_InSegs{instance=~'$node'}[$interval])",
3266 | "interval": "",
3267 | "legendFormat": "Tcp_InSegs",
3268 | "refId": "H"
3269 | },
3270 | {
3271 | "expr": "rate(node_netstat_Tcp_OutSegs{instance=~'$node'}[$interval])",
3272 | "interval": "",
3273 | "legendFormat": "Tcp_OutSegs",
3274 | "refId": "I"
3275 | },
3276 | {
3277 | "expr": "rate(node_netstat_Tcp_RetransSegs{instance=~'$node'}[$interval])",
3278 | "hide": false,
3279 | "interval": "",
3280 | "legendFormat": "Tcp_RetransSegs",
3281 | "refId": "J"
3282 | },
3283 | {
3284 | "expr": "rate(node_netstat_TcpExt_ListenDrops{instance=~'$node'}[$interval])",
3285 | "hide": true,
3286 | "interval": "",
3287 | "legendFormat": "",
3288 | "refId": "K"
3289 | }
3290 | ],
3291 | "thresholds": [],
3292 | "timeRegions": [],
3293 | "title": "Network Sockstat",
3294 | "tooltip": {
3295 | "shared": true,
3296 | "sort": 2,
3297 | "value_type": "individual"
3298 | },
3299 | "transformations": [],
3300 | "type": "graph",
3301 | "xaxis": {
3302 | "mode": "time",
3303 | "show": true,
3304 | "values": []
3305 | },
3306 | "yaxes": [
3307 | {
3308 | "$$hashKey": "object:4118",
3309 | "format": "short",
3310 | "logBase": 1,
3311 | "show": true
3312 | },
3313 | {
3314 | "$$hashKey": "object:4119",
3315 | "format": "short",
3316 | "label": "Total_Sockets_used",
3317 | "logBase": 1,
3318 | "show": true
3319 | }
3320 | ],
3321 | "yaxis": {
3322 | "align": false
3323 | }
3324 | },
3325 | {
3326 | "aliasColors": {
3327 | "filefd_192.168.200.241:9100": "super-light-green",
3328 | "switches_192.168.200.241:9100": "semi-dark-red",
3329 | "使用的文件描述符_10.118.72.128:9100": "red",
3330 | "每秒上下文切换次数_10.118.71.245:9100": "yellow",
3331 | "每秒上下文切换次数_10.118.72.128:9100": "yellow"
3332 | },
3333 | "bars": false,
3334 | "dashLength": 10,
3335 | "dashes": false,
3336 | "datasource": {
3337 | "uid": "${DS_PROMETHEUS}"
3338 | },
3339 | "description": "",
3340 | "fieldConfig": {
3341 | "defaults": {
3342 | "links": []
3343 | },
3344 | "overrides": []
3345 | },
3346 | "fill": 0,
3347 | "fillGradient": 1,
3348 | "gridPos": {
3349 | "h": 8,
3350 | "w": 8,
3351 | "x": 16,
3352 | "y": 47
3353 | },
3354 | "hiddenSeries": false,
3355 | "hideTimeOverride": false,
3356 | "id": 16,
3357 | "legend": {
3358 | "alignAsTable": false,
3359 | "avg": false,
3360 | "current": true,
3361 | "max": false,
3362 | "min": false,
3363 | "rightSide": false,
3364 | "show": true,
3365 | "total": false,
3366 | "values": true
3367 | },
3368 | "lines": true,
3369 | "linewidth": 2,
3370 | "links": [],
3371 | "nullPointMode": "null",
3372 | "options": {
3373 | "alertThreshold": true
3374 | },
3375 | "percentage": false,
3376 | "pluginVersion": "8.5.2",
3377 | "pointradius": 1,
3378 | "points": false,
3379 | "renderer": "flot",
3380 | "seriesOverrides": [
3381 | {
3382 | "$$hashKey": "object:4197",
3383 | "alias": "switches",
3384 | "color": "#FADE2A",
3385 | "lines": false,
3386 | "pointradius": 1,
3387 | "points": true,
3388 | "yaxis": 2
3389 | },
3390 | {
3391 | "$$hashKey": "object:4198",
3392 | "alias": "used filefd",
3393 | "color": "#F2495C"
3394 | }
3395 | ],
3396 | "spaceLength": 10,
3397 | "stack": false,
3398 | "steppedLine": false,
3399 | "targets": [
3400 | {
3401 | "expr": "node_filefd_allocated{instance=~\"$node\"}",
3402 | "format": "time_series",
3403 | "instant": false,
3404 | "interval": "",
3405 | "intervalFactor": 5,
3406 | "legendFormat": "used filefd",
3407 | "refId": "B"
3408 | },
3409 | {
3410 | "expr": "rate(node_context_switches_total{instance=~\"$node\"}[$interval])",
3411 | "interval": "",
3412 | "intervalFactor": 5,
3413 | "legendFormat": "switches",
3414 | "refId": "A"
3415 | },
3416 | {
3417 | "expr": " (node_filefd_allocated{instance=~\"$node\"}/node_filefd_maximum{instance=~\"$node\"}) *100",
3418 | "format": "time_series",
3419 | "hide": true,
3420 | "instant": false,
3421 | "interval": "",
3422 | "intervalFactor": 5,
3423 | "legendFormat": "使用的文件描述符占比_{{instance}}",
3424 | "refId": "C"
3425 | }
3426 | ],
3427 | "thresholds": [],
3428 | "timeRegions": [],
3429 | "title": "Open File Descriptor(left)/Context switches(right)",
3430 | "tooltip": {
3431 | "shared": true,
3432 | "sort": 2,
3433 | "value_type": "individual"
3434 | },
3435 | "type": "graph",
3436 | "xaxis": {
3437 | "mode": "time",
3438 | "show": true,
3439 | "values": []
3440 | },
3441 | "yaxes": [
3442 | {
3443 | "$$hashKey": "object:4219",
3444 | "format": "short",
3445 | "label": "used filefd",
3446 | "logBase": 1,
3447 | "show": true
3448 | },
3449 | {
3450 | "$$hashKey": "object:4220",
3451 | "format": "short",
3452 | "label": "context_switches",
3453 | "logBase": 1,
3454 | "show": true
3455 | }
3456 | ],
3457 | "yaxis": {
3458 | "align": false
3459 | }
3460 | }
3461 | ],
3462 | "refresh": "",
3463 | "schemaVersion": 36,
3464 | "style": "dark",
3465 | "tags": [
3466 | "Prometheus",
3467 | "node_exporter",
3468 | "StarsL.cn"
3469 | ],
3470 | "templating": {
3471 | "list": [
3472 | {
3473 | "current": {
3474 | "selected": true,
3475 | "text": "Prometheus",
3476 | "value": "Prometheus"
3477 | },
3478 | "hide": 0,
3479 | "includeAll": false,
3480 | "label": "datasource",
3481 | "multi": false,
3482 | "name": "DS_PROMETHEUS",
3483 | "options": [],
3484 | "query": "prometheus",
3485 | "queryValue": "",
3486 | "refresh": 1,
3487 | "regex": "",
3488 | "skipUrlSync": false,
3489 | "type": "datasource"
3490 | },
3491 | {
3492 | "allValue": "",
3493 | "current": {
3494 | "isNone": true,
3495 | "selected": false,
3496 | "text": "None",
3497 | "value": ""
3498 | },
3499 | "datasource": {
3500 | "uid": "${DS_PROMETHEUS}"
3501 | },
3502 | "definition": "label_values(origin_prometheus)",
3503 | "hide": 2,
3504 | "includeAll": false,
3505 | "label": "Origin_prom",
3506 | "multi": false,
3507 | "name": "origin_prometheus",
3508 | "options": [],
3509 | "query": {
3510 | "query": "label_values(origin_prometheus)",
3511 | "refId": "Prometheus-origin_prometheus-Variable-Query"
3512 | },
3513 | "refresh": 1,
3514 | "regex": "",
3515 | "skipUrlSync": false,
3516 | "sort": 5,
3517 | "tagValuesQuery": "",
3518 | "tagsQuery": "",
3519 | "type": "query",
3520 | "useTags": false
3521 | },
3522 | {
3523 | "current": {
3524 | "selected": true,
3525 | "text": "",
3526 | "value": ""
3527 | },
3528 | "datasource": {
3529 | "uid": "${DS_PROMETHEUS}"
3530 | },
3531 | "definition": "label_values(node_uname_info{origin_prometheus=~\"$origin_prometheus\"}, job)",
3532 | "hide": 0,
3533 | "includeAll": false,
3534 | "label": "JOB",
3535 | "multi": false,
3536 | "name": "job",
3537 | "options": [],
3538 | "query": {
3539 | "query": "label_values(node_uname_info{origin_prometheus=~\"$origin_prometheus\"}, job)",
3540 | "refId": "Prometheus-job-Variable-Query"
3541 | },
3542 | "refresh": 1,
3543 | "regex": "",
3544 | "skipUrlSync": false,
3545 | "sort": 5,
3546 | "tagValuesQuery": "",
3547 | "tagsQuery": "",
3548 | "type": "query",
3549 | "useTags": false
3550 | },
3551 | {
3552 | "current": {
3553 | "selected": true,
3554 | "text": "All",
3555 | "value": "$__all"
3556 | },
3557 | "datasource": {
3558 | "uid": "${DS_PROMETHEUS}"
3559 | },
3560 | "definition": "label_values(node_uname_info{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\"}, nodename)",
3561 | "hide": 0,
3562 | "includeAll": true,
3563 | "label": "Host",
3564 | "multi": false,
3565 | "name": "hostname",
3566 | "options": [],
3567 | "query": {
3568 | "query": "label_values(node_uname_info{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\"}, nodename)",
3569 | "refId": "Prometheus-hostname-Variable-Query"
3570 | },
3571 | "refresh": 1,
3572 | "regex": "",
3573 | "skipUrlSync": false,
3574 | "sort": 5,
3575 | "tagValuesQuery": "",
3576 | "tagsQuery": "",
3577 | "type": "query",
3578 | "useTags": false
3579 | },
3580 | {
3581 | "allFormat": "glob",
3582 | "current": {
3583 | "selected": false,
3584 | "text": "",
3585 | "value": ""
3586 | },
3587 | "datasource": {
3588 | "uid": "${DS_PROMETHEUS}"
3589 | },
3590 | "definition": "label_values(node_uname_info{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\",nodename=~\"$hostname\"},instance)",
3591 | "hide": 0,
3592 | "includeAll": false,
3593 | "label": "Instance",
3594 | "multi": true,
3595 | "multiFormat": "regex values",
3596 | "name": "node",
3597 | "options": [],
3598 | "query": {
3599 | "query": "label_values(node_uname_info{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\",nodename=~\"$hostname\"},instance)",
3600 | "refId": "Prometheus-node-Variable-Query"
3601 | },
3602 | "refresh": 1,
3603 | "regex": "",
3604 | "skipUrlSync": false,
3605 | "sort": 5,
3606 | "tagValuesQuery": "",
3607 | "tagsQuery": "",
3608 | "type": "query",
3609 | "useTags": false
3610 | },
3611 | {
3612 | "allFormat": "glob",
3613 | "current": {
3614 | "selected": false,
3615 | "text": "All",
3616 | "value": "$__all"
3617 | },
3618 | "datasource": {
3619 | "uid": "${DS_PROMETHEUS}"
3620 | },
3621 | "definition": "label_values(node_network_info{origin_prometheus=~\"$origin_prometheus\",device!~'tap.*|veth.*|br.*|docker.*|virbr.*|lo.*|cni.*'},device)",
3622 | "hide": 0,
3623 | "includeAll": true,
3624 | "label": "NIC",
3625 | "multi": true,
3626 | "multiFormat": "regex values",
3627 | "name": "device",
3628 | "options": [],
3629 | "query": {
3630 | "query": "label_values(node_network_info{origin_prometheus=~\"$origin_prometheus\",device!~'tap.*|veth.*|br.*|docker.*|virbr.*|lo.*|cni.*'},device)",
3631 | "refId": "Prometheus-device-Variable-Query"
3632 | },
3633 | "refresh": 1,
3634 | "regex": "",
3635 | "skipUrlSync": false,
3636 | "sort": 1,
3637 | "tagValuesQuery": "",
3638 | "tagsQuery": "",
3639 | "type": "query",
3640 | "useTags": false
3641 | },
3642 | {
3643 | "auto": false,
3644 | "auto_count": 100,
3645 | "auto_min": "10s",
3646 | "current": {
3647 | "selected": false,
3648 | "text": "30s",
3649 | "value": "30s"
3650 | },
3651 | "hide": 0,
3652 | "label": "Interval",
3653 | "name": "interval",
3654 | "options": [
3655 | {
3656 | "selected": false,
3657 | "text": "30s",
3658 | "value": "30s"
3659 | },
3660 | {
3661 | "selected": false,
3662 | "text": "1m",
3663 | "value": "1m"
3664 | },
3665 | {
3666 | "selected": true,
3667 | "text": "2m",
3668 | "value": "2m"
3669 | },
3670 | {
3671 | "selected": false,
3672 | "text": "3m",
3673 | "value": "3m"
3674 | },
3675 | {
3676 | "selected": false,
3677 | "text": "5m",
3678 | "value": "5m"
3679 | },
3680 | {
3681 | "selected": false,
3682 | "text": "10m",
3683 | "value": "10m"
3684 | },
3685 | {
3686 | "selected": false,
3687 | "text": "30m",
3688 | "value": "30m"
3689 | }
3690 | ],
3691 | "query": "30s,1m,2m,3m,5m,10m,30m",
3692 | "queryValue": "",
3693 | "refresh": 2,
3694 | "skipUrlSync": false,
3695 | "type": "interval"
3696 | },
3697 | {
3698 | "current": {
3699 | "selected": false,
3700 | "text": "/",
3701 | "value": "/"
3702 | },
3703 | "datasource": {
3704 | "uid": "${DS_PROMETHEUS}"
3705 | },
3706 | "definition": "query_result(topk(1,sort_desc (max(node_filesystem_size_bytes{origin_prometheus=~\"$origin_prometheus\",instance=~'$node',fstype=~\"ext.?|xfs\",mountpoint!~\".*pods.*\"}) by (mountpoint))))",
3707 | "hide": 2,
3708 | "includeAll": false,
3709 | "label": "maxmount",
3710 | "multi": false,
3711 | "name": "maxmount",
3712 | "options": [],
3713 | "query": {
3714 | "query": "query_result(topk(1,sort_desc (max(node_filesystem_size_bytes{origin_prometheus=~\"$origin_prometheus\",instance=~'$node',fstype=~\"ext.?|xfs\",mountpoint!~\".*pods.*\"}) by (mountpoint))))",
3715 | "refId": "Prometheus-maxmount-Variable-Query"
3716 | },
3717 | "refresh": 2,
3718 | "regex": "/.*\\\"(.*)\\\".*/",
3719 | "skipUrlSync": false,
3720 | "sort": 5,
3721 | "tagValuesQuery": "",
3722 | "tagsQuery": "",
3723 | "type": "query",
3724 | "useTags": false
3725 | },
3726 | {
3727 | "current": {
3728 | "selected": false,
3729 | "text": "",
3730 | "value": ""
3731 | },
3732 | "datasource": {
3733 | "uid": "${DS_PROMETHEUS}"
3734 | },
3735 | "definition": "label_values(node_uname_info{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\",instance=~\"$node\"}, nodename)",
3736 | "hide": 2,
3737 | "includeAll": false,
3738 | "label": "show_hostname",
3739 | "multi": false,
3740 | "name": "show_hostname",
3741 | "options": [],
3742 | "query": {
3743 | "query": "label_values(node_uname_info{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\",instance=~\"$node\"}, nodename)",
3744 | "refId": "Prometheus-show_hostname-Variable-Query"
3745 | },
3746 | "refresh": 1,
3747 | "regex": "",
3748 | "skipUrlSync": false,
3749 | "sort": 5,
3750 | "tagValuesQuery": "",
3751 | "tagsQuery": "",
3752 | "type": "query",
3753 | "useTags": false
3754 | },
3755 | {
3756 | "current": {
3757 | "selected": false,
3758 | "text": "1",
3759 | "value": "1"
3760 | },
3761 | "datasource": {
3762 | "uid": "${DS_PROMETHEUS}"
3763 | },
3764 | "definition": "query_result(count(node_uname_info{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\"}))",
3765 | "hide": 2,
3766 | "includeAll": false,
3767 | "label": "total_servers",
3768 | "multi": false,
3769 | "name": "total",
3770 | "options": [],
3771 | "query": {
3772 | "query": "query_result(count(node_uname_info{origin_prometheus=~\"$origin_prometheus\",job=~\"$job\"}))",
3773 | "refId": "Prometheus-total-Variable-Query"
3774 | },
3775 | "refresh": 1,
3776 | "regex": "/{} (.*) .*/",
3777 | "skipUrlSync": false,
3778 | "sort": 0,
3779 | "tagValuesQuery": "",
3780 | "tagsQuery": "",
3781 | "type": "query",
3782 | "useTags": false
3783 | }
3784 | ]
3785 | },
3786 | "time": {
3787 | "from": "now-12h",
3788 | "to": "now"
3789 | },
3790 | "timepicker": {
3791 | "hidden": false,
3792 | "now": true,
3793 | "refresh_intervals": [
3794 | "15s",
3795 | "30s",
3796 | "1m",
3797 | "5m",
3798 | "15m",
3799 | "30m"
3800 | ],
3801 | "time_options": [
3802 | "5m",
3803 | "15m",
3804 | "1h",
3805 | "6h",
3806 | "12h",
3807 | "24h",
3808 | "2d",
3809 | "7d",
3810 | "30d"
3811 | ]
3812 | },
3813 | "timezone": "browser",
3814 | "title": "Node Exporter for Prometheus Dashboard EN 20201010",
3815 | "uid": "xfpJB9FGz",
3816 | "version": 8,
3817 | "weekStart": ""
3818 | }
3819 |
--------------------------------------------------------------------------------