您当前的位置:首页 > 电脑百科 > 网络技术 > 网络技术

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

时间:2020-06-15 20:28:14  来源:  作者:
CentOS7下简单搭建Prometheus+Grafana监控系统

 

​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监控系统

 

Prometheus 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.gz

2)node_exporter-0.18.1.linux-amd64.tar.gz

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

 


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

 

grafana官网下载
:https://grafana.com/grafana/download

3)https://dl.grafana.com/oss/release/grafana-6.7.3-1.x86_64.rpm

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

 

上传安装包到CentOS7服务器上

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

 

2、安装并配置prometheus服务端

groupadd prometheus

useradd -g prometheus -m -d /opt/prometheus/ -s /sbin/nologin prometheus

tar -zxf /data/prometheus-2.17.2.linux-amd64.tar.gz -C /opt

cd /opt/

mv prometheus-2.17.2.linux-amd64/* prometheus

cd prometheus

chown -R prometheus *

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

 

prometheus配置文件语法校验方法

./promtool check config prometheus.yml

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

 

先采用默认配置启动Prometheus Server

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

 

登录Prometheus Server的Web界面http://192.168.31.80:9090可以看到只有一个
Targets:http://127.0.0.1:9090/metrics

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

 

设置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监控系统

 

启动参数说明:

--config.file -- 指明prometheus的配置文件路径

--web.enable-lifecycle -- 指明prometheus配置更改后可以进行热加载

--storage.tsdb.path -- 指明监控数据存储路径

--storage.tsdb.retention --指明数据保留时间

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

systemctl daemon-reload

systemctl enable prometheus.service

systemctl start prometheus.service

systemctl status prometheus.service

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

 

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

排错

/opt/prometheus下data目录属主不对导致

解决办法:chown -R prometheus:prometheus *

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

 

3、安装node_exporter

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

cd /data

tar -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_exporter

cd node_exporter/

ll -trh

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

 

创建系统服务

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监控系统

 

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

systemctl enable node_exporter.service

systemctl start node_exporter.service

systemctl status node_exporter.service

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

 

启动成功,测试API访问

http://192.168.31.80:9100/metrics

能正常返回数据说明node_exporter正常

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

 

并将其加入prometheus.yml配置文件中

- job_name: 'CentOS7_VMServer'

static_configs:

- targets: ['192.168.31.80:9100']

然后重启服务

systemctl restart prometheus.service

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

 

这是再登录prometheus 的Web界面可以看到新增的这个Target

http://192.168.31.80:9090/targets

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

 

4、安装Grafana图形化工具包

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

 

缺少组件包的情况,使用

yum localinstall grafana-6.7.3-1.x86_64.rpm

systemctl enable grafana-server.service

systemctl start grafana-server.service

systemctl status grafana-server.service

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

 

5、配置数据源并添加Dashboard

1)、登录grafana,默认端口3000,初始账号/密码:admin/admin

http://192.168.31.80:3000/

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

 


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

 

2)添加数据源

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

 

示例:Name CentOS7_VM_Prometheus

URL :http://192.168.31.80:9090

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

 

3)添加一个DashBoard,Import 例如8919 ID这个

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

 


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

 


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

 


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

 

效果如下(点击图片查看清晰大图)

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

 

总结:

  • 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 需要手动修改文件配置。


Tags:监控系统   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
监控系统硬盘怎么选择?常见的有绿盘、蓝盘、紫盘、黑盘、红盘分别代表了什么?有哪些不同呢?今天我们就来聊聊这个话题。在监控安装过程中,录像存储大多都是采用监控硬盘存储的。...【详细内容】
2021-09-22  Tags: 监控系统  点击:(181)  评论:(0)  加入收藏
Prometheus 是一款基于时序数据库的开源监控告警系统,说起 Prometheus 则不得不提 SoundCloud,这是一个在线音乐分享的平台,类似于做视频分享的 YouTube,由于他们在微服务架构的...【详细内容】
2021-08-26  Tags: 监控系统  点击:(60)  评论:(0)  加入收藏
一、手机APP远程监控PLC的意义: 随着网络技术和智能手机快速发展,远程通过手机APP对设备系统的控制单元PLC的运行进行远程预警监控的技术已经非常成熟。基于手机APP的PLC远程...【详细内容】
2021-08-25  Tags: 监控系统  点击:(116)  评论:(0)  加入收藏
监控系统在这里特指对数据中心的监控,主要针对数据中心内的硬件和软件进行监控和告警。企业的 IT 架构逐步从传统的物理服务器,迁移到以虚拟机为主导的 IaaS 云。无论基础架构...【详细内容】
2021-07-12  Tags: 监控系统  点击:(183)  评论:(0)  加入收藏
前言在GitHub上发现一个好玩的项目,不用安装其它任何依赖包,只要运行一个Python脚本就可以在局域网构建一个视频监控系统。果断试了一下,确实挺好玩的,现在分享给大家。 搭建方...【详细内容】
2021-03-16  Tags: 监控系统  点击:(172)  评论:(0)  加入收藏
WGCLOUD-v3.3.0更新说明,2021-01-261.新增,进程管理新增流量(读取/写入)指标2.新增,主机所有网卡流量(接收/发送)指标3.新增,数据源连接恢复后,发送恢复通知4.新增,win监控主机支...【详细内容】
2021-01-28  Tags: 监控系统  点击:(187)  评论:(0)  加入收藏
一、LibreNMS简单介绍LibreNMS是一款开源的,功能强大且功能丰富的自动发现的网络监控系统,基于PHP,使用SNMP协议。它支持广泛的操作系统,包括Linux,FreeBSD以及思科,Juniper,Broca...【详细内容】
2021-01-12  Tags: 监控系统  点击:(389)  评论:(0)  加入收藏
前言:大家好,我是薛哥。最近有很多读者咨询我,关于监控系统中IP地址如何选择?如何分配的问题,今天给一些刚入行的新人来讲解一些这方面的问题,分为三种情况,分包为小型的监控系统、...【详细内容】
2020-10-28  Tags: 监控系统  点击:(122)  评论:(0)  加入收藏
web项目性能很重要,开发迭代过程中难免会有所忽视,性能会伴随产品的迭代而有所衰减。特别在移动端,网络一直是一个很大的瓶颈,而页面却越来越大,功能越来越复杂。并没有简单的几...【详细内容】
2020-08-26  Tags: 监控系统  点击:(691)  评论:(0)  加入收藏
在DevOps和SRE流行的今天,在开发可靠性或实施DevOps实践时,企业决策的核心是统计数据。而企业数据信息中最重要的一环就是线上业务的监控信息,如果没有业务运行时间,网络负载和...【详细内容】
2020-08-10  Tags: 监控系统  点击:(54)  评论:(0)  加入收藏
▌简易百科推荐
写一个shell获取本机ip地址、网关地址以及dns信息。经常会遇到取本机ip、网关、dns地址,windows一个命令ipconfig /all全部获取到,但linux系统却并非如此。linux系统都自带ifc...【详细内容】
2021-12-27  K佬食古    Tags:shell   点击:(2)  评论:(0)  加入收藏
步骤1、配置 /etc/sysconfig/network-scripts/ifcfg-eth0 里的文件。it动力的CentOS下的ifcfg-eth0的配置详情:[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifc...【详细内容】
2021-12-24  忆梦如风    Tags:网卡   点击:(10)  评论:(0)  加入收藏
1、查找当前目录下所有以.tar结尾的文件然后移动到指定目录find . -name “*.tar” -execmv {}./backup/ ;注解:find –name 主要用于查找某个文件名字,-exec 、xargs可...【详细内容】
2021-12-17  郭主任    Tags:运维   点击:(20)  评论:(0)  加入收藏
对于经常上网的朋友来说,除了手机购物上网,pc端玩网页游戏还是很多小伙伴首选的,但是有时候明明宽带链接上了,打开浏览器却出现上不了网的现象,下面小编要来跟大家说说电脑有网络...【详细内容】
2021-12-16  小白系统    Tags:网页无法打开   点击:(28)  评论:(0)  加入收藏
在访问像github、gitlab这样的外国网站时,很有可能会出现页面加载不出来或找不到页面的错误。这时候有的朋友就会以为是网络的问题,于是把Wifi断掉连上自己手机的热点,结果却还...【详细内容】
2021-12-15  启施技术IT狼叔    Tags:外网   点击:(16)  评论:(0)  加入收藏
网络地址来源:获取公网IP地址 https://ipip.yy.com/get_ip_info.phphttp://pv.sohu.com/cityjson?ie=utf-8http://www.ip168.com/json.do?view=myipaddress...【详细内容】
2021-12-15  韦廷华12    Tags:外网ip   点击:(15)  评论:(0)  加入收藏
准备好软件IPOP、用ENSP模拟一下华为交换机 启动交换机 <Huawei>sysEnter system view, return user view with Ctrl+Z.[Huawei]sysname FTPClient[FTPClient]interface vla...【详细内容】
2021-12-15  思源Edward    Tags:交换机   点击:(24)  评论:(0)  加入收藏
我们经常用到netstat命令查看主机连接状况,包括连接ip、端口、状态等,今天就练习下shell分析netsat结果。描述假设netstat命令运行的结果我们存储在nowcoder.txt里,格式如下:Pro...【详细内容】
2021-12-14  K佬食古    Tags:netstat   点击:(19)  评论:(0)  加入收藏
什么是滑动窗口?窗口是操作系统开辟的一块缓存空间,发送方在收到接收方ACK应答之前,必须在缓冲区保留已发送的数据,如果按期收到确认应答,数据就可以从缓冲区移除。什么是滑动窗...【详细内容】
2021-12-14  DifferentJava    Tags:TCP   点击:(30)  评论:(0)  加入收藏
概述日常管理华为路由设备过程中,难为会忘记设备登录密码,那么该如何重置设备登录密码吗?本期文章将全面向各位小伙伴总结分享。重置华为设备登录密码思路先行 采用console登录...【详细内容】
2021-12-10  onme0    Tags:   点击:(27)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条