精华内容
下载资源
问答
  • Prometheus安装配置

    2019-04-13 10:00:41
    Prometheus安装配置,主要是用作记录一下,以防以后自己用到的时候找不到
  • prometheus 安装配置

    2021-02-08 09:59:31
    prometheus安装方法 二进制安装:便于学习理解 docker安装:方便和可移植 k8s安装:也是基于docker,实现可管理 监控指标 cAdvisor:是一个谷歌开发的容器监控工具,提供http方式获取数据和web界面,它被内嵌到...

    prometheus安装方法

    • 二进制安装:便于学习理解
    • docker安装:方便和可移植
    • k8s安装:也是基于docker,实现可管理

    监控指标
    在这里插入图片描述

    • cAdvisor:是一个谷歌开发的容器监控工具,提供http方式获取数据和web界面,它被内嵌到k8s中作为k8s的监控组件(kubelet)

    看下docker默认的监控

    docker stats
    

    在这里插入图片描述

    缺点:无法被获取数据和界面,也就是说是个单机版的,cAdvisor就是弥补这样的缺点

    cadvisor是可以单独安装的,但是如果安装了kubelet,就能直接访问(端口默认是4194)
    在这里插入图片描述

    在这里插入图片描述

    • node_exporter:监控node节点的资源,需要单独安装
    • mysqld_exporter:监控mysql数据库的资源,需要单独安装

    exporter都是对于本身不支持数据采集,提供给prometheus拉取的程序和系统,很好理解,因为mysql是在prometheus 之前就出现的
    下载地址:https://prometheus.io/download/

    • kube-state-metrics:获取k8s集群资源,比如replicas调度情况,Pod重启次数等等

    配置过程复杂,因为涉及到k8s的集群访问
    github:https://github.com/kubernetes/kube-state-metrics/tree/master/examples/autosharding

    Metric 指标

    metric是Prometheus监控的核心,Prometheus服务端通过拉取metric获取到数据,metric可以理解为就是监控的数据

    • metric格式:其实就是符合prometheus的时间序列存储类型
      Prometheus server其实本身也会暴露出 metric,也就是 server 本身也可以是个 Prometheus client(安装好prometheus 服务后就能访问到)
    prometheus_http_request_duration_seconds_bucket{handler="/api/v1/targets",le="8"}  1
                          metric name                           labels                值 
    
    • metric name:一般用于表示 metric 的功能
    • labels:使同一个时间序列有了不同维度的识别,即:多维标签,通过更换标签实现一个功能的多个维度metric

    Metric(指标)类型

    • Counter:计数器,是一种累加的metric,比如请求的个数,结束的任务数
    • Gauge:用于记录一个瞬时的值,能增也能减:比如cpu温度
    • Histogram:柱状图,可以对观察结果采样,分组及统计,比如请求持续时间,响应大小
      在这里插入图片描述
    • Summary:类似于 histogram,也是一组数据。不同的是,它统计的不是区间的个数而是统计分位数(百分比)
      在这里插入图片描述
      二进制安装

    prometheus服务端安装

    wget https://github.com/prometheus/prometheus/releases/download/v2.24.1/prometheus-2.24.1.linux-amd64.tar.gz
    tar zxf prometheus-2.24.1.linux-amd64.tar.gz 
    mv mv prometheus-2.24.1.linux-amd64 /usr/local/prometheus/
    #下载最新版的2.24prometheus和解压
    ./prometheus --config.file=prometheus.yml
    #启动prometheus,--config.file指定配置文件
    http://localhost:9090
    http://localhost:9090/metrics
    #prometheus服务端已经好了
    
    配置systemctl
    vi /usr/lib/systemd/system/prometheus.service 
    [Unit]
    Description=Prometheus Node Exporter
    After=network.target
     
    [Service]
    ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml
    User=root
    [Install]
    WantedBy=multi-user.target
    #添加systemctl文件
    systemctl start prometheus.service 
    systemctl enable prometheus.service
    #启动服务和开启自启
    

    在这里插入图片描述可以看到默认就是监控自己,类似zabbix安装好后也有一个默认的主机

    ./prometheus --help(启动参数)

    • –config.file:指定配置文件
    • –web.xx:web相关
    • –storage.xx:存储相关
    • –rules:告警相关
    • –alertmanager.xx:告警相关
    • –query.xx:查询相关

    prometheus配置文件(yaml格式)

    • global:全局配置
    • alerting:告警配置
    • rule_files:告警规则
    • scrape_configs:配置数据源,配置抓取客户端(target),可以是静态配置和动态发现

    global字段

    • scrape_interval:全局默认的数据拉取间隔
      • [ scrape_interval: <duration> | default = 1m ]
    • scrape_timeout:全局默认的单次数据拉取超时
      • [ scrape_timeout:\ | default = 10s ]
    • external_labels:用于外部系统标签的,不是用于metrics数据
      • [ <labelname>: <labelvalue> … ]
    • query_log_file:PromQL查询记录到的文件
      • [ query_log_file: <string> ]

    通用占位符定义如下:

    • boolean:可以接受值的布尔值true或false
    • duration:持续时间相匹配正则表达式((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?|0),例如1d,1h30m,5m,10s
    • filename:当前工作目录中的有效路径
    • host:由主机名或IP后跟可选端口号组成的有效字符串
    • int:整数值
    • labelname:与正则表达式匹配的字符串 [a-zA-Z_][a-zA-Z0-9_]*
    • labelvalue:一串unicode字符
    • path:有效的网址路径
    • scheme>:可以采用值的字符串http或https
    • secret>:是秘密的常规字符串,例如密码
    • string:常规字符串
    • tmpl_string:使用前已模板扩展的字符串

    scrape_configs字段:拉取数据配置

    • job_name:定义job名称,是一个拉取单元

      • 默认配置:
        • scrape_interval 依赖全局配置
        • scrape_timeout 依赖全局配置
        • metrics_path 默认为/metrics
        • scheme 默认为http
    • honor_labels:服务端拉取过来的数据也会存在标签,配置文件中也会有标签,这样就可能发生冲突

      • true就是以抓取数据中的标签为准
      • false就会重新命名抓取数据
      • [ honor_labels: <boolean> | default = false ]
    • scheme:抓取数据所用的协议,默认为http

    • params:可选HTTP URL参数

      • [ <string>: [<string>, …] ]
    • basic_auth:抓取认证
      password和password_file互斥只可以选择其一
      basic_auth:
      [ username: <string> ]
      [ password: <secret> ]
      [ password_file: <string> ]

    • bearer_token:认证令牌
      bearer_token和bearer_token_file互斥只可以选择其一
      [ bearer_token: <secret> ]
      [ bearer_token_file: /path/to/bearer/token/file ]

    • tls_config:tls认证配置
      tls_config:
      [ ca_file: ]
      [ cert_file: ]
      [ key_file: ]
      [ server_name: ]
      [ insecure_skip_verify: ]
      #禁用证书验证

    • proxy_url:通过代理拉取数据

      • [ proxy_url: <string> ]

    服务发现
    Prometheus支持多种服务现工具(sd就是service discovery的缩写)

    • azure_sd_configs:
    • consul_sd_configs:
    • dns_sd_configs:
    • ec2_sd_configs:
    • openstack_sd_configs:
    • file_sd_configs:
    • gce_sd_configs:
    • kubernetes_sd_configs:
    • marathon_sd_configs:
    • nerve_sd_configs:
    • serverset_sd_configs:
    • triton_sd_configs:

    static_configs:静态配置发现

    • targets:
      指定静态目标
      [ - ‘<host>’ ]
      labels:
      给抓取出来的所有指标添加指定的标签
      [ <labelname>: <labelvalue> … ]

    配置参考:https://prometheus.io/docs/prometheus/latest/configuration/configuration/#static_config
    配置参考:https://www.dazhuanlan.com/2019/12/12/5df11ada207ce/

    配置cAdvisor

    vi prometheus.yml 
      - job_name: 'cAdvisor'
        static_configs:
        - targets: ['192.168.12.3:4194']  #填写多个cadvisor的主机地址用逗号隔开
    #节点无须任何安装,配置文件添加,注意配置基于scrape_configs字段下一层
    systemctl restart prometheus.service
    

    查看targets信息
    在这里插入图片描述

    最基本的监控配置完成

    配置grafana(docker)

    docker run -d \
    --name=grafana \
     -p 3000:3000 \
    grafana/grafana
    

    http://localhost:3000/login(账号密码:admin)

    安装插件

    docker exec -it grafana bash 
    grafana-cli plugins install grafana-kubernetes-app
    
    docker restart grafana
    #web进入插件管理,开启
    

    监控cAdvisor

    • 找cAdvisor资源的dashboards模板
      • https://grafana.com/grafana/dashboards?search=cAdvisor
      • 代码编号:10566
    • 导入面板:Home->Dashboards->Import
      在这里插入图片描述简单的监控就出来了
      在这里插入图片描述

    node_exporter没做,不然图形会好看点,部分显示N/A

    展开全文
  • prometheus安装配置

    2019-03-23 20:51:33
    prometheus的特点 和其他监控系统相比,普罗米修斯的特点包括: 多维数据模型(时序列数据由度量名和一组键/值... 目标服务器可以通过发现服务或者静态配置实现 多种可视化和仪表盘支持 prometheus相关组件 普...

    prometheus的特点

    和其他监控系统相比,普罗米修斯的特点包括:

    • 多维数据模型(时序列数据由度量名和一组键/值组成)
    • 在多维度上灵活的查询语言(PromQl)
    • 不依赖分布式存储,单主节点工作。
    • 通过基于HTTP的拉方式采集时序数据
    • 可以通过中间网关进行时序列数据推送(推压)
    • 目标服务器可以通过发现服务或者静态配置实现
    • 多种可视化和仪表盘支持

    prometheus相关组件

    普罗米修斯生态系统由多个组件组成,其中许多是可选的:

    • Prometheus主服务,用来抓取和存储时序数据
    • 客户端库用来构造应用程序或出口代码(go,java,python,ruby)
    • 推网络可用来支持短连接任务
    • 可视化的仪表板(两种选择,promdash和grafana。目前主流选择是grafana。)
    • 一些特殊需求的数据出口(用于HAProxy,StatsD,Graphite等服务)
    • 实验性的报警管理端(alartmanager,单独进行报警汇总,分发,屏蔽等)

    prometheus的各个组件基本都是用golang编写,对编译和部署十分友好。并且没有特殊依赖。基本都是独立工作。

    https://prometheus.io/download/

    prometheus-2.8.0.linux-amd64.tar.gz

    参考文档

    https://prometheus.io/docs/prometheus/latest/querying/basics/

    [root@server1 ~]# tar zxf prometheus-2.3.2.linux-amd64.tar.gz
    [root@server1 ~]# cd prometheus-2.3.2.linux-amd64
    [root@server1 prometheus-2.3.2.linux-amd64]# ls
    console_libraries  LICENSE  prometheus      promtool
    consoles           NOTICE   prometheus.yml

    [root@server1 prometheus-2.3.2.linux-amd64]# cp prometheus promtool /usr/local/bin/

    [root@server1 prometheus-2.3.2.linux-amd64]# prometheus --version
    prometheus, version 2.3.2 (branch: HEAD, revision: 71af5e29e815795e9dd14742ee7725682fa14b7b)
      build user:       root@5258e0bd9cc1
      build date:       20180712-14:02:52
      go version:       go1.10.3

    [root@server1 prometheus-2.3.2.linux-amd64]# promtool check config prometheus.yml
    Checking prometheus.yml
      SUCCESS: 0 rule files found

    [root@server1 prometheus-2.3.2.linux-amd64]# ./prometheus --config.file "prometheus.yml" --web.enable-lifecycle

    http://172.25.11.1:9090/graph

    [root@server1 prometheus-2.3.2.linux-amd64]# ps -aux | grep prom
    root      1217  0.0  0.0 112648   960 pts/0    R+   22:16   0:00 grep --color=auto prom

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • Prometheus Visit prometheus.io for the full documentation, examples and guides. Prometheus, a Cloud Native Computing Foundation project, is a systems and service monitoring system. It collects ...
  • 安装及使用: Prometheus WIKI 配套课程: Prometheus自主无人机二次开发课程,本课程偏重本项目中的基础知识和操作实践,适合本项目入门者,购买课程后会定期安排线上答疑活动(语音交流、方便透彻!) 课程报名 ...
  • 监控神器普罗米修斯Prometheus安装配置

    万次阅读 多人点赞 2019-01-07 14:22:05
    一、基础环境 环境/组件 版本 下载地址 操作系统 CentOS 7.3 ... Prometheus 2.6.0 https://prometheus.io/download/#prometheus go...

    一、基础环境

    环境/组件 版本 下载地址
    操作系统 CentOS 7.3 http://archive.kernel.org/centos-vault/7.3.1611/isos/x86_64/CentOS-7-x86_64-DVD-1611.iso
    Prometheus 2.6.0 https://prometheus.io/download/#prometheus
    go 1.11.4 https://golang.org/dl/
    Grafana 5.4.2 https://dl.grafana.com/oss/release/grafana-5.4.2-1.x86_64.rpm

    二、安装go

    1、解压安装
    tar -C /usr/local/ -xvf go1.11.4.linux-amd64.tar.gz
    
    2、配置环境变量
    vim /etc/profile
    
    export PATH=$PATH:/usr/local/go/bin
    
    source /etc/profile
    
    3、验证
    go version
    

    在这里插入图片描述

    三、安装Prometheus

    1、安装
    tar -C /usr/local/ -xvf prometheus-2.6.0.linux-amd64.tar.gz
    ln -sv /usr/local/prometheus-2.6.0.linux-amd64/ /usr/local/Prometheus
    
    2、启动

    普罗米修斯默认配置文件 vim /usr/local/Prometheus/prometheus.yml

    /usr/local/Prometheus/prometheus --config.file=/usr/local/Prometheus/prometheus.yml &
    
    3、验证

    浏览器打开IP:9090端口即可打开普罗米修斯自带的监控页面
    在这里插入图片描述

    四、安装Grafana

    普罗米修斯默认的页面可能没有那么直观,我们可以安装grafana使监控看起来更直观

    1、安装
    rpm -ivh --nodeps grafana-5.4.2-1.x86_64.rpm
    
    2、启动
    sudo /bin/systemctl daemon-reload
    sudo /bin/systemctl enable grafana-server.service
    sudo /bin/systemctl start grafana-server.service
    
    3、访问grafana

    浏览器访问IP:3000端口,即可打开grafana页面,默认用户名密码都是admin,初次登录会要求修改默认的登录密码
    在这里插入图片描述
    在这里插入图片描述

    4、添加prometheus数据源

    (1)点击主界面的“Add data source”
    在这里插入图片描述
    (2)选择Prometheus
    在这里插入图片描述
    (3)Dashboards页面选择“Prometheus 2.0 Stats”
    在这里插入图片描述
    (4)Settings页面填写普罗米修斯地址并保存
    在这里插入图片描述
    (5)切换到我们刚才添加的“Prometheus 2.0 Stats”即可看到整个监控页面
    在这里插入图片描述

    五、一些常用监控举例

    1、监控linux机器(node-exporter)

    https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz
    (1)被监控的机器安装node-exporter

    tar -xvf node_exporter-0.17.0.linux-amd64.tar.gz -C /usr/local/
    

    (2)启动node-exporter

    /usr/local/node_exporter-0.17.0.linux-amd64/node_exporter &
    

    (3)普罗米修斯配置文件添加监控项

    vim /usr/local/Prometheus/prometheus.yml
    

    默认node-exporter端口为9100

      - job_name: 'Prometheus'
        static_configs:
        - targets: ['192.168.0.102:9100']
          labels:
            instance: Prometheus
    

    重启普罗米修斯
    (4)grafana导入画好的dashboard

    • dashboard json
    • 链接:https://pan.baidu.com/s/1Dlm0IHTgRmc0q2P82cDjKg 提取码:myv6
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      修改名字,选择我们前文创建好的数据源,点击导入即可
      在这里插入图片描述
      如果没有任何显示,是grafana缺少相关显示需要用到的插件piechart,grafana的默认插件目录是/var/lib/grafana/plugins,可以将下载好的插件解压到这个目录,重启grafana即可
    • piechart插件:
    • 链接:https://pan.baidu.com/s/1tvZWI9vhAqvJhojKmDlmew 提取码:tlyl
    service grafana-server restart
    /usr/sbin/grafana-cli plugins ls  #查看已安装插件
    

    在这里插入图片描述
    再刷新grafana页面,即可看到我们刚才设置好的node监控
    在这里插入图片描述

    2、监控windows机器(wmi-exporter)

    https://github.com/martinlindhe/wmi_exporter/releases
    (1)被监控windows机器安装wmi-exporter,会自动创建一个开机自启的服务
    在这里插入图片描述
    在这里插入图片描述
    (2)普罗米修斯配置文件添加配置项

    vim /usr/local/Prometheus/prometheus.yml
    

    默认wmi-exporter端口为9182

      - job_name: 'Prometheus'
        static_configs:
        - targets: ['192.168.0.102:9182']
    

    重启普罗米修斯
    (3)grafana导入画好的dashboard,选择普罗米修斯数据源

    在这里插入图片描述
    在这里插入图片描述

    3、监控MySQL(mysqld-exporter)

    https://github.com/prometheus/mysqld_exporter/releases/download/v0.11.0/mysqld_exporter-0.11.0.linux-amd64.tar.gz
    (1)被监控mysql机器安装mysqld-exporter

    tar -C /usr/local/ -xvf mysqld_exporter-0.11.0.linux-amd64.tar.gz
    

    (2)设置配置文件,user为数据库登录用户,password为这个用户的密码

    vi .my.cnf
    
    [client]
    user=root
    password=123456
    

    (3)启动mysqld-exporter

    /usr/local/mysqld_exporter-0.11.0.linux-amd64/mysqld_exporter --config.my-cnf="/usr/local/mysqld_exporter-0.11.0.linux-amd64/.my.cnf" &
    

    (4)prometheus配置文件中加入mysql监控并重启

    vim /usr/local/Prometheus/prometheus.yml
    

    默认mysqld-exporter端口为9104

    - job_name: 'MySQL'
        static_configs:
        - targets: ['192.168.0.103:9104']
    

    (5)设置数据源
    grafana界面添加mysql数据源
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    添加需要被监控的数据库及相关信息
    在这里插入图片描述
    (6)导入已经画好的dashboard,数据源选择刚刚创建好的mysql数据源即可

    在这里插入图片描述

    4、监控Redis(redis_exporter)

    链接:https://pan.baidu.com/s/12y7HxtQlBjFwr_i8ClM8Kw 提取码:13v2
    (1)安装redis_exporter

    tar -C /usr/local/ -xvf redis_exporter-v0.15.0.linux-amd64.tar.gz
    

    (2)启动redis_exporter

    默认redis_exporter端口为9121

    ./redis_exporter redis//192.168.0.103:6379 & -web.listenaddress 192.168.0.103:9121
    

    (3)prometheus配置文件中加入redis监控并重启

    vim /usr/local/Prometheus/prometheus.yml
    

    默认redis-exporter端口为9121

    - job_name: 'Redis'
        static_configs:
        - targets: ['192.168.0.103:9121']
    

    (4)grafana导入画好的dashboard

    六、一些网站

    展开全文
  • 安装 启动 查询 下载地址 https://prometheus.io/download/ 安装 [root@localhost ~]# tar -xvzf prometheus-2.17.1.linux-amd64.tar.gz [root@localhost ~]# cd prometheus-2.17.1.linux-amd64 ....

    目录

    下载地址

    安装

    启动

    查询


     

    下载地址

    CSDN下载地址:https://download.csdn.net/download/VIP099/12277926

    官方网站下载地址:https://prometheus.io/download/

     

    安装

    [root@localhost ~]# tar -xvzf prometheus-2.17.1.linux-amd64.tar.gz 
    [root@localhost ~]# cd prometheus-2.17.1.linux-amd64
    

     

    启动

    [root@localhost ~]# ./prometheus

    启动后,Prometheus UI默认运⾏在9090端口。浏览器可以直接打开访问⽆账号密码验证

     

    查询

    展开全文
  • 监控组件普罗米修斯Prometheus Prometheus是Google BorgMon监控系统的开源版本。伴随着容器及Kubernetes技术的兴起,Prometheus越来越受到大家的...Prometheus服务端安装 下载服务端 wget -c https://github.com/pr...
  • 安装 配置 配置 记录规则 预警规则 模板例子 模板参考 规则的单元测试 查询 基本概念 操作符 函数 举例 HttpAPI 存储 联邦 管理API 集成 API稳定性 可视化 表达式浏览器 Grafana 控制模板 操作 安全...
  • 最近和朋友一起做的监控配置,拿出来共享一下 1.下载prometheus安装包(linux版)到 /opt/minitor/prometheus 。 下载地址:https://download.csdn.net/download/a15565772151/11111904 不知道为啥,csdn没法自己设置...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 843
精华内容 337
关键字:

prometheus安装配置