Prometheus+grafana部署使用

主机列表:

192.168.161.130 : Prometheus

192.168.161.128 : node-1

192.168.161.129 : node-2

二进制手动部署

解压 prometheus-2.14.0.linux-amd64.tar.gz包

解压放至 /usr/local下

  • 编辑服务启动脚本

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

[Unit]
Description=Prometheus server daemon [Service]
ExecStart=/usr/local/prome/prometheus --config.file=/usr/local/prome/prometheus.yml
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s [Install]
WantedBy=multi-user.target
systemctl daemon-reload  # 加载后台服务
systemctl start | stop | restart | status prometheus

服务端监控配置文件内容

global:    # 全局配置段
scrape_interval: 15s
evaluation_interval: 15s
external_labels:
monitor: 'codelab-monitor'
rule_files: # 告警规则配置 scrape_configs: # 监控配置
- job_name: 'prometheus' #监控任务名称 static_configs: # 静态监控配置
- targets: ['192.168.235.130:9090']
labels:
node: prome_server

使用动态发现添加主机

global:    # 全局配置段
scrape_interval: 15s
evaluation_interval: 15s
external_labels:
monitor: 'codelab-monitor'
rule_files: # 告警规则配置 scrape_configs: # 监控配置
- job_name: 'prometheus' #监控任务名称 # static_configs: # 静态监控配置
# - targets: ['192.168.235.130:9090']
# labels:
# node: prome_server
file_sd_configs: # 基于配置文件动态发现添加主机
- files: ['/usr/local/prome/sd_config/*.yml'] # 定义服务发现配置路径
refresh_interval: 5s # 5秒发现刷洗发现一次
  • 创建服务发现配置文件
mkdir /usr/local/prome/sd_config
  • 编辑prometheus监控程序的配置文件
- targets:            # 直接指定动态发现下的 targets 目标主机
- 192.168.235.130:9090
labels: # 给目标主机添加标签标识
node: prome_server
  • 重载服务
systemctl reload prometheus

被监控节点安装数据采集工具 node-exporter

  • 解压
[root@localhost ~]# tar zxf node_exporter-0.18.1.linux-amd64.tar.gz
[root@localhost ~]# mv node_exporter-0.18.1.linux-amd64 /usr/local/
  • 将服务做成系统服务管理运行
[Unit]
Description=Node_exporter server daemon [Service]
ExecStart=/usr/local/node_exporter/node_exporter
Restart=on-failure [Install]
WantedBy=multi-user.target

prometheus添加远程主机监控

在原来的prometheus.yml中添加任务,监控远程主机

# my global config
global:
evaluation_interval: 15s
scrape_interval: 15s rule_files:
# - "first_rules.yml"
# - "second_rules.yml" scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['192.168.235.130:9090']
labels:
node: prome_server
# file_sd_configs:
# - files: ['/usr/local/prome/sd_config/*.yml']
# refresh_interval: 5s
- job_name: 'node-1' # 添加主机node-1
static_configs:
- targets: ['192.168.235.128:9100']
labels:
node: node-1 - job_name: 'node-2' # 添加主机node-2
static_configs:
- targets: ['192.168.235.129:9100']
labels:
node: node-2

将node_exporter添加服务监控

node_exporter 还可以监控系统的服务状态,在启动是指定参数启用服务监控--collector.systemd --collector.systemd.unit-whitelist=服务名称

[Unit]
Description=Node_exporter server daemon [Service]
ExecStart=/usr/local/node_exporter/node_exporter --collector.systemd --collector.systemd.unit-whitelist=(sshd|docker|nginx).service
Restart=on-failure [Install]
WantedBy=multi-user.target
  • --collector.systemd : 表示启用服务监控
  • --collector.systemd.unit-whitelist=(sshd|docker|nginx).service : 表示监控多个服务

grafan中快速使用监控模板快速监控

grafana 提供了大量的监控模板,针对各种exporter和数据源制作了不同的监控模板,在grafana中导入即可直接使用

https://grafana.com/grafana/dashboards
  • 通过监控模板的ID值直接导入

选择某个监控模板,找到Get this dashboard:的值,这里针对node-exporter的模板有一个比较好的模板ID:8919 ,可以快速实现主机资源的监控。

同样,容器监控也一样。找到合适的模板即可

Prometheusbu部署使用-1的更多相关文章

  1. [原]CentOS7.2部署node-mapnik

    转载请注明表作者think8848及出处(http://think8848.cnblogs.com) node-mapnik依赖项中要求g++ >= 5, toolchain (>= GL ...

  2. 使用Visual Studio 2015 开发ASP.NET MVC 5 项目部署到Mono/Jexus

    最新的Mono 4.4已经支持运行asp.net mvc5项目,有的同学听了这句话就兴高采烈的拿起Visual Studio 2015创建了一个mvc 5的项目,然后部署到Mono上,浏览下发现一堆错 ...

  3. 通过Jexus 部署 dotnetcore版本MusicStore 示例程序

    ASPNET Music Store application 是一个展示最新的.NET 平台(包括.NET Core/Mono等)上使用MVC 和Entity Framework的示例程序,本文将展示 ...

  4. 结合Jexus + Kestrel 部署 asp.net core 生产环境

    ASP.NET Core 是微软的全新的框架.这一框架的目标 ︰ 跨平台 针对云应用优化 解除 System.Web 的依赖. 获得下面三个方面的优势,你可以把它认为是一个C# 版本的NodeJS: ...

  5. 4.Windows Server2012 R2里面部署 MVC 的网站

    网站部署之~Windows Server | 本地部署:http://www.cnblogs.com/dunitian/p/4822808.html#iis 后期会在博客首发更新:http://dnt ...

  6. Win10 IIS本地部署MVC网站时不能运行?

    异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 部署后出现这个错误: 打开文件目录后发现是可以看见目录的,静态页面也是可以打开的 ...

  7. 再部署一个 instance 和 Local Network - 每天5分钟玩转 OpenStack(131)

    上一节部署了 cirros-vm1 到 first_local_net,今天我们将再部署 cirros-vm2 到同一网络,并创建 second_local_net. 连接第二个 instance 到 ...

  8. 将 instance 部署到 OVS Local Network - 每天5分钟玩转 OpenStack(130)

    上一节创建了 OVS 本地网络 first_local_net,今天我们会部署一个 instance 到该网络并分析网络结构.launch 一个 instance,选择 first_local_net ...

  9. 从零开始编写自己的C#框架(25)——网站部署

    导航 1.关掉访问保护 2.发布网站 3.复制网站到服务器 4.添加新网站 5.设置网站访问权限 6.设置文件夹访问权限 7.控制可更新文件夹执行权限 8.设置“应用程序池”.net版本与模式 9.附 ...

随机推荐

  1. [LeetCode]7. 整数反转(Java)

    原题地址: reverse-integer 题目描述: 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果. 如果反转后整数超过 32 位的有符号整数的范围 [−2^31,  ...

  2. k8s集群节点ping不通其他主机的ip

    文章目录 排查过程 本地宿主机网络检查 pod网络检查 tcpdump检查网络 检查flannel网卡 检查宿主机网卡 iptables检查 解决方法 测试环境服务出现问题,服务一直报错认证超时,检查 ...

  3. Session、Session共享、Token演变

    巨人的肩膀 深夜,我偷听到程序员要对session下手-- (qq.com)

  4. Xshell在Windows和Linux间文件的上传和下载

    本文通过lrzsz来实现Windows和Linux间文件间的文件传输. lrzsz使用 XMODEM.YMODEM 和 ZMODEM 文件传输协议来实现文件的上传和下载.相比 FTP 或者 WinSC ...

  5. Vue-从入门到第三次世界大战_1

    前言:当然世界大战是大家都不希望看到的这里是代表我会一直更新下去 ,那我为什么要这么写,没错我就是标题党. 先说下Vue介绍: 官网:https://cn.vuejs.org/ 为什么用:因为是TMD ...

  6. 利用终端统计 Xcode代码数量命令

    直接利用终端命令进入工程文件夹然后写下或复制以下命令 find . -name "*.m" -or -name "*.h" -or -name "*. ...

  7. 02.Oracle之安装与配置

    1.Oracle简介 Oracle是世界上最早的商品化的关系型数据库管理系统,是数据库专业厂商ORACLE(中文名字叫甲骨文)公司开发的,也是当前应用最为广泛.功能最强大.具有面向对象特点.采用了客户 ...

  8. Linux 下 Git版本升级

    一.下载需要安装的版本号 wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.24.0.tar.gz 二.安装需求 yum ...

  9. demo_2_27

    #define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h> int count_bit_one ...

  10. Java的诞生历史

    Java帝国的诞生 1.1972年C诞生 贴近硬件,运行极快,效率极高 操作系统,编译器,数据库,网络系统等都采用C语言 但是,它的指针和内存管理给程序员安上了"枷锁".它的指针没 ...