0
点赞
收藏
分享

微信扫一扫

CentOS7下简单搭建Prometheus+Grafana监控系统

小北的爹 2022-03-11 阅读 34

CentOS7下简单搭建Prometheus+Grafana监控系统_centos

Prometheus is an open-source systems monitoring and alerting toolkit originally built at SoundCloud.

1、Features

Prometheus's main features are:


  • a multi-dimensional data model with time series data identified by metric name and key/value pairs
  • PromQL, a flexible query language to leverage this dimensionality
  • no reliance on distributed storage; single server nodes are autonomous
  • time series collection happens via a pull model over HTTP
  • pushing time series is supported via an intermediary gateway
  • targets are discovered via service discovery or static configuration
  • multiple modes of graphing and dashboarding support

2、Components

The Prometheus ecosystem consists of multiple components, many of which are optional:


  • the main Prometheus server which scrapes and stores time series data
  • client libraries for instrumenting application code
  • a push gateway for supporting short-lived jobs
  • special-purpose exporters for services like HAProxy, StatsD, Graphite, etc.
  • an alertmanager to handle alerts
  • various support tools

Most Prometheus components are written in Go, making them easy to build and deploy as static binaries.

3、Architecture

This diagram illustrates the architecture of Prometheus and some of its ecosystem components:CentOS7下简单搭建Prometheus+Grafana监控系统_centos_02Prometheus scrapes metrics from instrumented jobs, either directly or via an intermediary push gateway for short-lived jobs. It stores all scraped samples locally and runs rules over this data to either aggregate and record new time series from existing data or generate alerts. Grafana or other API consumers can be used to visualize the collected data.

下面介绍CentOS7下简单搭建Prometheus+Grafana监控系统1、先官网下载安装包​​https://prometheus.io/download/​​1)prometheus-2.17.2.linux-amd64.tar.gz2)node_exporter-0.18.1.linux-amd64.tar.gzCentOS7下简单搭建Prometheus+Grafana监控系统_linux_03CentOS7下简单搭建Prometheus+Grafana监控系统_配置文件_04grafana官网下载:https://grafana.com/grafana/download3)https://dl.grafana.com/oss/release/grafana-6.7.3-1.x86_64.rpmCentOS7下简单搭建Prometheus+Grafana监控系统_配置文件_05上传安装包到CentOS7服务器上

CentOS7下简单搭建Prometheus+Grafana监控系统_centos_06

2、安装并配置prometheus服务端​groupadd prometheususeradd -g prometheus -m -d /opt/prometheus/ -s /sbin/nologin prometheustar -zxf /data/prometheus-2.17.2.linux-amd64.tar.gz -C /optcd /opt/mv prometheus-2.17.2.linux-amd64/* prometheuscd prometheuschown -R prometheus *CentOS7下简单搭建Prometheus+Grafana监控系统_centos_07

prometheus配置文件语法校验方法./promtool check config prometheus.ymlCentOS7下简单搭建Prometheus+Grafana监控系统_linux_08

先采用默认配置启动Prometheus ServerCentOS7下简单搭建Prometheus+Grafana监控系统_linux_09登录Prometheus Server的Web界面http://192.168.31.80:9090可以看到只有一个Targets:http://127.0.0.1:9090/metricsCentOS7下简单搭建Prometheus+Grafana监控系统_配置文件_10

设置Prometheus为系统服务,并配置为开机自启动

touch /usr/lib/systemd/system/prometheus.service

chown prometheus:prometheus /usr/lib/systemd/system/prometheus.service

vi /usr/lib/systemd/system/prometheus.service

并加入如下配置

[Unit]

Description=Prometheus

Documentation=https://prometheus.io/

After=network.target

[Service]

Type=simple

User=prometheus

ExecStart=/opt/prometheus/prometheus --config.file=/opt/prometheus/prometheus.yml --web.enable-lifecycle --storage.tsdb.path=/opt/prometheus/data --storage.tsdb.retention=60d

Restart=on-failure

[Install]

WantedBy=multi-user.target

CentOS7下简单搭建Prometheus+Grafana监控系统_linux_11启动参数说明:

--config.file -- 指明prometheus的配置文件路径--web.enable-lifecycle -- 指明prometheus配置更改后可以进行热加载--storage.tsdb.path -- 指明监控数据存储路径--storage.tsdb.retention --指明数据保留时间

启动服务,并设置为开机自启动

systemctl daemon-reloadsystemctl enable prometheus

.servicesystemctl start prometheus.service 

systemctl status prometheus.serviceCentOS7下简单搭建Prometheus+Grafana监控系统_配置文件_12

可以看到已经报错了,服务未正常启动

排错

/opt/prometheus下data目录属主不对导致解决办法:chown -R prometheus:prometheus *CentOS7下简单搭建Prometheus+Grafana监控系统_配置文件_133、安装node_exporter

比如就在该服务器上安装node_exporter

cd /datatar -zxf node_exporter-0.18.1.linux-amd64.tar.gz -C /usr/local/cd /usr/local/mv node_exporter-0.18.1.linux-amd64 node_exportercd node_exporter/ll -trhCentOS7下简单搭建Prometheus+Grafana监控系统_centos_14

CentOS7下简单搭建Prometheus+Grafana监控系统_配置文件_15

创建系统服务

touch /usr/lib/systemd/system/node_exporter.service  

chown prometheus:prometheus /usr/lib/systemd/system/node_exporter.service  

chown -R prometheus:prometheus /usr/local/node_exporter*  

vi /usr/lib/systemd/system/node_exporter.service

加入如下行

[Unit]

Description=node_exporter

After=network.target

[Service]

Type=simple

User=prometheus

ExecStart=/usr/local/node_exporter/node_exporter

Restart=on-failure

[Install]

WantedBy=multi-user.target

CentOS7下简单搭建Prometheus+Grafana监控系统_配置文件_15

启动node_exporter并设置为开启自启动

systemctl enable node_exporter.servicesystemctl start node_exporter.servicesystemctl status node_exporter.serviceCentOS7下简单搭建Prometheus+Grafana监控系统_centos_17启动成功,测试API访问

​​http://192.168.31.80:9100/metrics​​能正常返回数据说明node_exporter正常

CentOS7下简单搭建Prometheus+Grafana监控系统_centos_18并将其加入prometheus.yml配置文件中

  - job_name: 'CentOS7_VMServer'      static_configs:    - targets: ['192.168.31.80:9100']然后重启服务

 systemctl restart prometheus.serviceCentOS7下简单搭建Prometheus+Grafana监控系统_centos_19这是再登录prometheus 的Web界面可以看到新增的这个Target​​http://192.168.31.80:9090/targets​​CentOS7下简单搭建Prometheus+Grafana监控系统_linux_204、安装Grafana图形化工具包

CentOS7下简单搭建Prometheus+Grafana监控系统_linux_21缺少组件包的情况,使用

yum localinstall grafana-6.7.3-1.x86_64.rpm systemctl enable grafana-server.servicesystemctl start grafana-server.servicesystemctl status grafana-server.serviceCentOS7下简单搭建Prometheus+Grafana监控系统_linux_225、配置数据源并添加Dashboard​1)、登录grafana,默认端口3000,初始账号/密码:admin/admin

​​http://192.168.31.80:3000/​​CentOS7下简单搭建Prometheus+Grafana监控系统_linux_23CentOS7下简单搭建Prometheus+Grafana监控系统_centos_242)添加数据源

CentOS7下简单搭建Prometheus+Grafana监控系统_配置文件_25示例:Name CentOS7_VM_PrometheusURL :http://192.168.31.80:9090CentOS7下简单搭建Prometheus+Grafana监控系统_centos_263)添加一个DashBoard,Import 例如8919 ID这个

CentOS7下简单搭建Prometheus+Grafana监控系统_centos_27CentOS7下简单搭建Prometheus+Grafana监控系统_linux_28CentOS7下简单搭建Prometheus+Grafana监控系统_linux_29CentOS7下简单搭建Prometheus+Grafana监控系统_centos_30效果如下(点击图片查看清晰大图)

CentOS7下简单搭建Prometheus+Grafana监控系统_linux_31总结:


  • Prometheus 属于一站式监控告警平台,依赖少,功能齐全。
  • Prometheus 支持对云或容器的监控,其他系统主要对主机监控。
  • Prometheus 数据查询语句表现力更强大,内置更强大的统计函数。
  • Prometheus 在数据存储扩展性以及持久性上没有 InfluxDB,OpenTSDB,Sensu 好

Prometheus vs Zabbix


  • Zabbix 使用的是 C 和 PHP, Prometheus 使用 Golang, 整体而言 Prometheus 运行速度更快一点。
  • Zabbix 属于传统主机监控,主要用于物理主机,交换机,网络等监控,Prometheus 不仅适用主机监控,还适用于 Cloud, SaaS, Openstack,Container 监控。
  • Zabbix 在传统主机监控方面,有更丰富的插件。
  • Zabbix 可以在 WebGui 中配置很多事情,但是 Prometheus 需要手动修改文件配置。


举报

相关推荐

0 条评论