一、简介:

prometheus是谷歌用golang语言开发的一款开源的监控软件,使用安装在远程机器上的exporter,通过HTTP协议从远程的机器收集数据并存储在本地的时序数据库上。

Prometheus为了支持各种中间件以及第三方的监控提供了exporter,大家可以把它理解成监控适配器,将不同指标类型和格式的数据统一转化为Prometheus能够识别的指标类型。

例如Node exporter主要通过读取Linux的/proc、/sys目录下的系统文件获取操作系统运行状态,redis exporter通过Reids命令行获取指标,mysql exporter通过读取数据库监控表获取MySQL的性能数据。他们将这些各种各样的的数据转化为标准的Prometheus格式,并提供HTTP查询接口。

Prometheus的流行和Kubernetes密不可分,它支持对Kubernetes、容器、OpenStack的监控。

普罗米修斯下载网址:https://prometheus.io/download/

监控集成器下载地址:http://www.coderdocument.com/docs/prometheus/v2.14/instrumenting/exporters_and_integrations.html

二、安装

实践过程中,首先要再安装prometheus的服务器上安装go 语言环境。
在其他需要监控的服务器上安装对应的export,这里我们只示例了监控linux服务器的node_exporter, 然后我们安装grafana,并配置监控linux服务器指标的dashboard。

具体安装过程步骤

1、安装go

Prometheus 是用golang开发的,所以要安go环境。

解压缩:

tar -C /usr/local -xzf go1.8.3.linux-amd64.tar.gz

修改配置文件

vim  /etc/profile

在文件的最后添加如下内容:

export PATH=$PATH:/usr/local/go/bin

保存退出后,让配置生效:

source  /etc/profile

验证是否安装成功

go  version
2、在服务器上安装prometheus监控

开始安装prometheus,可以去官网下载对应系统的版本,如下图:

如果安装的服务器可以连接外网可以使用wget下载

# 下载
wget https://github.com/prometheus/prometheus/releases/download/v2.36.1/prometheus-2.36.1.linux-amd64.tar.gz# 解压到安装目录
tar -zxvf prometheus-2.36.1.linux-amd64.tar.gz -C /book/install/

查看版本

./prometheus --version

配置一下监控的配置文件:prometheus.yml
下面有对应的配置解释

global:# 默认情况下,每15s拉取一次目标采样点数据。scrape_interval:     15s # 每15秒评估一次规则。默认值为每1分钟。evaluation_interval: 15s # 告警配置
alerting:alertmanagers:- static_configs:- targets:# - alertmanager:9093rule_files:# - "first_rules.yml"# - "second_rules.yml"scrape_configs:# 监控job的名称- job_name: 'prometheus'# 覆盖global的采样点,拉取时间间隔10sscrape_interval: 10sstatic_configs:- targets: ['localhost:9090']

下面是我操作时安装的配置:

global:scrape_interval:     15s evaluation_interval: 15s alerting:alertmanagers:- static_configs:- targets:# - alertmanager:9093rule_files:# - "first_rules.yml"# - "second_rules.yml"scrape_configs:- job_name: 'prometheus'static_configs:- targets: ['localhost:9090']- job_name: 'linux' static_configs: - targets: ['192.168.1.68:9077','192.168.1.69:9077']

配置完成后,到安装目录运行:

./prometheus

或者我们可以配置为系统服务
首先root用户进入到systemd目录下:

cd /usr/lib/systemd/system

创建文件

vim prometheus.service

添加以下内容:

[Unit]
Description=https://prometheus.io[Service]
Restart=on-failure
ExecStart=/book/install/prometheus-2.36.1.linux-amd64/prometheus --config.file=/book/install/prometheus-2.36.1.linux-amd64/prometheus.yml --web.listen-address=:9090[Install]
WantedBy=multi-user.target

使系统文件生效

systemctl daemon-reload

启动prometheus服务

systemctl start prometheus
3、需要监控的客户服务器安装node_exporter

需要监控的服务器安装node_exporter,安装了prometheus的服务器安装node_exporter一定要换发送的端口

#下载
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz# 解压
tar -zxvf node_exporter-1.3.1.linux-amd64.tar.gz -C /book/install/

启动node_exporter,指定端口为9077

./node_exporter --web.listen-address=":9077"

也可以用root用户配置服务的形式启动,创建node_exporter.service文件

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

添加如下内容,指定了端口9177,默认的是9100,我们可以知道是端口可以通过此参数更改的,防止有些服务器9100已经被占用,同时上面在prometheus.yml配置文件配置的各服务器端口也是对应的是这个。
注意:在下面配置文件ExecStart启动时–web.listen-address=:9077千万不要加引号,端口解析不出来

[Unit]
Description=node_exporter
After=network.target [Service]
ExecStart=/book/install/node_exporter-1.1.2.linux-amd64/node_exporter --web.listen-address=:9077
Restart=on-failure[Install]
WantedBy=multi-user.target

让配置生效

systemctl daemon-reload

启动node_exporter服务

systemctl start node_exporter

各服务器工作节点都启动成功后可以在http://ip:9090(安装prometheus的服务器地址)下查看各服务器是否已经启动好了node_exporter。启动好了通了的话会是下图中的UP状态。

4、安装 Grafana 展示 Prometheus 数据

wget清华源下载,或者直接到清华源网址下载:
https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm/

wget下载容易报证书过期,还是去网址下载下来上传到服务器。

wget https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm/grafana-7.5.3-1.x86_64.rpm

root用户安装

yum install -y grafana-7.5.3-1.x86_64.rpm

启动grafana服务

systemctl start grafana-server.service

查看服务状态

systemctl status grafana-server.service

访问ui地址:

http://ip:3000    ip为安装grafana的服务器地址


初次登录默认用户密码都是:admin,会让你改密码。

接下来按照下面步骤添加Prometheus数据源

Configuration -> Data Sources ->add data source -> Prometheus

想要看到监控服务器指标的图表,需要创建一个dashbard来展示数据,这里我们只用prometheus采集了linux服务器主机的一些数据,所以我要到grafana下载已经画好的为linux准备的dashboard,到这个地址:https://grafana.com/grafana/dashboards/?search=8919
查询linux主机详情的dashboard对应的编号是8919。
下载好对应的json文件

导入下载的对应json文件

最后完成的漂亮的界面截图,记得退出时报错这个dashboard,以后登入就可以看到:

完成了!点个赞再走吧。

Prometheus+Grafana安装配置并配置linux服务器监控dashboard相关推荐

  1. Linux服务器监控cpu数据shell脚本

    Linux服务器监控cpu数据shell脚本 背景: 一种简易的监控进程的CPU.内存.线程数.句柄数的办法,使用shell脚本实现监控,Excel实现数据分析. #!/bin/bash#过滤出需要的 ...

  2. Grafana Prometheus 服务安装部署(Linux服务器监控)

    文章目录 一.概述 二.安装Prometheus 1.安装node_exporter 2.安装Prometheus 三.安装Grafana展示监控 监控进程 一.概述 Prometheus 介绍 Pr ...

  3. vsftpd配置连接远程linux服务器,ftprush报错:“530 login incorrect ”

    在本地ftprush安装好vsftpd,设置好用户后连接远程linux服务器,报错:"530 login incorrect"或"login incorrect" ...

  4. SVN配置https访问 - linux服务器

    CentOS服务器部署svn+apache http + ssl https访问 一.配置https请求访问SVN 1.1 安装SSL模块 1.2 生成服务端数字证书 1.3 生成客户端数字证书 1. ...

  5. ifconfig 安装_第一章Linux服务器环境搭建之JDK安装

    一.工具准备 xshell Xftp7 二.下载JDK安装包 官网下载地址: https://www.oracle.com/java/technologies/javase/javase-jdk8-d ...

  6. 常用16 个 Linux 服务器监控命令

    本文转自http://www.oschina.net/question/12_44528 并添加了一些说明 (以# #标示) 注: 所有标示都是在centos6.3下 如果你想知道你的服务器正在做干什 ...

  7. 16个Linux服务器监控命令

    通过图形化用户界面(GUI)程序来获取这些外壳命令提供的大量信息,具体取决于使用哪一种Linux发行版.比如说,SUSE Linux就有一款出色的.图形化配置和管理工具YaST,KDE的KDE Sys ...

  8. 16 个 Linux 服务器监控命令和watch

    如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Linux 系统管理员. 有些 Linux 发行版会提供 GUI 程序来进行系统的监控,例如 ...

  9. [shell] IT运维之Linux服务器监控方案

    随着Linux应用日益广泛,绝大部分的网络服务器都使用Linux操作系统.为了全面掌握网络服务器的运行状况和趋势,需要对服务器进行全面的监控. 利用Linux发行版搭建一个网络服务器可能对于许多人都是 ...

最新文章

  1. 程序单一实例实现 z
  2. CNN和RNN中如何引入BatchNorm
  3. 通过Nginx反向代理,实现远程调试本机代码
  4. vb.ne textbox数字保存excel_Excel 另类保护:锁死页面布局、保存、审阅标签右键等菜单禁编辑...
  5. Spring构建微服务
  6. UNIX环境高级编程——标准I/O库缓冲区和内核缓冲区的区别
  7. win10 系统 程序员计算器面板介绍和功能使用
  8. 大数据技术原理与应用(更新至第九章)
  9. 《Redis开发与运维》读书笔记一
  10. JavaScript 内置对象
  11. react-navigation之navigate
  12. Nginx反向代理域名映射
  13. 五款微信编辑器优缺点评测
  14. 创业,你踩过哪些坑?
  15. JS—随机三个0-9不重复的随机数
  16. 树的遍历(先序、中序、后序详解)
  17. ElasticSearch是什么?和Solr有什么区别?
  18. C盘被占满原因及解决方法
  19. 如何正确挑选建立关键词词库
  20. grpc系列:负载均衡及grpc负载均衡相关整理

热门文章

  1. 英语写作的常用句型(二)
  2. 实用软件推荐(一)——自动更换壁纸 (Dynamic theme)
  3. 将gridview导出成Excel
  4. MRO工业品行业产业转型,建立B2B集采平台发展业态模式
  5. 小米手环能不能用计算机,DIY变废为宝 小米手环变身能刷公交卡的手环 (全文)...
  6. springboot项目图片转换成pdf
  7. VUE项目执行npm run dev报错 npm ERR! code ELIFECYCLE npm ERR! errno 134 npm ERR wisdom-shipping-agent.....
  8. 大空间享大智慧 奇瑞新能源奇瑞大蚂蚁
  9. Android -- 下拉列表、列表视图、网格视图
  10. 测试工具培训的一些建议