Prometheus+Grafana 监控Tongweb7(by lqw)

文章目录

  • 1.准备工作
  • 2.Tongweb7部署
  • 3.Prometheus部署
  • 4.上传jar包并配置Tongweb7
  • 5.Prometheus配置
  • 6.安装和配置Grafana

1.准备工作

本次参考:Prometheus监控Tongweb容器

1.使用虚拟机ip:192.168.10.51(tongweb),192.168.10.52(Prometheus),192.168.10.8(Grafana ),其中51服务器确保9060,39081端口没有被占用,52服务器确保9090端口没有被占用,8服务器确保3000端口没有被占用,三台虚拟机均关闭防火墙。

2.使用的jar包:jmx_prometheus_javaagent-0.19.0.jar:jmx_prometheus_javaagent-0.19.0.jar下载链接

在这里插入图片描述

3.使用的jdk环境:jdk1.8(需配置jdk环境变量)

在这里插入图片描述
4.下载Grafana使用的仪表盘json文件:
TongWeb 面板,使用JMX Exporter采集数据

也可以新建一个json文件,复制粘贴以下内容:

{"__inputs": [{"name": "DS_PROMETHEUS","label": "Prometheus","description": "","type": "datasource","pluginId": "prometheus","pluginName": "Prometheus"}],"__elements": {},"__requires": [{"type": "panel","id": "gauge","name": "Gauge","version": ""},{"type": "grafana","id": "grafana","name": "Grafana","version": "10.0.1"},{"type": "datasource","id": "prometheus","name": "Prometheus","version": "1.0.0"},{"type": "panel","id": "stat","name": "Stat","version": ""},{"type": "panel","id": "table","name": "Table","version": ""},{"type": "panel","id": "timeseries","name": "Time series","version": ""}],"annotations": {"list": [{"builtIn": 1,"datasource": {"type": "datasource","uid": "grafana"},"enable": true,"hide": true,"iconColor": "rgba(0, 211, 255, 1)","name": "Annotations & Alerts","target": {"limit": 100,"matchAny": false,"tags": [],"type": "dashboard"},"type": "dashboard"}]},"description": "TongWeb 面板,使用JMX Exporter采集数据","editable": true,"fiscalYearStartMonth": 0,"gnetId": 19156,"graphTooltip": 0,"id": null,"links": [{"asDropdown": false,"icon": "external link","includeVars": false,"keepTime": false,"tags": [],"targetBlank": true,"title": "更新面板","tooltip": "","type": "link","url": "https://grafana.com/grafana/dashboards/19156"}],"liveNow": false,"panels": [{"collapsed": false,"datasource": {"type": "prometheus","uid": "fb65406e-39df-40f2-966c-9987082bdcfe"},"gridPos": {"h": 1,"w": 24,"x": 0,"y": 0},"id": 31,"panels": [],"repeat": "protocol","targets": [{"datasource": {"type": "prometheus","uid": "fb65406e-39df-40f2-966c-9987082bdcfe"},"refId": "A"}],"title": "监控信息","type": "row"},{"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"description": "被监控服务是否处于运行状态,即该服务是否可达。当UP指标的值为1时,表示该服务正在运行,并且可以被访问,当UP指标的值为0时,则表示该服务不可达或处于停止状态。","fieldConfig": {"defaults": {"color": {"mode": "thresholds"},"mappings": [{"options": {"0": {"color": "red","index": 1,"text": "未连通"},"1": {"color": "green","index": 0,"text": "连通"}},"type": "value"},{"options": {"match": "null","result": {"color": "red","index": 2,"text": "未连通"}},"type": "special"}],"thresholds": {"mode": "absolute","steps": [{"color": "green","value": null},{"color": "red","value": 80}]}},"overrides": []},"gridPos": {"h": 4,"w": 4,"x": 0,"y": 1},"id": 33,"options": {"colorMode": "value","graphMode": "area","justifyMode": "auto","orientation": "auto","reduceOptions": {"calcs": ["lastNotNull"],"fields": "","values": false},"text": {},"textMode": "auto"},"pluginVersion": "10.0.1","targets": [{"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"editorMode": "code","exemplar": false,"expr": "up{instance=~\"$instance\"}","instant": true,"interval": "","legendFormat": "状态","refId": "A"}],"title": "运行状态","type": "stat"},{"datasource": {"type": "prometheus","uid": "$datasource"},"description": "","fieldConfig": {"defaults": {"color": {"mode": "thresholds"},"decimals": 2,"mappings": [{"options": {"match": "null","result": {"text": "N/A"}},"type": "special"}],"thresholds": {"mode": "absolute","steps": [{"color": "green","value": null},{"color": "orange","value": 80}]},"unit": "percent"},"overrides": []},"gridPos": {"h": 4,"w": 5,"x": 4,"y": 1},"id": 17,"links": [],"maxDataPoints": 100,"options": {"orientation": "horizontal","reduceOptions": {"calcs": ["mean"],"fields": "","values": false},"showThresholdLabels": false,"showThresholdMarkers": true},"pluginVersion": "10.0.1","targets": [{"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"editorMode": "code","exemplar": false,"expr": "jvm_memory_bytes_used{area='heap', instance=\"$instance\"}/jvm_memory_bytes_max{area='heap', instance=\"$instance\"}*100","format": "time_series","instant": true,"interval": "","intervalFactor": 1,"legendFormat": "","refId": "A"}],"title": "JVM内存使用率","type": "gauge"},{"datasource": {"type": "prometheus","uid": "$datasource"},"fieldConfig": {"defaults": {"color": {"mode": "thresholds"},"mappings": [{"options": {"match": "null","result": {"text": "N/A"}},"type": "special"}],"thresholds": {"mode": "absolute","steps": [{"color": "green","value": null},{"color": "red","value": 80}]},"unit": "none"},"overrides": []},"gridPos": {"h": 4,"w": 5,"x": 9,"y": 1},"id": 20,"links": [],"maxDataPoints": 100,"options": {"colorMode": "value","graphMode": "none","justifyMode": "auto","orientation": "horizontal","reduceOptions": {"calcs": ["mean"],"fields": "","values": false},"textMode": "auto"},"pluginVersion": "10.0.1","targets": [{"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"editorMode": "code","exemplar": false,"expr": "sum(tongweb_manager_sessioncounter{instance=\"$instance\"})","format": "time_series","instant": true,"interval": "","intervalFactor": 1,"legendFormat": "","refId": "A"}],"title": "会话总个数","type": "stat"},{"datasource": {"type": "prometheus","uid": "$datasource"},"fieldConfig": {"defaults": {"color": {"mode": "thresholds"},"mappings": [{"options": {"match": "null","result": {"text": "N/A"}},"type": "special"}],"thresholds": {"mode": "absolute","steps": [{"color": "green","value": null}]},"unit": "none"},"overrides": []},"gridPos": {"h": 4,"w": 5,"x": 14,"y": 1},"id": 21,"links": [],"maxDataPoints": 100,"options": {"colorMode": "value","graphMode": "none","justifyMode": "auto","orientation": "horizontal","reduceOptions": {"calcs": ["mean"],"fields": "","values": false},"textMode": "auto"},"pluginVersion": "10.0.1","targets": [{"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"editorMode": "code","exemplar": false,"expr": "sum(tongweb_manager_expiredsessions{instance=\"$instance\"}) ","format": "time_series","instant": true,"interval": "","intervalFactor": 1,"legendFormat": "","refId": "A"}],"title": "会话过期数","type": "stat"},{"datasource": {"type": "prometheus","uid": "$datasource"},"fieldConfig": {"defaults": {"color": {"mode": "thresholds"},"mappings": [{"options": {"match": "null","result": {"text": "N/A"}},"type": "special"}],"thresholds": {"mode": "absolute","steps": [{"color": "green","value": null},{"color": "red","value": 80}]},"unit": "none"},"overrides": []},"gridPos": {"h": 4,"w": 5,"x": 19,"y": 1},"id": 19,"links": [],"maxDataPoints": 100,"options": {"colorMode": "value","graphMode": "none","justifyMode": "auto","orientation": "horizontal","reduceOptions": {"calcs": ["mean"],"fields": "","values": false},"textMode": "auto"},"pluginVersion": "10.0.1","targets": [{"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"editorMode": "code","exemplar": false,"expr": "sum(tongweb_manager_sessioncounter{ instance=\"$instance\"} - tongweb_manager_expiredsessions{instance=\"$instance\"})","format": "time_series","instant": true,"interval": "","intervalFactor": 1,"legendFormat": "","refId": "A"}],"title": "当前会话计数","type": "stat"},{"datasource": {"type": "prometheus","uid": "$datasource"},"description": "","fieldConfig": {"defaults": {"color": {"mode": "thresholds"},"custom": {"align": "auto","cellOptions": {"type": "auto"},"inspect": false},"mappings": [{"options": {"match": "null","result": {"text": "N/A"}},"type": "special"}],"min": 0,"thresholds": {"mode": "absolute","steps": [{"color": "green","value": null}]},"unit": "none"},"overrides": [{"matcher": {"id": "byName","options": "线程池使用率*"},"properties": [{"id": "color","value": {"mode": "continuous-GrYlRd"}},{"id": "custom.cellOptions","value": {"mode": "gradient","type": "gauge"}},{"id": "unit","value": "percent"},{"id": "decimals","value": 1},{"id": "min","value": -1},{"id": "thresholds","value": {"mode": "absolute","steps": [{"color": "green","value": null},{"color": "red","value": 80}]}},{"id": "max","value": 100}]},{"matcher": {"id": "byName","options": "http通道"},"properties": [{"id": "custom.width","value": 200}]},{"matcher": {"id": "byName","options": "最大线程数"},"properties": [{"id": "custom.width","value": 90}]},{"matcher": {"id": "byName","options": "初始线程数"},"properties": [{"id": "custom.width","value": 90}]},{"matcher": {"id": "byName","options": "线程优先级"},"properties": [{"id": "custom.width","value": 90}]},{"matcher": {"id": "byName","options": "等待队列"},"properties": [{"id": "custom.width","value": 90}]}]},"gridPos": {"h": 9,"w": 12,"x": 0,"y": 5},"id": 14,"links": [],"maxDataPoints": 100,"options": {"cellHeight": "sm","footer": {"countRows": false,"fields": "","reducer": ["sum"],"show": false},"showHeader": true,"sortBy": [{"desc": true,"displayName": "线程池使用率"}]},"pluginVersion": "10.0.1","targets": [{"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"editorMode": "code","exemplar": false,"expr": "tongweb_threadpool_maxthreads{ instance=\"$instance\"}","format": "table","hide": false,"instant": true,"interval": "","intervalFactor": 1,"legendFormat": "{{name}}-最大线程数","range": false,"refId": "A"},{"datasource": {"type": "prometheus","uid": "$datasource"},"editorMode": "code","exemplar": false,"expr": "tongweb_threadpool_minsparethreads{instance=\"$instance\"}","format": "table","hide": false,"instant": true,"legendFormat": "{{name}}-使用线程数","range": false,"refId": "B"},{"datasource": {"type": "prometheus","uid": "$datasource"},"editorMode": "code","exemplar": false,"expr": "tongweb_threadpool_connectioncount{ instance=\"$instance\"}","format": "table","hide": false,"instant": true,"legendFormat": "{{name}}","range": false,"refId": "C"},{"datasource": {"type": "prometheus","uid": "$datasource"},"editorMode": "code","exemplar": false,"expr": "tongweb_threadpool_connectioncount{ instance=\"$instance\"}/tongweb_threadpool_maxthreads{ instance=\"$instance\"}*100","format": "table","hide": false,"instant": true,"range": false,"refId": "D"},{"datasource": {"type": "prometheus","uid": "$datasource"},"editorMode": "code","exemplar": false,"expr": "tongweb_threadpool_threadpriority{instance=\"$instance\"}","format": "table","hide": false,"instant": true,"range": false,"refId": "E"},{"datasource": {"type": "prometheus","uid": "$datasource"},"editorMode": "code","exemplar": false,"expr": "tongweb_threadpool_backlog{instance=\"$instance\"}","format": "table","hide": false,"instant": true,"range": false,"refId": "F"}],"title": "线程池信息","transformations": [{"id": "filterFieldsByName","options": {"include": {"pattern": "/^Value #[A-Z]|^name$/"}}},{"id": "merge","options": {}},{"id": "organize","options": {"excludeByName": {},"indexByName": {},"renameByName": {"Value #A": "最大线程数","Value #B": "初始线程数","Value #C": "正在执行任务的线程数*","Value #D": "线程池使用率*","Value #E": "线程优先级","Value #F": "等待队列","name": "http通道"}}},{"id": "groupBy","options": {"fields": {"Value #E": {"aggregations": [],"operation": "groupby"},"http通道": {"aggregations": [],"operation": "groupby"},"初始线程数": {"aggregations": ["lastNotNull"],"operation": "groupby"},"最大线程数": {"aggregations": [],"operation": "groupby"},"正在执行任务的线程数": {"aggregations": [],"operation": "groupby"},"正在执行任务的线程数*": {"aggregations": [],"operation": "groupby"},"等待队列": {"aggregations": [],"operation": "groupby"},"线程优先级": {"aggregations": [],"operation": "groupby"},"线程池使用率": {"aggregations": [],"operation": "groupby"},"线程池使用率*": {"aggregations": [],"operation": "groupby"}}}}],"type": "table"},{"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"fieldConfig": {"defaults": {"color": {"mode": "palette-classic"},"custom": {"axisCenteredZero": false,"axisColorMode": "text","axisLabel": "","axisPlacement": "auto","barAlignment": 0,"drawStyle": "line","fillOpacity": 6,"gradientMode": "none","hideFrom": {"legend": false,"tooltip": false,"viz": false},"lineInterpolation": "linear","lineWidth": 1,"pointSize": 1,"scaleDistribution": {"type": "linear"},"showPoints": "auto","spanNulls": false,"stacking": {"group": "A","mode": "none"},"thresholdsStyle": {"mode": "off"}},"mappings": [],"thresholds": {"mode": "absolute","steps": [{"color": "green","value": null},{"color": "red","value": 80}]},"unit": "percent"},"overrides": []},"gridPos": {"h": 9,"w": 12,"x": 12,"y": 5},"id": 40,"options": {"legend": {"calcs": [],"displayMode": "table","placement": "right","showLegend": true},"tooltip": {"mode": "single","sort": "none"}},"targets": [{"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"editorMode": "code","expr": "tongweb_threadpool_connectioncount{ instance=\"$instance\"}/tongweb_threadpool_maxthreads{ instance=\"$instance\"}*100","instant": false,"legendFormat": "{{name}}","range": true,"refId": "A"}],"title": "线程池使用率","type": "timeseries"},{"datasource": {"type": "prometheus","uid": "$datasource"},"description": "","fieldConfig": {"defaults": {"color": {"mode": "continuous-BlPu"},"custom": {"axisCenteredZero": false,"axisColorMode": "text","axisLabel": "","axisPlacement": "auto","barAlignment": 0,"drawStyle": "line","fillOpacity": 14,"gradientMode": "none","hideFrom": {"legend": false,"tooltip": false,"viz": false},"lineInterpolation": "linear","lineStyle": {"fill": "solid"},"lineWidth": 1,"pointSize": 1,"scaleDistribution": {"type": "linear"},"showPoints": "auto","spanNulls": false,"stacking": {"group": "A","mode": "none"},"thresholdsStyle": {"mode": "off"}},"mappings": [],"thresholds": {"mode": "absolute","steps": [{"color": "green","value": null},{"color": "red","value": 80}]}},"overrides": []},"gridPos": {"h": 9,"w": 12,"x": 0,"y": 14},"id": 39,"links": [],"maxDataPoints": 100,"options": {"legend": {"calcs": [],"displayMode": "list","placement": "bottom","showLegend": true},"tooltip": {"mode": "single","sort": "none"}},"pluginVersion": "10.0.1","targets": [{"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"editorMode": "code","exemplar": false,"expr": "jvm_memory_bytes_used{area='heap', instance=\"$instance\"}/jvm_memory_bytes_max{area='heap', instance=\"$instance\"}*100","format": "time_series","instant": false,"interval": "","intervalFactor": 1,"legendFormat": "内存使用率","range": true,"refId": "A"}],"title": "JVM内存使用率","type": "timeseries"},{"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"fieldConfig": {"defaults": {"color": {"mode": "palette-classic"},"custom": {"axisCenteredZero": false,"axisColorMode": "text","axisLabel": "","axisPlacement": "auto","barAlignment": 0,"drawStyle": "line","fillOpacity": 6,"gradientMode": "none","hideFrom": {"legend": false,"tooltip": false,"viz": false},"lineInterpolation": "linear","lineWidth": 1,"pointSize": 1,"scaleDistribution": {"type": "linear"},"showPoints": "auto","spanNulls": false,"stacking": {"group": "A","mode": "none"},"thresholdsStyle": {"mode": "off"}},"mappings": [],"thresholds": {"mode": "absolute","steps": [{"color": "green","value": null},{"color": "red","value": 80}]}},"overrides": []},"gridPos": {"h": 9,"w": 12,"x": 12,"y": 14},"id": 41,"options": {"legend": {"calcs": [],"displayMode": "table","placement": "right","showLegend": true},"tooltip": {"mode": "single","sort": "none"}},"targets": [{"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"editorMode": "code","expr": "increase(tongweb_requestprocessor_errorcount{instance=\"$instance\"}[5m])","instant": false,"legendFormat": "{{worker}}-{{name}}","range": true,"refId": "A"}],"title": "近5分钟错误增长数","type": "timeseries"},{"datasource": {"type": "prometheus","uid": "$datasource"},"description": "","fieldConfig": {"defaults": {"color": {"mode": "palette-classic"},"custom": {"axisCenteredZero": false,"axisColorMode": "text","axisLabel": "","axisPlacement": "auto","barAlignment": 0,"drawStyle": "line","fillOpacity": 8,"gradientMode": "none","hideFrom": {"legend": false,"tooltip": false,"viz": false},"lineInterpolation": "linear","lineWidth": 1,"pointSize": 1,"scaleDistribution": {"type": "linear"},"showPoints": "auto","spanNulls": false,"stacking": {"group": "A","mode": "none"},"thresholdsStyle": {"mode": "off"}},"mappings": [{"options": {"match": "null","result": {"text": "N/A"}},"type": "special"}],"thresholds": {"mode": "absolute","steps": [{"color": "green","value": null},{"color": "red","value": 80}]},"unit": "ms"},"overrides": []},"gridPos": {"h": 9,"w": 12,"x": 0,"y": 23},"id": 35,"links": [],"maxDataPoints": 100,"options": {"legend": {"calcs": [],"displayMode": "list","placement": "right","showLegend": true},"tooltip": {"mode": "single","sort": "none"}},"pluginVersion": "10.0.1","targets": [{"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"editorMode": "code","exemplar": false,"expr": "sum(increase(tongweb_requestprocessor_processingtime{instance=\"$instance\"}[5m])) by (worker) / (count(tongweb_requestprocessor_processingtime{instance=\"$instance\"}) by (worker)+0.01) ","format": "time_series","instant": false,"interval": "","intervalFactor": 1,"legendFormat": "{{worker}}","range": true,"refId": "A"}],"title": "平均响应时长","type": "timeseries"},{"datasource": {"type": "prometheus","uid": "$datasource"},"description": "","fieldConfig": {"defaults": {"color": {"mode": "palette-classic"},"custom": {"axisCenteredZero": false,"axisColorMode": "text","axisLabel": "","axisPlacement": "auto","barAlignment": 0,"drawStyle": "line","fillOpacity": 11,"gradientMode": "none","hideFrom": {"legend": false,"tooltip": false,"viz": false},"lineInterpolation": "linear","lineWidth": 1,"pointSize": 1,"scaleDistribution": {"type": "linear"},"showPoints": "auto","spanNulls": false,"stacking": {"group": "A","mode": "none"},"thresholdsStyle": {"mode": "off"}},"decimals": 2,"mappings": [{"options": {"match": "null","result": {"text": "N/A"}},"type": "special"}],"thresholds": {"mode": "absolute","steps": [{"color": "green","value": null},{"color": "orange","value": 80}]},"unit": "percent"},"overrides": []},"gridPos": {"h": 9,"w": 12,"x": 12,"y": 23},"id": 37,"links": [],"maxDataPoints": 100,"options": {"legend": {"calcs": [],"displayMode": "list","placement": "bottom","showLegend": true},"tooltip": {"mode": "single","sort": "none"}},"pluginVersion": "10.0.1","targets": [{"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"editorMode": "code","exemplar": false,"expr": "jvm_memory_pool_bytes_used{ instance=\"$instance\", pool!=\"Metaspace\"}/jvm_memory_pool_bytes_max{ instance=\"$instance\", pool!=\"Metaspace\"}*100","format": "time_series","instant": false,"interval": "","intervalFactor": 1,"legendFormat": "{{pool}}","range": true,"refId": "A"}],"title": "JVM内存池使用率","type": "timeseries"},{"datasource": {"type": "prometheus","uid": "$datasource"},"description": "","fieldConfig": {"defaults": {"color": {"mode": "palette-classic"},"custom": {"axisCenteredZero": false,"axisColorMode": "text","axisLabel": "","axisPlacement": "auto","barAlignment": 0,"drawStyle": "line","fillOpacity": 10,"gradientMode": "none","hideFrom": {"legend": false,"tooltip": false,"viz": false},"lineInterpolation": "linear","lineWidth": 1,"pointSize": 5,"scaleDistribution": {"type": "linear"},"showPoints": "never","spanNulls": false,"stacking": {"group": "A","mode": "none"},"thresholdsStyle": {"mode": "off"}},"decimals": 0,"mappings": [],"thresholds": {"mode": "absolute","steps": [{"color": "green","value": null},{"color": "red","value": 80}]},"unit": "none"},"overrides": [{"matcher": {"id": "byValue","options": {"op": "gte","reducer": "allIsZero","value": 0}},"properties": [{"id": "custom.hideFrom","value": {"legend": true,"tooltip": true,"viz": false}}]}]},"gridPos": {"h": 9,"w": 12,"x": 0,"y": 32},"id": 23,"links": [],"options": {"legend": {"calcs": [],"displayMode": "table","placement": "right","showLegend": true},"tooltip": {"mode": "multi","sort": "none"}},"pluginVersion": "10.0.1","targets": [{"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"editorMode": "code","exemplar": false,"expr": "topk(5, tongweb_globalrequestprocessor_requestcount{ instance=\"$instance\"})","format": "time_series","instant": false,"interval": "","intervalFactor": 1,"legendFormat": "{{name}} ","range": true,"refId": "A"}],"title": "请求计数TOP5","type": "timeseries"},{"datasource": {"type": "prometheus","uid": "$datasource"},"description": "","fieldConfig": {"defaults": {"color": {"mode": "palette-classic"},"custom": {"axisCenteredZero": false,"axisColorMode": "text","axisLabel": "","axisPlacement": "auto","barAlignment": 0,"drawStyle": "line","fillOpacity": 10,"gradientMode": "none","hideFrom": {"legend": false,"tooltip": false,"viz": false},"lineInterpolation": "linear","lineWidth": 1,"pointSize": 5,"scaleDistribution": {"type": "linear"},"showPoints": "never","spanNulls": false,"stacking": {"group": "A","mode": "none"},"thresholdsStyle": {"mode": "off"}},"decimals": 0,"mappings": [],"thresholds": {"mode": "absolute","steps": [{"color": "green","value": null},{"color": "red","value": 80}]},"unit": "short"},"overrides": [{"matcher": {"id": "byValue","options": {"op": "gte","reducer": "allIsZero","value": 0}},"properties": [{"id": "custom.hideFrom","value": {"legend": true,"tooltip": true,"viz": false}}]}]},"gridPos": {"h": 9,"w": 12,"x": 12,"y": 32},"id": 24,"links": [],"options": {"legend": {"calcs": [],"displayMode": "table","placement": "right","showLegend": true},"tooltip": {"mode": "multi","sort": "none"}},"pluginVersion": "10.0.1","targets": [{"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"editorMode": "code","exemplar": true,"expr": "topk(5,tongweb_requestprocessor_errorcount{ instance=\"$instance\"})","format": "time_series","interval": "","intervalFactor": 1,"legendFormat": "{{worker}} ","range": true,"refId": "A"}],"title": "错误计数TOP5","type": "timeseries"},{"datasource": {"type": "prometheus","uid": "$datasource"},"description": "","fieldConfig": {"defaults": {"color": {"mode": "palette-classic"},"custom": {"axisCenteredZero": false,"axisColorMode": "text","axisLabel": "","axisPlacement": "auto","barAlignment": 0,"drawStyle": "line","fillOpacity": 10,"gradientMode": "none","hideFrom": {"legend": false,"tooltip": false,"viz": false},"lineInterpolation": "linear","lineWidth": 1,"pointSize": 5,"scaleDistribution": {"type": "linear"},"showPoints": "never","spanNulls": false,"stacking": {"group": "A","mode": "none"},"thresholdsStyle": {"mode": "off"}},"mappings": [],"thresholds": {"mode": "absolute","steps": [{"color": "green","value": null},{"color": "red","value": 80}]},"unit": "decbytes"},"overrides": []},"gridPos": {"h": 9,"w": 12,"x": 0,"y": 41},"id": 2,"links": [],"options": {"legend": {"calcs": [],"displayMode": "list","placement": "right","showLegend": true},"tooltip": {"mode": "multi","sort": "none"}},"pluginVersion": "10.0.1","repeatDirection": "h","targets": [{"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"editorMode": "code","exemplar": true,"expr": "increase(tongweb_globalrequestprocessor_bytesreceived{ instance=\"$instance\"}[$__interval])","format": "time_series","interval": "60s","intervalFactor": 1,"legendFormat": "Received {{name}}","range": true,"refId": "A"},{"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"editorMode": "code","exemplar": true,"expr": "increase(tongweb_globalrequestprocessor_bytessent{ instance=\"$instance\"}[$__interval])","format": "time_series","interval": "60s","intervalFactor": 1,"legendFormat": "Sent {{name}}","range": true,"refId": "B"}],"title": "发送/接收流量","type": "timeseries"},{"datasource": {"type": "prometheus","uid": "$datasource"},"description": "tomcat_requestcount_total是Tomcat服务器的一个请求计数器,它记录了所有已处理的请求总数。 在Tomcat服务器中,每个客户端请求都会被处理为一个请求,在处理请求期间,服务器会从连接中读取数据、解析数据、执行应用逻辑,并返回响应。每当Tomcat服务器成功处理一个请求时,其tomcat_requestcount_total指标就会相应地增加。监控和分析该指标可以帮助管理员和开发人员更好地了解Tomcat服务器的整体负载情况和活动水平,对于性能优化和故障排除都具有一定的价值。此外,该指标也可以通过与其他指标如tomcat_bytesreceived_total和tomcat_bytessent_total等结合使用,来监测网络流量和请求响应时间等性能指标,以进一步优化Tomcat服务器的配置和性能。","fieldConfig": {"defaults": {"color": {"mode": "palette-classic"},"custom": {"axisCenteredZero": false,"axisColorMode": "text","axisLabel": "","axisPlacement": "auto","barAlignment": 0,"drawStyle": "line","fillOpacity": 10,"gradientMode": "none","hideFrom": {"legend": false,"tooltip": false,"viz": false},"lineInterpolation": "linear","lineWidth": 1,"pointSize": 5,"scaleDistribution": {"type": "linear"},"showPoints": "never","spanNulls": false,"stacking": {"group": "A","mode": "none"},"thresholdsStyle": {"mode": "off"}},"decimals": 0,"mappings": [],"thresholds": {"mode": "absolute","steps": [{"color": "green","value": null},{"color": "red","value": 80}]},"unit": "short"},"overrides": []},"gridPos": {"h": 9,"w": 12,"x": 12,"y": 41},"id": 4,"links": [],"options": {"legend": {"calcs": ["lastNotNull","max","min"],"displayMode": "table","placement": "right","showLegend": true},"tooltip": {"mode": "multi","sort": "none"}},"pluginVersion": "10.0.1","repeatDirection": "h","targets": [{"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"editorMode": "code","exemplar": true,"expr": "increase(tongweb_globalrequestprocessor_requestcount{ instance=\"$instance\"}[5m])","format": "time_series","interval": "60s","intervalFactor": 1,"legendFormat": "Request {{name}}","range": true,"refId": "A"},{"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"editorMode": "code","exemplar": true,"expr": "increase(tongweb_globalrequestprocessor_errorcount{ instance=\"$instance\"}[5m])","format": "time_series","interval": "60s","intervalFactor": 1,"legendFormat": "Error  {{name}}","range": true,"refId": "B"}],"title": "请求计数/错误计数","type": "timeseries"},{"datasource": {"type": "prometheus","uid": "$datasource"},"description": "","fieldConfig": {"defaults": {"color": {"mode": "palette-classic"},"custom": {"axisCenteredZero": false,"axisColorMode": "text","axisLabel": "","axisPlacement": "auto","barAlignment": 0,"drawStyle": "line","fillOpacity": 10,"gradientMode": "none","hideFrom": {"legend": false,"tooltip": false,"viz": false},"lineInterpolation": "linear","lineWidth": 1,"pointSize": 5,"scaleDistribution": {"type": "linear"},"showPoints": "never","spanNulls": false,"stacking": {"group": "A","mode": "none"},"thresholdsStyle": {"mode": "off"}},"decimals": 0,"mappings": [],"thresholds": {"mode": "absolute","steps": [{"color": "green","value": null},{"color": "red","value": 80}]},"unit": "none"},"overrides": [{"__systemRef": "hideSeriesFrom","matcher": {"id": "byNames","options": {"mode": "exclude","names": ["New"],"prefix": "All except:","readOnly": true}},"properties": [{"id": "custom.hideFrom","value": {"legend": false,"tooltip": false,"viz": true}}]}]},"gridPos": {"h": 8,"w": 24,"x": 0,"y": 50},"id": 5,"links": [],"options": {"legend": {"calcs": ["lastNotNull","max","min"],"displayMode": "table","placement": "right","showLegend": true},"tooltip": {"mode": "multi","sort": "none"}},"pluginVersion": "10.0.1","targets": [{"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"editorMode": "code","exemplar": true,"expr": "sum(increase(tongweb_manager_sessioncounter{ instance=\"$instance\"}[5m])) by (instance)","format": "time_series","hide": false,"interval": "60s","intervalFactor": 1,"legendFormat": "New","range": true,"refId": "A"},{"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"editorMode": "code","expr": "sum(increase(tongweb_manager_expiredsessions{ instance=\"$instance\"}[5m])) by (instance)","format": "time_series","hide": false,"interval": "60s","intervalFactor": 1,"legendFormat": "Expired","range": true,"refId": "B"},{"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"editorMode": "code","expr": "sum(increase(tongweb_manager_rejectedsessions{ instance=\"$instance\"}[5m])) by (instance)","format": "time_series","hide": false,"interval": "60s","intervalFactor": 1,"legendFormat": "Rejected","range": true,"refId": "C"}],"title": "会话计数统计","type": "timeseries"}],"refresh": "5s","schemaVersion": 38,"style": "dark","tags": ["Tomcat8"],"templating": {"list": [{"current": {"selected": false,"text": "Prometheus","value": "Prometheus"},"hide": 0,"includeAll": false,"multi": false,"name": "datasource","options": [],"query": "prometheus","queryValue": "","refresh": 1,"regex": "","skipUrlSync": false,"type": "datasource"},{"allValue": ".*","current": {},"datasource": {"type": "prometheus","uid": "${DS_PROMETHEUS}"},"definition": "label_values(jvm_info{},instance)","hide": 0,"includeAll": false,"label": "Instance","multi": false,"name": "instance","options": [],"query": {"query": "label_values(jvm_info{},instance)","refId": "PrometheusVariableQueryEditor-VariableQuery"},"refresh": 2,"regex": "","skipUrlSync": false,"sort": 1,"tagValuesQuery": "","tagsQuery": "","type": "query","useTags": false}]},"time": {"from": "now-15m","to": "now"},"timepicker": {"refresh_intervals": ["5s","10s","30s","1m","5m","15m"],"time_options": ["5m","15m","1h","6h","12h","24h","2d","7d","30d"]},"timezone": "","title": "TongWeb_dashboard","uid": "tongweb","version": 71,"weekStart": ""
}

5.tw7的安装包和授权,其中tw7使用的安装包为TongWeb7.0.4.9_M3_Enterprise_Linux.tar.gz。

2.Tongweb7部署

参考:TongWeb7-绿色版安装及启动停止和控制台访问

3.Prometheus部署

参考:一篇文章搞定Prometheus普罗米修斯监控系统的部署

4.上传jar包并配置Tongweb7

把下载好的jar包放入到Tongweb7安装目录的bin目录下
在这里插入图片描述
新建一個config.yaml
在这里插入图片描述
vi 这个文件,复制粘贴以下内容(注意缩进):

wercaseOutputLabelNames: true
lowercaseOutputName: true
whitelistObjectNames: ["java.lang:type=OperatingSystem", "TONGWEB:*","config:*"]
blacklistObjectNames: []
rules:- pattern: ".*"

以下是配置内容的用途
在这里插入图片描述

TongWeb安装目录/bin目录下,修改external.vmoptions文件,在#jvm_options 后添加javaagent参数
在这里插入图片描述
參考配置:

-javaagent:"/opt/TongWeb7.0.4.9_M3_Enterprise_Linux/bin/jmx_prometheus_javaagent-0.19.0.jar=39081:/opt/TongWeb7.0.4.9_M3_Enterprise_Linux/bin/config.yaml"

备注:
1.这里要使用jmx_prometheus_javaagent-0.19.0.jar和config.yaml所在目录,我的是在/opt/TongWeb7.0.4.9_M3_Enterprise_Linux/bin。
2.配置在#jvm_options下面,如下图所示:
在这里插入图片描述

3.除了这个配置,不能有#等其他多余字符串(#在这个配置文件里不是注释修饰符)。
4.如果改错了,会导致tongweb启动失败,所以万一启动失败了,请直接删了重新配。

配置后重启tongweb,然后访问服务器ip:39081/metrics,看看有没有数据
在这里插入图片描述

5.Prometheus配置

配置prometheus.yml:

在这里插入图片描述

在这里插入图片描述

配置参考(注意缩进,192.168.10.51和39081分别对应的是tongweb这边的端口和ip):

static_configs:- targets: ["localhost:9090"]- job_name: tongwebstatic_configs:- targets: ['192.168.10.51:39081']labels:instance: 192.168.10.51

下面是我本地的配置文件,自行删除不需要的部分:

global:scrape_interval: 15s        # Set the scrape interval to every 15 seconds. Default is every 1 minute.evaluation_interval: 15s    # Evaluate rules every 15 seconds. The default is every 1 minute.# scrape_timeout is set to the global default (10s).alerting:alertmanagers:- static_configs:- targets:# - alertmanager:9093rule_files:# - "first_rules.yml"# - "second_rules.yml"scrape_configs:- job_name: "prometheus"# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ["localhost:9090"]- job_name: 'Prometheus19'metrics_path: /metricsstatic_configs:- targets:- rdsrelabel_configs:- source_labels: [__address__]target_label: __param_target- source_labels: [__param_target]target_label: instance- target_label: __address__replacement: 192.168.10.19:9098- job_name: 'Prometheus20'metrics_path: /metricsstatic_configs:- targets:- rdsrelabel_configs:- source_labels: [__address__]target_label: __param_target- source_labels: [__param_target]target_label: instance- target_label: __address__replacement: 192.168.10.20:9098- job_name: "tongweb"static_configs:- targets: ['192.168.10.51:39081']labels:instance: 192.168.10.51

修改完启动Prometheus

cd /usr/local/promethues/./prometheus --config.file="/usr/local/promethues/prometheus.yml" &ps ef |grep promethues

访问服务器ip:9090/targets?search=,点击status,target,就可以看到我们配置的信息:
在这里插入图片描述

6.安装和配置Grafana

Grafana下载地址

在这里插入图片描述
上图的话,安装后用 systemctl start grafana-server 启动,会方便一些。

或者用这个也行,这个的话后面启动要用脚本启动(本文使用这种方式)。
在这里插入图片描述
解压一下安装包

tar -vxf grafana-enterprise-10.3.1.linux-amd64.tar.gz

启动:
cd 到安装目录bin目录,执行./grafana-server,然后访问服务器ip:3000

注意:默认账号密码为:
账号:admin
密码:admin如果你想卸载,可以关闭服务(直接pkill grafana-server也行),直接删除安装目录,然后删除对应配置```xml
sudo rm -rf /var/lib/grafana
sudo rm -rf /var/log/grafana
sudo rm -rf /etc/grafana
sudo rm -rf /etc/grafana/grafana.ini
sudo rm -rf  /var/lib/grafana/grafana.db

在这里插入图片描述

通常情况下,Grafana 服务的配置文件位于 /etc/grafana/grafana.ini,日志通常存储在 /var/log/grafana,而数据库默认位于 /var/lib/grafana/grafana.db。您可能需要查看这些文件以进行故障排查或者进行配置更改。记得在修改配置文件之后重启 Grafana 服务使更改生效。

Grafana只用于展示数据,需要配置Prometheus数据源。

在这里插入图片描述

在这里插入图片描述
写你的prometheus的url,带上端口号9090:
在这里插入图片描述

点击下方的sava&test,有下图的提示说明成功:
在这里插入图片描述
然后回到home,找到Create your first dashboard:
在这里插入图片描述
点击import a dashboard:
在这里插入图片描述
上传之前下载的json文件在这里插入图片描述
上传后选择一下prometheus:
在这里插入图片描述
然后点击import,仪表盘就出现了:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/766029.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux源码包安装

目录 一、transmission源码包安装 二、 nginx源码包安装 一、transmission源码包安装 1、下载编译环境所需的软件包依赖 2、下载transmision源码包到用户主目录下 https://github.com/transmission/transmission/releases/download/4.0.5/transmission-4.0.5.tar.xz 3、解压…

【python】学习笔记04-函数

4.1 函数介绍 1. 函数是: 组织好的、可重复使用的、用来实现特定功能的代码段 2. 使用函数的好处是: • 将功能封装在函数内,可供随时随地重复利用 • 提高代码的复用性,减少重复代码,提高开发效率 4.2 函数的定义 …

【PHP】通过PHP安装数据库并使数据初始化

一、前言 有些CMS在部署的时候不用使用数据库工具,而是通过数据库安装页面就能完成数据库创建和数据填充,所以自己就想动手做一个这样的功能,这样在给别人安装系统的时候就不用再那么麻烦了,直接一键安装解决了。 二、效果图 输…

基于骨骼的动作识别的行动结构图卷积网络

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 摘要Abstract文献阅读:基于骨骼的动作识别的行动结构图卷积网络1、研究背景2、方法提出3、关键结构3.1、A-links inference module (AIM)3.2、Structura…

【测试开发学习历程】MySQL分组查询与子查询 + MySQL表的联结操作

目录 1 MySQL分组查询与子查询 1.1 数据分组查询 1.2 过滤分组 1.3 分组结果排序 1.4 select语句中子句的执行顺序 1.5 子查询 2 MySQL表的联结操作 2.1 关系表 2.2 表联结 2.3 笛卡尔积 2.4 内部联结 2.5 外联结 2.6 自联结 2.7 组合查询 1 MySQL分组查询与子查询…

day16-环形链表

问题描述: 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环&#xff0…

更改默认的网络状态页面

目录 网络状态码 概念 分类 详解 页面更改 场景 步骤 网络状态码 概念 当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头用以响应浏览器的请求…

仿牛客社区项目所有PPT图片

文章目录 第1章 初识Spring Boot,开发社区首页1.1 课程介绍1.1.1 课程目标1.1.2 技术架构1.1.3 开发环境 1.2 搭建开发环境1.2.1 Apache Maven1.2.2 Intellij IDEA1.2.3 Spring Initializer1.2.4 SpringBoot 入门示例 1.3 Spring入门1.3.1 SpringBoot 全家桶1.3.2 S…

SpringBoot 邮件服务集成配置全面解析

前言 本文以网易邮箱(及 163 邮箱)为例,展示如何为 SpringBoot 项目集成邮件服务,其他邮箱配置类似,可以自行查看 Spring Email 指南 或是其他官方文档 授权码 首先我们需要获取授权码,用于后续配置&…

Xpath解析

目录 Xpath的简介: 简介: 相关概念: Xpath的使用: 安装: 用法: 第一步:准备html 第二步:将html构造出etree对象 第三步:使用etree对象的xpath()方法配合xpath表达…

JAVA——volatile,wait,notife

文章目录 volatile关键字简识jvm内存模型内存上的优化问题的产生volatile的作用 wait()wait()的作用 notify()notify的唤醒顺序 volatile关键字 volatile关键字可以保证内存的可见性,什么是内存的可见性呢&#xff1f…

二叉树的链式结构和遍历(下)

又见面了,小伙伴们。今天我们继续来学习二叉树,今天的内容相对来说比较容易理解,前提是需要你们自己动手画图才会好理解。眼过千遍不如手过一遍。所以小伙伴们要多动手哦。直接开始今天的学习吧 1.二叉树链式结构的实现 1.1 前置说明 在学习…

如何成为顶尖程序员?

如何成为顶尖程序员? 程序员是一种特殊的职业,但为什么大多数程序员无法达到顶尖水平?本文探讨了几个可能的原因,包括缺乏热情和动力、基础和原理的不足、实践和经验的匮乏,以及思考和创新的欠缺。了解这些原因可以帮助…

基于SpringBoot+MyBatis+Vue的电商智慧仓储管理系统的设计与实现(源码+LW+部署+讲解)

前言 博主简介👨🏼‍⚕️:国内某一线互联网公司全栈工程师👨🏼‍💻,业余自媒体创作者💻,CSDN博客专家🏆,Java领域优质创作者📕&#x…

Redis中文乱码问题

最近排查问题,发现之前的开发将日志写在redis缓存中(不建议这样做),我在查看日志的时候发现没办法阅读,详细是这样的: 查阅资料后发现是进制问题,解决方法是启动客户端的时候将redis-cli改为red…

【go从入门到精通】if else 条件控制

作者简介: 高科,先后在 IBM PlatformComputing从事网格计算,淘米网,网易从事游戏服务器开发,拥有丰富的C,go等语言开发经验,mysql,mongo,redis等数据库,设计模…

电脑安装双系统windows和ubuntu server

1.创建Ubuntu-server的启动盘 首先要从官网下载Ubuntu-server18.04的ISO文件,用rufs烧录到U盘。如下所示 2. 磁盘分区 在windows创建两个盘(linuxboot 和linuxroot),后面一个一个用于boot,一个用于root. 3.开机U盘启…

Flutter学习10 - Json解析与Model使用

对于网络请求返回的 Json 数据&#xff0c;一般会进行如下解析&#xff1a; 将 Json String 解析为 Map<String, dynamic>将 Json String 解析为 Dart Model 发起一个返回 Json String 的网络请求 import package:http/http.dart as http;void main() {_doGet(); }_do…

用好商用无人自助咖啡机,真正实现“AI智能”制饮!

随着科技的不断进步和智能化技术的广泛应用&#xff0c;商用无人自助咖啡机作为餐饮行业的新宠&#xff0c;正逐渐改变着我们的生活方式和消费体验。通过结合人工智能技术&#xff0c;这些无人自助咖啡机正在实现真正的“AI智能”制饮&#xff0c;为消费者带来全新的咖啡体验。…

Qt 项目使用visual studio 进行开发调试

https://marketplace.visualstudio.com/items?itemNameTheQtCompany.QtVisualStudioTools2015 https://devblogs.microsoft.com/cppblog/bring-your-existing-qt-projects-to-visual-studio/ 正常Qt开发中&#xff0c;使用Qt Creator 进行windows下MSVC编译器的调试是一件挺麻…