zoukankan      html  css  js  c++  java
  • centos7下prometheus+grafana监控

    一、简介

    prometheus是由谷歌研发的一款开源的监控软件,目前已经被云计算本地基金会托管,是继k8s托管的第二个项目。

    二、优势

     易于管理

      轻易获取服务内部状态

      高效灵活的查询语句

      支持本地和远程存储

      采用http协议,默认pull模式拉取数据,也可以通过中间网关push数据

      支持自动发现

      可扩展

      易集成

    三、prometheus运行流程

    四、监控的目的

      google指出,监控分为白盒监控和黑盒监控之分。

      白盒监控:通过监控内部的运行状态及指标判断可能会发生的问题,从而做出预判或对其进行优化。

      黑盒监控:监控系统或服务,在发生异常时做出相应措施。

      监控的目的如下:

        1、根据历史监控数据,对为了做出预测

        2、发生异常时,即使报警,或做出相应措施

        3、根据监控报警及时定位问题根源

        4、通过可视化图表展示,便于直观获取信息

    一、Grafana介绍

    Grafana是开源的度量分析和可视化工具,,可以通过将采集的数据查询然后可视化的展示,并实现报警。它主要有以下六大特点:

    1、展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;

    2、数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;

    3、通知提醒:以可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时通过Slack、PagerDuty等获得通知;

    4、混合展示:在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源;

    5、注释:使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记;

    6、过滤器:Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。

    二、Prometheus服务端安装

    以下操作皆在监控主机(192.168.10.149)上执行。

    2.0 关闭机器防火墙

    # systemctl stop firewalld

    # systemctl disable firewalld

    2.1 安装 go 环境

    由于Prometheus是由go语言开发的,所以在安装Prometheus之前需要先在监控主机上安装go环境。这里采用源码编译的方式安装。

    安装包下载以后,上传至监控主机的 /usr/local 目录下。

    2.1.1 解压安装包

    # tar -xvf go1.13.1.linux-amd64.tar.gz

    2.1.2 配置环境变量

    添加/usr/loacl/go/bin目录到PATH变量中。

    添加到/etc/profile 或$HOME/.profile都可以

    # vim /etc/profile

    // 在最后一行添加

    export GOROOT=/usr/local/go

    export PATH=$PATH:$GOROOT/bin

    // wq保存退出后source一下

    # source /etc/profile

    执行go version,如果现实版本号,则Go环境安装成功。

    2.2 安装Prometheus

    安装包下载地址:https://prometheus.io/download/#prometheus 

    2.2.1 安装

    将下载后安装包,上传至  /usr/local 目录下

     解压安装包:

    #  tar -xvf prometheus-2.4.0.linux-amd64.tar.gz

    #  mv prometheus-2.4.0.linux-amd64/ prometheus

    2.2.2 启动

    Prometheus的配置文件位于 /usr/local/Prometheus/prometheus.yml  ,此处采用默认配置。

    进入解压后的文件夹下,启动Prometheus。

    #  cd prometheus

    #  ./prometheus --config.file=/usr/local/prometheus/prometheus.yml &

    后台启动

    进入这个目录 /etc/systemd/system 将这个文件放进去。

    2.2.3 验证

    浏览器打开http://192.168.xxx.xxx:9090(IP:9090端口)即可打开普罗米修斯自带的监控页面

    从官网下载 node_exporter-0.18.1.linux-amd64.tar.gz

    安装到被监控主机上 

    tar xf node_exporter-0.18.1.linux-amd64.tar.gz

    mv node_exporter-0.18.1.linux-amd64 node_exporte

    启动服务

    nohup ./node_exporter &

    关于nohup

    nohup 是 Linux 的一个常用命令,当你想要在退出账户或者关闭终端后进程仍在运行时,就可以使用 nohup 命令。

    nohup 就是不挂断的意思(no hang up)。

    查看端口号

    ss -ntl | grep 9100

    修改server端配置文件

    /usr/local/Prometheus

    vi prometheus.yml

    依次添加agent

    访问server端ip 192.168.xxx.xxx:9090

    默认监控图像

     

    Wbe查看是否成功

    每在server端添加一台agent,就会在页面显示到,被监控主机。

    欢迎进群讨论:QQ群294668383(有意向可以添加)

  • 相关阅读:
    webpack里CommonJS的require与ES6 的module.exports加载模块有何不同
    前端项目使用module.exports文件一定要Webpack编译吗?请问gulp可以编译这种文件吗
    Webpack之“多页面开发”最佳实战
    webpack 单页面应用实战
    也谈谈同源策略和跨域问题
    (转)Babel-现在开始使用 ES6
    webpack 配置简单说几句 ?
    Javascript 严格模式详解
    JavaScript6 新语法 let 有什么优势
    js中let和var定义变量的区别
  • 原文地址:https://www.cnblogs.com/zhang-xiao-shuang/p/13091250.html
Copyright © 2011-2022 走看看