搭建Prometheus+grafana监控平台

搭建Prometheus+grafana监控平台

1、 Prometheus简介

Prometheus(由go语言(golang)开发)是一套开源的监控&报警&时间序列数据库的组合。适合监控docker容器。因为kubernetes(俗称k8s)的流行带动了prometheus的发展。

https://prometheus.io/docs/introduction/overview/

搭建Prometheus+grafana监控平台

从上图可发现,Prometheus整个生态圈组成主要包括prometheus server,Exporter,pushgateway,alertmanager,grafana,Web ui界面,Prometheus server由三个部分组成,Retrieval,Storage,PromQL
Retrieval负责在活跃的target主机上抓取监控指标数据
Storage存储主要是把采集到的数据存储到磁盘中
PromQL是Prometheus提供的查询语言模块。
prometheus工作流程:

1.Prometheus server可定期从活跃的(up)目标主机上(target)拉取监控指标数据,目标主机的监控数据可通过配置静态job或者服务发现的方式被prometheus server采集到,这种方式默认的pull方式拉取指标;也可通过pushgateway把采集的数据上报到prometheus server中;还可通过一些组件自带的exporter采集相应组件的数据;
2.Prometheus server把采集到的监控指标数据保存到本地磁盘或者数据库;
3.Prometheus采集的监控指标数据按时间序列存储,通过配置报警规则,把触发的报警发送到alertmanager
4.Alertmanager通过配置报警接收方,发送报警到邮件,微信或者钉钉等
5.Prometheus 自带的web ui界面提供PromQL查询语言,可查询监控数据
6.Grafana可接入prometheus数据源,把监控数据以图形化形式展示出

2、安装Prometheus

2.1 安装prometheus

在宿主机或者容器内安装prometheus

首先将以下四个相关安装包传入:

prometheus-2.23.0.linux-amd64.tar.gz
alertmanager-0.21.0.linux-amd64.tar.gz
grafana-7.3.6-1.x86_64.rpm
node_exporter-1.0.1.linux-amd64.tar.gz

进行prometheus的安装并进行软连接:

[root@lhrprometheus soft]# tar -zxvf  prometheus-2.23.0.linux-amd64.tar.gz -C /usr/local/
[root@lhrprometheus soft]# ln -s /usr/local/prometheus-2.23.0.linux-amd64 /usr/local/prometheus
[root@lhrprometheus soft]# ln -s /usr/local/prometheus/prometheus /usr/local/bin/prometheus

我们可以看到普罗米修斯已经在容器内安装成功:
搭建Prometheus+grafana监控平台
启动普罗米修斯:

[root@lhrprometheus prometheus]# prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/usr/local/prometheus/data/ --web.enable-lifecycle --storage.tsdb.retention.time=60d &

搭建Prometheus+grafana监控平台查看相关的9090端口是否已经启动:
搭建Prometheus+grafana监控平台通过登陆地址查看,普罗米修斯已经启动http://192.168.56.7:29090

搭建Prometheus+grafana监控平台
也可以通过此命令查看普罗米修斯是否可以获取一些数据:

[root@lhrprometheus soft]# curl localhost:9090/metrics

搭建Prometheus+grafana监控平台

3.监控Linux主机

在对应的宿主机安装node_exporter(要监控哪个机器,就安装在对应的机器内)

[root@lhrprometheus soft]# tar -zxvf node_exporter-1.0.1.linux-amd64.tar.gz

启动node_exporter

[root@lhrprometheus soft]# nohup /usr/local/bin/node_exporter &

搭建Prometheus+grafana监控平台默认端口9100
搭建Prometheus+grafana监控平台查看是否有数据返回

[root@lhrprometheus soft]# curl http://localhost:9100/metrics

搭建Prometheus+grafana监控平台
将普罗米修斯和node_exporter关联起来

# 添加到prometheus
vi /usr/local/prometheus/prometheus.yml

  - job_name: 'Linux'
    static_configs:
    - targets: ['localhost:9100']
      labels:
        instance: Linux_192.168.56.7

# 通过命令热加载,也可以直接“pkill prometheus”:

curl -XPOST http://localhost:9090/-/reload

搭建Prometheus+grafana监控平台可以看到普罗米修斯和node_exporter已经关联起来:
搭建Prometheus+grafana监控平台
搭建Prometheus+grafana监控平台
搭建Prometheus+grafana监控平台

4、安装grafana

4.1 grafana简介

Grafana是一个开源的度量分析和可视化工具,可以通过将采集的数据分析,查询,然后进行可视化的展示,并能实现报警。Grafana是一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,支持Graphite、zabbix、InfluxDB、Prometheus等数据源。

4.2 安装grafana

rpm -ivh grafana-7.3.6-1.x86_64.rpm
systemctl daemon-reload
systemctl enable grafana-server.service
systemctl start grafana-server.service
systemctl status grafana-server.service

搭建Prometheus+grafana监控平台
搭建Prometheus+grafana监控平台
搭建Prometheus+grafana监控平台将普罗米修斯加入grafana
搭建Prometheus+grafana监控平台
搭建Prometheus+grafana监控平台搭建Prometheus+grafana监控平台

搭建Prometheus+grafana监控平台

从以下地址下载监控模版:
https://grafana.com/grafana/dashboards?category=databases&dataSource=prometheus&direction=desc&orderBy=downloads&search=mysql

导入下载到本地的json模版或者通过外网直接导入模版ID:

搭建Prometheus+grafana监控平台

搭建Prometheus+grafana监控平台

搭建Prometheus+grafana监控平台

还可以更换模版

搭建Prometheus+grafana监控平台
搭建Prometheus+grafana监控平台
搭建Prometheus+grafana监控平台

上一篇:cube.js prometheus 监控


下一篇:CentOS7部署Prometheus