基于grafana的监控部署
1.Grafana
Grafana是一个开源的,拥有丰富dashboard和图表编辑的指标分析平台
配置文件:通过nginx反向代理让域名能访问grafana平台
相关命令
1 | 启动:service grafana-server start |
2.Prometheus
Prometheus Server负责定时在目标上抓取Metrics数据,每个抓取目标都需要暴露一个HTTP服务接口用于Prometheus定时抓取
配置文件:将各种监控插件的接口暴漏给prometheus进行抓去
prometheus.yml(也可以额外新增配置文件,在prometheus.yml中直接引用)
1 | # my global config |
neusoft.json
1 | [ |
启动命令(指定端口–web.listen-address、指定数据存储位置–storage.tsdb.path)
1 | nohup /home/neusoft/sdkjg/installfiles/prometheus-2.42.0.linux-amd64/prometheus --config.file=/home/neusoft/sdkjg/installfiles/prometheus-2.42.0.linux-amd64/prometheus.yml --web.listen-address=':9190' --storage.tsdb.path="/mnt/data/neusoft/sdkjg/app/data" > /var/log/prometheus.log 2>&1 & |
3.node_export
node-exporter用于采集服务器层面的运行指标,包括机器的loadavg、filesystem、meminfo等基础监控
启动命令(指定端口–web.listen-address)
1 | nohup /home/neusoft/sdkjg/installfiles/node_exporter --web.listen-address=':9100' > /var/log/node_exporter.log 2>&1 & |
4.promtail
Promtail 将本地日志内容传送到 Loki 实例
配置文件
- 微服务
1 | server: |
- nginx
1 | server: |
格式化nginx出输出日志
1 | log_format json_analytics escape=json '{' |
启动命令
1 | nohup /home/neusoft/sdkjg/installfiles/promtail-linux-amd64 -config.file=/home/neusoft/sdkjg/installfiles/promtail-local-config-linux.yaml > /var/log/promtail.log 2>&1 & |
5.loki
Loki是 Grafana Labs 团队最新的开源项目,是一个水平可扩展,高可用性,多租户的日志聚合系统。
Loki日志系统由以下3个部分组成:
- loki是主服务器,负责存储日志和处理查询。
- promtail是专为loki定制的代理,负责收集日志并将其发送给 loki 。
- Grafana用于 UI展示。
配置文件
- 微服务
1 | auth_enabled: false |
- nginx
1 | auth_enabled: false |
启动命令
1 | nohup /home/neusoft/sdkjg/installfiles/loki-linux-amd64 -config.file=/home/neusoft/sdkjg/installfiles/loki-local-config-linux.yaml > /var/log/loki.log 2>&1 & |
6.grafana监控
将各监控节点作为数据源配置到grafana平台,在dashboard显示监控大屏
服务器监控
nginx监控
redis监控

