700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Prometheus监控系统+Grafana可视化工具搭建

Prometheus监控系统+Grafana可视化工具搭建

时间:2018-06-27 14:22:56

相关推荐

Prometheus监控系统+Grafana可视化工具搭建

目录

一、Prometheus监控简介

二、Grafana可视化监控简介

三、Prometheus监控服务端(默认端口:9090)

四、Prometheus监控之node_exporter(默认端口9100)

五、Prometheus监控之Alertmanager(默认端口9093)

六. Prometheus监控之MySQL(默认端口9104)

七. Prometheus监控之Redis(默认端口9121)

八. Prometheus监控之Nacos(默认端口8848)

九. Prometheus监控之Sprinboot(默认端口8080)

十、Prometheus监控之Grafana(默认端口3000)

十一、Grafana监控之邮件报警

​ 十二、Prometheus常用node节点

十三、Grafana常用监控模板大全

一、Prometheus监控简介

1、市场上主流的开源监控系统基本都是这个流程:

l 数据采集:对监控数据采集

l 数据存储:将监控数据持久化存储,用于历时查询

l 数据分析:数据按需处理,例如阈值对比、聚合

l 数据展示:Web页面展示

l 监控告警:电话,邮件,微信,短信

监控系统的Prometheus类似于一个注册中心,我们可以只需要配置一个Prometheus,而在其他服务器,只需要安装node_exporter,它们的数据流转就是通过exporter采集数据信息,然后告诉prometheus它的位置,在promethues控制端就可以看到监控信息。

2、常用的node节点:

node_exporter 默认端口:9100 //系统级别的监控(如:服务器信息,cup,内存,硬盘,网络等)

mysql默认端口:9104 //mysql监控节点

redis 默认端口:9121 //redis监控节点

alertmanager默认端口:9093 //警告监控节点

3、可参考文档:Grafana监控系统之Prometheus+Grafana监控系统搭建_暗余的博客-CSDN博客_grafana监控

可参考:prometheus-简介及安装 - 云+社区 - 腾讯云

二、Grafana可视化监控简介

Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。它主要有以下六大特点:

展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;

数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;

通知提醒:以可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时通过Slack、PagerDuty等获得通知;

混合展示:在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源;

注释:使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记;

过滤器:Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。

而Prometheus则存储exporter的信息供Grafana询问;Grafana则负责信息的展示;所以可以只配置一个Prometheus,而其他服务器或者本机的服务器的exporter只需要在这一个Promethes中给出它的job_name,targets地址等信息即可;

简单来讲,它是一个多用途的监控工具,同时通过邮件等方式进行有效的预警通知,丰富的直观的可视化界面,多种数据源配置是其优点所在;Prometheus作为一个中间点,而Grafana作为可视化展示,后面的exporter作为监控,exporter将需要获取的数据获取并连接到Prometheus,而Prometheus连接到Grafana,直观展示被监控者状态;

三、Prometheus监控服务端(默认端口:9090)

1、prometheus服务端安装

官网下载地址:Download | Prometheus

演示链接下载:/prometheus/prometheus/releases/download/v2.33.3/prometheus-2.33.3.linux-amd64.tar.gz

2、下载版本并解压到指定目录

[root@CentOS7-0001 install]# wget -r -p -np -k -nc -c /prometheus/prometheus/releases/download/v2.33.3/prometheus-2.33.3.linux-amd64.tar.gz[root@CentOS7-0001 install]# tar -zxvf prometheus-2.33.3.linux-amd64.tar.gz -C /srv/thinkive/software

3、配置文件修改

prometheus安装目录下的prometheus.yml为配置文件,配置文件是 yaml 格式的,分为 global、alerting、rule_files 和 scrape_configs 四部分:

global :全局参数配置 ;

alerting :告警服务地址;

rule_files :告警和记录规则;

scrape_configs :数据采集地址

其中 rule_files 和 scrape_configs 是重点,后者支持多种动态发现方式,更复杂一些。

4、默认配置即可参考配置。

#全局配置 global: scrape_interval:15s # 设置抓取间隔,默认为1分钟 evaluation_interval: 15s #估算规则的默认周期,每15秒计算一次规则。默认1分钟 # scrape_timeout #默认抓取超时,默认为10s #Alertmanager告警相关配置 alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 #规则文件列表,使用'evaluation_interval' 参数去抓取 rule_files: #- "first_rules.yml" #- "second_rules.yml" # 抓取配置列表 scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['192.168.65.56:9090']

5、进入prometheus目录启动

[root@CentOS7-0001 /]# cd /srv/thinkive/software/prometheus-2.33.3/[root@CentOS7-0001 prometheus-2.33.3]# ./prometheus --config.file=prometheus.yml

6、常用命令扩展:

[root@CentOS7-0001 prometheus-2.33.3]# ../prometheus --config.file=prometheus.yml //前台启动[root@CentOS7-0001 prometheus-2.33.3]# nohup ./prometheus --config.file=prometheus.yml --web.enable-lifecycle > prometheus.out 2>&1 & //后台启动[root@CentOS7-0001 prometheus-2.33.3]# ./promtool check config prometheus.yml//检测配置文件[root@CentOS7-0001 prometheus-2.33.3]# curl -X POST http://127.0.0.1:9090/-/quit // 优雅关闭[root@CentOS7-0001 prometheus-2.33.3]# curl -X POST http://127.0.0.1:9090/-/reload //热加载[root@CentOS7-0001 prometheus-2.33.3]# netstat -lnp | grep 9090 // 查看运行状态[root@CentOS7-0001 prometheus-2.33.3]# curl http://127.0.0.1:9090/metrics //crul测试

7、访问验证

安装并启动prometheus后,.浏览器输入 http://192.168.65.56:9090/graph 来访问prometheus,出现可视化界面代表安装成功。

8、将prometheus设置成系统服务

8.1.将Prometheus做成软连接的形式

[root@CentOS7-0001 prometheus-2.33.3]# ln -s /srv/thinkive/software/prometheus-2.33.3 /usr/local/prometheus

8.2.创建Prometheus数据存储目录

[root@CentOS7-0001 prometheus-2.33.3]# mkdir -p /var/lib/prometheus

8.3、将Prometheus加入到系统管理程序中

在/etc/systemd/system/目录下新建prometheus.service文件,写入内容,复制执行即可

[root@CentOS7-0001 prometheus-2.33.3]# cat >/etc/systemd/system/prometheus.service <<EOF[Unit]Description=PrometheusDocumentation=https://prometheus.io/After=network.target[Service]Type=simple# --storage.tsdb.path是可选项,默认数据目录在运行目录的./dada目录中ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheusRestart=on-failure[Install]WantedBy=multi-user.targetEOF

8.4、启动prometheus服务

[root@CentOS7-0001 system]# systemctl daemon-reload //重新加载系统服务[root@CentOS7-0001 system]# systemctl start prometheus.service //启动prometheus服务

四、Prometheus监控之node_exporter(默认端口9100)

可以在github的release中对最新版本右键获取下载链接

1、下载版本并解压到指定目录

[root@CentOS7-0001 install]#wget -r -p -np -k -nc -c /prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz[root@CentOS7-0001 install]# tar -zxvf node_exporter-0.17.0.linux-amd64.tar.gz -C /srv/thinkive/software/​

2、进入node_exporter目录启动

[root@CentOS7-0001 /]# cd /srv/thinkive/software/node_exporter-0.17.0.linux-amd64/[root@CentOS7-0001 node_exporter-0.17.0.linux-amd64]# lsLICENSE node_exporter nohup.out NOTICE[root@CentOS7-0001 node_exporter-0.17.0.linux-amd64]# ./node_exporter

可以使用nohup后台启动。

3、访问验证

安装并启动node_exporter后,默认端口9100,可以执行命令:curl http://l192.168.65.56/metrics验证,有数据返回表示正常。

4、Prometheus的配置文件中加上这个exporter的地址

进入到Prometheus安装目录

[root@CentOS7-0001 /]# cd /srv/thinkive/software/prometheus-2.33.3/

编辑配置文件prometheus.yml

scrape_configs节点下添加target,如下内容:

- job_name: 'server56'static_configs:- targets: ['192.168.65.56:9100']

5、重启Prometheus查看监控数据信息

可在Prometheus中查看监控的信息:http://192.168.65.56:9090/graph,

grafana监控redis常用模板:8919

五、Prometheus监控之Alertmanager(默认端口9093)

告警能力在Prometheus的架构中被划分成两个独立的部分。通过在Prometheus中定义AlertRule(告警规则),Prometheus会周期性的对告警规则进行计算,如果满足告警触发条件就会向Alertmanager发送告警信息,Prometheus负责产生告警,而Alertmanager负责告警产生后的后续处理。因此Alertmanager部署完成后,需要在Prometheus中设置Alertmanager相关的信息。

1、下载版本并解压到指定目录

​[root@CentOS7-0001 install]# wget -r -p -np -k -nc -c /prometheus/alertmanager/releases/download/v0.22.1/alertmanager-0.22.1.linux-amd64.tar.gz[root@CentOS7-0001 install]# tar -zxvf node_exporter-0.17.0.linux-amd64.tar.gz -C /srv/thinkive/software/

2、进入Alertmanager目录启动

指定配置文件启动:

用户也在启动Alertmanager时使用参数修改相关配置。

--config.file用于指定alertmanager配置文件路径,

--storage.path用于指定数据存储路径。

[root@CentOS7-0001 alertmanager-0.22.1.linux-amd64]# ./alertmanager --config.file=alertmanager.yml --storage.path=data/

其他启动方式:

[root@CentOS7-0001 alertmanager-0.22.1.linux-amd64]# ./alertmanager //普通启动[root@CentOS7-0001 alertmanager-0.22.1.linux-amd64]# nohup ./alertmanager & //后台启动

3、验证安装

[root@CentOS7-0001 alertmanager-0.22.1.linux-amd64]# netstat -lnp | grep 9093

访问验证:http://192.168.65.56:9093

4、将Alertmanager增加到Prometheus中

alerting节点配置Alertmanager地址,rule_files节点打开first_rules.yml配置

alerting:alertmanagers:- static_configs:- targets: ['192.168.65.56:9093']# 打开rule_files(告警规则)中first_rules的注释rule_files:- "first_rules.yml"# - "second_rules.yml"

5、新增Alertmanager安装目录下增加first_rules.yml配置

groups:- name: test-rulerules:- alert: "测试报警"expr: (go_memstats_frees_total > 10000000)for: 1mlabels:severity: 警告annotations: summary: "{{ $labels.alertname }}"description: "{{ $labels.alertname }}测试报警"value: "{{ $value }}"

6、重启prometheus登录验证

配好后保存重启Prometheus,访问:http://192.168.65.56:9090/graph点击Alters,如果显示有数据,则说明已经配置好了。

六. Prometheus监控之MySQL(默认端口9104)

1、下载sql并解压到指定目录

[root@CentOS7-0002 install]# wget /john1337/my2Collector/zip/master[root@CentOS7-0002 install]# unzip -d /root masterArchive: master12373a44941bd587926fcece1d9baac84d79e703creating: /root/my2Collector-master/inflating: /root/my2Collector-master/LICENSEinflating: /root/my2Collector-master/README.mdinflating: /root/my2Collector-master/my2.sql

2、登录mysql并导入sql

使用命令登录mysql,mysql -u用户名 -p密码

[root@CentOS7-0002 install]# mysql -uroot -proot

使用命令导入sql文件

mysql> source /root/my2Collector-master/my2Collector-master/my2.sql

3、下载mysqld_exporter并解压到指定目录

[root@CentOS7-0002 install]# wget -r -p -np -k -nc -c /prometheus/mysqld_exporter/releases/download/v0.10.0/mysqld_exporter-0.10.0.linux-amd64.tar.gz[root@CentOS7-0002 install]# tar -xvf mysqld_exporter-0.10.0.linux-amd64.tar.gz -C /srv/thinkive/software/​

4、新建配置文件

进入到mysqld_exporter安装目录,新建f配置文件,增加如下信息:

[client]user=rootpassword=AaZz123456

账号密码只要连接得上mysql即可,也可单独为其分配账号;

5、启动mysqld_exporter并验证

root@CentOS7-0002 mysqld_exporter-0.10.0]# ./mysqld_exporter -config.my-cnf="f" &

验证地址:

[root@CentOS7-0002 mysqld_exporter-0.10.0]# curl http://192.168.65.166:9104​

6、将mysqld_exporter增加到Prometheus中

Prometheus.yml配置中增加如下配置:

- job_name: 'mysql166'static_configs:- targets: ['192.168.65.166:9104']

7、重启prometheus登录验证

配好后保存重启Prometheus,然后点击Status->Targets,如果发现mysql的State为Up 状态,则说明已经配置好了如果没有配置好,则可以注意一下是否mysql开启了远程访问,一般新安装的msyql都是仅本机可访问;grafana监控mysql常用模板:9362

七. Prometheus监控之Redis(默认端口9121)

1、下载redis_exporter并解压到指定目录

[root@CentOS7-0002 install]# wget -r -p -np -k -nc -c /oliver006/redis_exporter/releases/download/v1.0.3/redis_exporter-v1.0.3.linux-amd64.tar.gz[root@CentOS7-0002 install]# tar -zxvf redis_exporter-v1.0.3.linux-amd64.tar.gz -C /srv/thinkive/software/

2、启动 Redis_exporter

[root@CentOS7-0002 redis_exporter-v1.0.3.linux-amd64]# ./redis_exporter redis//192.168.65.166:6379 & //无密码启动[root@CentOS7-0002 redis_exporter-v1.0.3.linux-amd64]# ./redis_exporter -redis.addr 192.168.65.166:6379 -redis.password 123456 //有密码启动

IP端根据实际来,实际的redis服务的ip和端口

3、将redis_exporter增加到Prometheus中

Prometheus安装目录配置文件Prometheus.yml配置中增加如下内容

- job_name: 'redis166'static_configs:- targets: ['192.168.65.166:9121']

4、重启prometheus登录验证

配好后保存重启Prometheus,然后点击Status->Targets,如果redis的State为Up 状态,则说明已经配置好了如果没有配置好,grafana监控redis常用模板:763

八. Prometheus监控之Nacos(默认端口8848)

Nacos 0.8.0版本完善了监控系统,自动支持通过暴露metrics数据接入第三方监控系统监控Nacos运行状态,无需安装exports节点,默认metrics数据接入是关闭的。

1、开启nacos的metrics数据接入

nacos的application.properties文件中,打开以下配置,默认是注释的,然后重启nacos

management.endpoints.web.exposure.include=*

2、验证nacos的metrics数据接入是否暴露

访问地址:http://192.168.65.56:8848/nacos/actuator/prometheus,如有数据表示已经暴露

3、将Nacos 增加到Prometheus中

Prometheus安装目录配置文件Prometheus.yml配置中增加如下内容

# # 任务名称- job_name: 'nacos'# 访问收集数据的路径metrics_path: '/nacos/actuator/prometheus'# 监控的节点static_configs:# 节点地址集群的话配置多个用逗号隔开- targets: ['192.168.65.56:8848']

4、重启prometheus登录验证

配好后保存重启Prometheus,然后点击Status->Targets,如果nacos的State为Up 状态,则说明已经配置好了如果没有配置好,grafana监控nacos常用模板:13221

九. Prometheus监控之Sprinboot(默认端口8080)

市面上的springboot项目基本都是基于此actutor做监控的。或者是直接用或者是代理一层做的,所以说prometheus的监控也是通过此包进行的,所以说上边我们不仅要导入actuator这个包还要导入prometheus的包,因为prometheus是对actuator进行一层代理。

1、Springboot添加监控依赖jar包

<!--性能监控、健康检查 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!-- Prometheus 监控统计开发包 --><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-core</artifactId></dependency><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId><exclusions><exclusion><artifactId>simpleclient</artifactId><groupId>io.prometheus</groupId></exclusion></exclusions></dependency>

2、暴露springboot项目的监控点,增加如下配置

###Prometheus 监控配置management:endpoints:web:exposure:## 暴露所有的actuator endpointsinclude: "*"metrics:tags:## promethues上的应用名字application: ${spring.application.name}

3、启动项目验证

启动后访问:http://192.168.65.56:8011/springboot-demo-0001/actuator/prometheus 可以看到监控信息,(IP端口根据实际情况来)

4、将Springboot 增加到Prometheus中

Prometheus安装目录配置文件Prometheus.yml配置中增加如下内容

# 任务名称Springboot- job_name: 'springboot-demo-0001'# 访问收集数据的路径metrics_path: '/springboot-demo-0001/actuator/prometheus'# 监控的节点static_configs:# 节点地址集群的话配置多个用逗号隔开- targets: ['192.168.65.56:8011']

5、重启prometheus登录验证

配好后保存重启Prometheus,然后点击Status->Targets,如果springboot的State为Up 状态,则说明已经配置好了如果没有配置好,grafana监控springboot常用模板:6756,springcloud常用模板:12856

十、Prometheus监控之Grafana(默认端口3000)

可以在grafana管理中台引入prometheus

1、下载版本并解压到指定目录

grafana官网下载:Download Grafana | Grafana Labs

[root@CentOS7-0001 install]#wget -r -p -np -k -nc -c /enterprise/release/grafana-enterprise-8.4.1.linux-amd64.tar.gz[root@CentOS7-0001 install]# tar -zxvf grafana-enterprise-8.4.1.linux-amd64.tar.gz -C /srv/thinkive/software​

2、进入Grafana目录启动

[root@CentOS7-0001 /]# cd /srv/thinkive/software/grafana-8.4.1/bin/[root@CentOS7-0001 bin]# ./grafana-server web

可以使用nohup后台启动。

3、访问验证

安装并启动Grafana后,默认端口3000.浏览器输入 http://192.168.65.56:3000 来访问Grafana,管理员账号密码默认是admin/admin。首次登陆会让你修改管理员密码,然后就可以登录查看了。

登录之后可以在Grafana管理中台添加prometheus,具体操作这里不详细讲解

4、grafana常用模板导入

Prometheus监控之grafana常用模板编号记录 - 黑崎一护有头屑 - 博客园

十一、Grafana监控之邮件报警

1、配置文件修改

进入Grafana配置路径编辑文件defaults.ini

[root@CentOS7-0001 /]# /srv/thinkive/software/grafana-8.4.1/conf

:465是针对qq邮箱的,其他的邮箱的服务器不同,请做对应的改变,直接百度即可

2、保存退出进入Grafana目录重启

[root@CentOS7-0001 /]# cd /srv/thinkive/software/grafana-8.4.1/bin/[root@CentOS7-0001 bin]# ./grafana-server web

3、浏览器登录Grafana管理端配置告警

十二、Prometheus常用node节点

常用note节点下载地址:

1.node_exporter

用户监控节点虚拟机的指标信息。

下载地址:/prometheus/node_exporter/releases/download/v0.17.0-rc.0/node_exporter-0.17.0-rc.0.linux-386.tar.gz

2.jmx_exporter

下载地址:/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.3.1/jmx_prometheus_javaagent-0.3.1.jar

3.elasticsearch_exporter

下载地址:/justwatchcom/elasticsearch_exporter/releases/download/v1.0.4rc1/elasticsearch_exporter-1.0.4rc1.linux-386.tar.gz

4.redis_exporter

下载地址:/oliver006/redis_exporter/releases/download/v0.22.0/redis_exporter-v0.22.0.linux-386.tar.gz

5.mysqld_exporter

下载地址;/prometheus/mysqld_exporter/releases/download/v0.11.0/mysqld_exporter-0.11.0.linux-386.tar.gz

6.postgres_exporter

下载地址:/wrouesnel/postgres_exporter/releases/download/v0.4.7/postgres_exporter_v0.4.7_linux-amd64.tar.gz

7.mongodb_exporter

下载地址:/dcu/mongodb_exporter/releases/download/v1.0.0/mongodb_exporter-linux-amd64

8.statsd_exporter

下载地址:/prometheus/statsd_exporter/releases/download/v0.8.0/statsd_exporter-0.8.0.linux-amd64.tar.gz

9.mesos_exporter

下载地址:/mesos/mesos_exporter/releases/download/v1.1.1/mesos_exporter-1.1.1.linux-arm64.tar.gz

10.apache_exporter

下载地址:/Lusitaniae/apache_exporter/releases/download/v0.5.0/apache_exporter-0.5.0.linux-amd64.tar.gz

11.hadoop_exporter

下载地址:/wyukawa/hadoop_exporter

12.logstash_exporter

下载地址:/BonnierNews/logstash_exporter/archive/v0.1.2.tar.gz

13.sql_exporter

下载地址:/justwatchcom/sql_exporter/releases/download/v0.2.0/sql_exporter-0.2.0.linux-amd64.tar.gz

14.oracle_exporter

下载地址:/iamseth/oracledb_exporter/releases/download/0.0.8/oracledb_exporter.linux-amd64

15.zookeeper_exporter

下载地址1:/carlpett/zookeeper_exporter/releases/download/v1.0.1/zookeeper_exporter-1.0.1.linux-amd64.tar.gz

下载地址2:/carlpett/zookeeper_exporter/releases/download/v1.0.2/zookeeper_exporter

16.influxdb_exporter

下载地址:/prometheus/influxdb_exporter/releases/download/v0.1.0/influxdb_exporter-0.1.0.linux-amd64.tar.gz

17.zabbix_exporter

下载地址:/MyBook/zabbix-exporter/archive/1.0.2.tar.gz

18.opentsdb_exporter

下载地址:/cloudflare/opentsdb_exporter/archive/0.0.3.tar.gz

19.grafana_exporter

下载地址:/frodenas/grafana_exporter/releases/download/v0.1.0/grafana_exporter-0.1.0.linux-amd64.tar.gz

20.json_exporter

下载地址:/sciffer/json_exporter

十三、Grafana常用监控模板大全

Grafana常用监控模板大全 - 眈眈逐逐 - 博客园 ()

1.服务器系统性能监控:8919

2.微服务性能监控:4701

3.docker环境性能监控:893

4.nacos性能监控:13221

5.mysql性能监控:9362

6.elasticsearch:266

7.SpringBoot:6756,springcloud:12856

8、redis:763

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。