Prometheus+Grafana 监控系统

一、prometheus安装

  1. 安装位置: /home/service/prometheus-2.28.1.linux-amd64
  2. 安装go语言环境
    下载go: cd /home/service ; wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
    解压:tar -xzf go1.8.3.linux-amd64.tar.gz -C ./
    添加环境变量:vim /etc/profile ,添加内容:
 export GOROOT=/home/service/go
 export PATH=$PATH:$GOROOT/bin

source配置文件: source /etc/profile
验证go安装是否成功: go version

  1. 下载prometheus: wget https://github.com/prometheus/prometheus/releases/download/v2.28.1/prometheus-2.28.1.linux-amd64.tar.gz
  2. 解压: tar -zvxf prometheus-2.28.1.linux-amd64.tar.gz -C ./
  3. 启动:prometheus进程由Supervisor管理维护,添加supervisor配置文件,
    vim /usr/supervisor/supervisord.d/yzf_supervisor_task.conf
    [program:prometheus_thread]
    command=/home/service/prometheus-2.28.1.linux-amd64/prometheus --config.file=/home/service/prometheus-2.28.1.linux-amd64/prometheus.yml --web.enable-lifecycle ; 被监控的进程路径
    priority=2 ; 数字越高,优先级越高
    numprocs=1 ; 启动几个进程
    autostart=true ; 随着supervisord的启动而启动
    autorestart=true ; 自动重启
    startretries=10 ; 启动失败时的最多重试次数
    exitcodes=0 ; 正常退出代码
    stopsignal=KILL ; 用来杀死进程的信号
    stopwaitsecs=10 ; 发送SIGKILL前的等待时间
    redirect_stderr=true ; 重定向stderr到stdout

  1. 重载supervisor配置
    supervisorctl -c /usr/supervisor/supervisord.conf
    > reload
  2. 访问supervisor Web页面(http://ip:9001/ )(账号密码:admin/123456),确定 prometheus_thread 进程处于running状态。
  3. 确认prometheus Web页面(http://ip:9090/ )可以访问即可。

二、node_exporter 安装

  1. 安装机器:腾讯集群所有master,core节点,安装位置:/home/service/node_exporter-1.1.2.linux-amd64
  2. 下载安装包:wget https://github.com/prometheus/node_exporter/releases/download/v1.1.2/node_exporter-1.1.2.linux-amd64.tar.gz
  3. 解压:tar -zvxf node_exporter-1.1.2.linux-amd64.tar.gz -C ./
  4. 发送到其他节点: scp -r node_exporter-1.1.2.linux-amd64 [email protected]:/home/service ,scp...
  5. 启动: /home/service/node_exporter-1.1.2.linux-amd64/node_exporter &
  6. 在prometheus中配置监控node_exporter:
  • cd /home/service/prometheus-2.28.1.linux-amd64
    vim monitor-conf/tencent_emr.yml ,内容如下:
  - targets: ['ip1:9100']
    labels:
    instance: ip1-instance

  - targets: ['ip2:9100']
    labels:
    instance: ip2-instance
  • vim prometheus.yml ,内容如下:
   # 各个节点的硬件信息
  - job_name: 'job_test'
    scrape_interval: 30s
    file_sd_configs:
    - files: ['/home/service/prometheus-2.28.1.linux-amd64/monitor-conf/tencent_emr.yml']
    refresh_interval: 5s

  1. 加载prometheus配置:
    curl -XPOST http://ip:9090/-/reload
  2. 访问 http://ip:9090/targets ,看到如下信息即可:
    无标题2.png

三、grafana安装

  • 建议安装 8.x版本,老版本对发钉钉告警功能支持不太友好。
  1. 下载安装包:wget https://dl.grafana.com/oss/release/grafana-8.0.4-1.x86_64.rpm
  2. 安装:sudo yum install grafana-8.0.4-1.x86_64.rpm
  3. 修改grafana数据存储位置,存在 mysql
    先在 mysql 中创建 grafana database : create database grafana;
    修改 grafana 配置:
    vim /etc/grafana/grafana.ini # 修改 [database]
    [database]
    type = mysql
    host = mysql_ip:3306
    name = grafana
    user = root
    password = 123456

    url = mysql://root:123456@mysql_ip:3306/grafana
  1. 接着把grafana加入到系统服务,将服务启动

    sudo /sbin/chkconfig --add grafana-server
    sudo systemctl start grafana-server

  2. 访问grafana 页面:https://ip:3000
    初始用户名和密码都是 admin

  3. 添加prometheus为数据源:


    image.png
image.png

填写prometheus地址:


无标题.3png.png

点击页面下方的
image.png
  1. 下载grafana显示node_exporter 模板并导入:
    下载链接:https://grafana.com/api/dashboards/8919/revisions/24/download
    导入:
    image.png

选择下载好的json文件导入:


image.png
  1. 导入成功后即可看到监控页面:


    无标题.png

你可能感兴趣的:(Prometheus+Grafana 监控系统)