首页 > 其他 > 详细

Centos7安装配置Prometheus

时间:2020-11-30 21:51:42      阅读:46      评论:0      收藏:0      [点我收藏+]

Prometheus是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的。随着发展,越来越多公司和组织接受采用Prometheus,社区也十分活跃,他们便将它独立成开源项目,并且有公司来运作。google SRE的书内也曾提到跟他们BorgMon监控系统相似的实现是Prometheus。现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控。

Prometheus 的优点

  • 非常少的外部依赖,安装使用超简单
  • 已经有非常多的系统集成 例如:docker HAProxy Nginx JMX等等
  • 服务自动化发现
  • 设计思想是按照分布式、微服务架构来实现的

Prometheus 的特性

  • 自定义多维度的数据模型
  • 强大的查询语句

 

Centos7安装配置Prometheus

 

准备2台虚拟机

Centos7.X  内核:5.9  禁用selinux ,关闭防火墙

IP:Prometheus:192.168.245.128/24

Node_exporter:192.168.245.130/24

下载地址: https://prometheus.io/download/

Prometheus    版本:2.22.2 (prometheus-2.22.2.linux-amd64.tar.gz)

node_exporter  版本:1.0.1  (node_exporter-1.0.1.linux-amd64.tar.gz)

 

安装配置Prometheus

]# hostnamectl set-hostname  prometheus  #设置服务器名字

]# mdkir  /opt/src   # 将Prometheus 安装包上传到此目录

]# useradd   --no-create-home  --shell  /bin/false  Prometheus  # 添加用户prometheus

]# tar -xf  prometheus-2.22.2.linux-amd64.tar.gz -C /opt   # 将安装包解压到 opt下

]# mv prometheus-2.22.2.linux-amd64/ prometheus-2.22.2  # 重命名

]# ln -sf  /opt/prometheus-2.22.2/  /opt/prometheus      # 做软连接

]# chown  -R prometheus.prometheus  /opt/prometheus-2.22.2  # 更改权限

]# ln -sf  /opt/prometheus/promtool   /usr/local/bin/promtool   # 做二进制文件软连接

]# ln -sf  /opt/prometheus/prometheus  /usr/local/bin/prometheus  # 做二进制文件软连接

 

]# vim /opt/prometheus/prometheus.yml  # 编写配置文件

#Prometheus全局配置

global:

  scrape_interval:    15s # 集数据间隔,默认15秒。现在设置60s一次,该配置可配置在每个job_name中

  evaluation_interval: 15s # 告警规则监测频率,比如已经设置了内存使用大于70%就告警的规则,这里就会每60秒执行一次告警规则

 

#Prometheus告警设置

alerting:  #指定alertmanager报警组件地址

  alertmanagers:

  - static_configs:

    - targets:

      # - alertmanager:9093

 

rule_files:  #指定报警规则文件

  # - "first_rules.yml"

 

#被监控端配

scrape_configs:  #定义一个监控组,其下可以有多个实例配置

  - job_name: ‘prometheus_master‘

    scrape_interval: 5s

    static_configs:

- targets: [‘localhost:9090‘,‘192.168.245.128:9090‘]  #组内多个被监控主机

      labels:  # 自定义标签,可以通过标签对查询数据进行分组管理

        appname: ‘prometheus_master‘

 

  - job_name: ‘node_exporter‘  # node 的监控组

    scrape_interval: 5s

    static_configs:

    - targets: [‘192.168.245.130:9100‘]

      labels:

        appname: ‘node_exporter‘

 

 

]#  vim /etc/systemd/system/prometheus.service  #编写 Prometheus启动脚本

[Unit]

Description=Prometheus

Wants=network-online.target

After=network-online.target

 

[Service]

User=prometheus

Group=prometheus

Type=simple

ExecStart=/usr/local/bin/prometheus \

--config.file /opt/prometheus/prometheus.yml \

--storage.tsdb.path /opt/prometheus/data \

--web.console.templates=/opt/prometheus/consoles \

--web.console.libraries=/opt/prometheus/console_libraries

 

[Install]

WantedBy=multi-user.target

 

 

 

部署被监控虚拟

]# hostnamectl set-hostname node_exporter   # 设置服务器名字

]# mdkir  /opt/src   # 将node_exporter 安装包上传到此目录

]# tar -xf src/node_exporter-1.0.1.linux-amd64.tar.gz  -C  /opt/  # 解压到opt 目录下

]# useradd -rs /bin/false nodeusr  # 创建用户

]# mv node_exporter-1.0.1.linux-amd64/  node_exporter-1.0.1  # 重命名

]# cp  node_exporter-1.0.1/node_exporter  /usr/local/bin/  # 复制二进制文件到 /usr/local/bin/ 目录下

]# chown -R  nodeusr.nodeusr  /usr/local/bin/node_exporter  # 更改权限

 

]# vim /etc/systemd/system/node_exporter.service  # 创建服务启动脚本

[Unit]

Description=Node Exporter

After=network.target

 

[Service]

User=nodeusr

Group=nodeusr

Type=simple

ExecStart=/usr/local/bin/node_exporter

 

[Install]

WantedBy=multi-user.target

 

]# systemctl daemon-reload  #加载配置

]# systemctl start  prometheus  node_exporter # 启动服务

]# systemctl status prometheus  node_exporter  # 查看服务状态

]# systemctl enable prometheus  node_exporter  # 设置服务开机自启

 

验证:

]# netstat -tnulp | grep :9100

tcp6       0      0 :::9100                 :::*                    LISTEN      57740/node_exporter

 

]# netstat -tnulp | grep :9090

tcp6       0      0 :::9090                 :::*                    LISTEN      53431/prometheus

 

 

浏览器访问:http://192.168.245.128:9090/targets

 技术分享图片

 

 

 

扩展1: prometheus 自动发现

 

]# mkdir  /opt/prometheus/target/shouba-gy/  ##创建目录

 

]# vim /opt/prometheus/target/shouba-gy/gy.json  ##编写自动发现内容

[

        {

                "targets": [ "172.18.50.243:9100","172.18.50.239:9100" ],

                "labels": {

                  "job": "shoubagy",

                  "service": "shoubagy"

                }

        }

]

 

 

]# vim /opt/prometheus/prometheus.yml  ##修改Prometheus 配置文件,文件最后面添加

………

  - job_name: ‘shoubagy‘

    file_sd_configs:

    - files:

      - "/opt/prometheus/target/shouba-gy/gy.json"

      refresh_interval: 6s

 

 

]# systemctl restart prometheus  ##重启Prometheus

 

验证:http://192.168.245.128:9090/targets

刷新页面时会有shoubagy 的数据存在,以后在gy.json 再添加上新的主机时,Prometheus 会自动监控,不需要重启 Prometheus

 

 

 

扩展2:配置安装Grafana

下载地址: https://grafana.com/grafana/download

建议使用一台新的机器部署,这里只是测试环境,就装在Prometheus 虚拟机上

Grafana 版本:7.3.3 (grafana-7.3.3.linux-amd64.tar.gz)

 

]# cd /opt/src/  # 将grafana 上传到 /opt/src 目录下

]# tar -xf  grafana-7.3.3.linux-amd64.tar.gz  -C  /opt  # 解压到opt 目录下

]# ln -sf /opt/grafana-7.3.3 /opt/grafana   # 做软连接

]# nohup  /opt/grafana-7.3.3/bin/grafana-server  > /dev/null   2>&1 &  # 启动程序

]# netstat -tnulp | grep :3000

tcp6       0      0 :::3000                 :::*                    LISTEN      76634/grafana-serve

 

浏览器访问:http://192.168.245.128:3000/

第一次登录账号密码为 admin,admin ,然后接着更改默认密码

技术分享图片

 

 

 技术分享图片

 

 

 技术分享图片

 

 

 技术分享图片

 

 

 技术分享图片

 

 

 技术分享图片

 

 

添加模板 (模板地址:https://grafana.com/grafana/dashboards

 技术分享图片

 

 

 技术分享图片

 

 

 技术分享图片

 

Centos7安装配置Prometheus

原文:https://www.cnblogs.com/gengdadeshitou/p/14063328.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!