超详细教程:Centos安装Prometheus、Grafana监控Kafka及Linux主机

这篇具有很好参考价值的文章主要介绍了超详细教程:Centos安装Prometheus、Grafana监控Kafka及Linux主机。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安装并运行 node_exporter

  1. 下载 node_exporter
  2. 解压到指定 /app/exporter
  3. 编写管理脚本control_node_exporter.sh,并给予权限 chmod + x control_node_exporter.sh,脚本内容如下:
    #!/bin/bash
    
    PID_FILE="node_exporter.pid"
    LOG_FILE="node_exporter.log"
    ###这个路径是解压以后这个文件的路径,这个根据每个人路径不同,填入的也不同
    CMD="/opt/module/exporter/node_exporter"
    
    function start {
        nohup $CMD > $LOG_FILE 2>&1 &
        echo $! > $PID_FILE
        echo "Started Node Exporter, pid: $(cat $PID_FILE)"
    }
    
    function stop {
        kill $(cat $PID_FILE)
        rm $PID_FILE
        echo "Stopped Node Exporter"
    }
    
    function status {
        if [ -f $PID_FILE ]; then
            pid=$(cat $PID_FILE)
    
            if ps -p $pid > /dev/null; then
                echo "Node Exporter is running, pid: $pid"
                echo "Start time: $(ps -p $pid -o lstart=)"
                echo "Running time: $(ps -p $pid -o etime=)"
                echo "Started by user: $(ps -p $pid -o user=)"
            else
                echo "Node Exporter is not running"
            fi
        else
            echo "Node Exporter is not running"
        fi
    }
    
    case $1 in
    "start")
        start
    ;;
    "stop")
        stop
    ;;
    "status")
        status
    ;;
    *)
        echo "Usage: $0 {start|stop|status}"
    ;;
    esac
    

    执行命令:
     

    ./control_node_exporter.sh start

    验证 node_exporter 是否启动成功:

  4. 查看同级目录下的 node_exporter.log 日志
  5. 浏览器访问 host:9100,是否看到下面的页面超详细教程:Centos安装Prometheus、Grafana监控Kafka及Linux主机,Linux,centos,docker,linux,centos,prometheus

出现如上的界面,表示此部分的部署成功。

安装并运行 kafka_exporter

  1. 下载 kafka_exporter
  2. 解压到指定 /app/exporter
  3. 编写启动脚本 start.sh,并给予权限 chmod + x start.sh,脚本内容如下:
    #!/bin/bash 
    nohup /app/exporter/kafka_exporter-1.7.0.linux-amd64/kafka_exporter --kafka.server=two:9092 --kafka.server=three:9092 --kafka.server=four:9092 > kafka_exporter.log &

其中 --kafka.server=two:9092 --kafka.server=three:9092 --kafka.server=four:9092 的作用是指定 Kafka 的集群地址(注意:一定要写上所有的节点地址)

执行命令 ./start.sh 启动 kafka_exporter.

验证 kafka_exporter 是否启动成功:

  1. 查看同级目录下的 kafka_exporter.log 日志
  2. 浏览器访问 host:9308,是否看到下面的页面

超详细教程:Centos安装Prometheus、Grafana监控Kafka及Linux主机,Linux,centos,docker,linux,centos,prometheus

安装并运行 Prometheus

  1. 下载 Prometheus
  2. 解压到 /opt/module/exporter/Prometheus 目录,然后进入解压后的目录,编写配置文件promethues.yml
    # my global config
    global:
      scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
      evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
      # scrape_timeout is set to the global default (10s).
    
    # Alertmanager configuration
    alerting:
      alertmanagers:
        - static_configs:
            - targets:
              # - alertmanager:9093
    
    # Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
    rule_files:
      # - "first_rules.yml"
      # - "second_rules.yml"
    
    # A scrape configuration containing exactly one endpoint to scrape:
    # Here it's Prometheus itself.
    scrape_configs:
      # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
      - job_name: "prometheus"
    
        # metrics_path defaults to '/metrics'
        # scheme defaults to 'http'.
    
        static_configs:
          - targets: ["localhost:9090"]
      
      # 新增部分: node_exporter 本机服务器监控
      - job_name: 'node'
        static_configs:
          - targets: ['localhost:9100']
    
      # 新增部分: kafka_exporter kafka集群监控 
      - job_name: 'kafka'
        static_configs:
          - targets: ['localhost:9308']
    
    
  3. 编写管理脚本control_prometheus.sh,并给予执行权限 chmod +x control_prometheus.sh,脚本内容如下:
    #!/bin/bash
    
    PID_FILE="prometheus.pid"
    LOG_FILE="prometheus.log"
    #根据自己目录情况定义
    CMD="/opt/module/exporter/Prometheus/prometheus-2.49.0-rc.1.linux-amd64/prometheus --config.file=prometheus.yml"
    
    function start {
        nohup $CMD > $LOG_FILE 2>&1 &
        echo $! > $PID_FILE
        echo "Started Prometheus, pid: $(cat $PID_FILE)"
    }
    
    function stop {
        kill $(cat $PID_FILE)
        rm $PID_FILE
        echo "Stopped Prometheus"
    }
    
    function status {
        if [ -f $PID_FILE ]; then
            pid=$(cat $PID_FILE)
    
            if ps -p $pid > /dev/null; then
                echo "Prometheus is running, pid: $pid"
                echo "Start time: $(ps -p $pid -o lstart=)"
                echo "Running time: $(ps -p $pid -o etime=)"
                echo "Started by user: $(ps -p $pid -o user=)"
            else
                echo "Prometheus is not running"
            fi
        else
            echo "Prometheus is not running"
        fi
    }
    
    case $1 in
    "start")
        start
    ;;
    "stop")
        stop
    ;;
    "status")
        status
    ;;
    *)
        echo "Usage: $0 {start|stop|status}"
    ;;
    esac
    
    
    

    验证 prometheus 是否启动成功:

  4. tail -fn 1000 prometheus.log
  5. 浏览器打开 http://host:9090,是否可以看到 prometheus 的 web ui 超详细教程:Centos安装Prometheus、Grafana监控Kafka及Linux主机,Linux,centos,docker,linux,centos,prometheus

 安装运行并配置 grafana (重点)

  • 是一个开源的度量分析和可视化工具,可以通过将采集的数据分析、查询,然后进行可视化的展示,并能实现报警。
  • 参考官网地址:Run Grafana Docker image | Grafana documentation

docker的安装 

通过命令行一键安装

curl -fsSL https://get.docker.com/ | sh ;

#如果没有curl ,需要先安装curl
apt install curl;
docker的开启 和停止命令:
sudo systemctl start docker # 开启
sudo systemctl status docker # 状态
sudo systemctl enable docker #

 Grafana镜像的下载安装最新的的版本

docker pull grafana/grafana:latest

超详细教程:Centos安装Prometheus、Grafana监控Kafka及Linux主机,Linux,centos,docker,linux,centos,prometheus

临时不挂载目录直接安装命令:

# 临时创建docker grafana
docker run -d --name=grafana -p 3000:3000 grafana/grafana:latest

docker ps -a 查看运行的docker镜像 

超详细教程:Centos安装Prometheus、Grafana监控Kafka及Linux主机,Linux,centos,docker,linux,centos,prometheus 

挂载目录正式安装 

查看容器的环境变量配置的默认目录

  • 命令:docker inspect grafana | grep Env -A 10
  • 说明:查看容器的“Env”配置的10行内容
    超详细教程:Centos安装Prometheus、Grafana监控Kafka及Linux主机,Linux,centos,docker,linux,centos,prometheus
         "Env": [
                "PATH=/usr/share/grafana/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "GF_PATHS_CONFIG=/etc/grafana/grafana.ini",
                "GF_PATHS_DATA=/var/lib/grafana",
                "GF_PATHS_HOME=/usr/share/grafana",
                "GF_PATHS_LOGS=/var/log/grafana",
                "GF_PATHS_PLUGINS=/var/lib/grafana/plugins",
                "GF_PATHS_PROVISIONING=/etc/grafana/provisioning"
            ],
            "Cmd": null,
            "Image": "grafana/grafana:latest",
您在 /var/spool/mail/root 中有新邮件

在宿主机器创建目录 

mkdir -p /opt/module/grafana/{logs,config,data,plugins}

将已经创建的grafana容器的文件拷贝到宿主机

#将已经创建的grafana容器文件拷贝到宿主机器
docker cp grafana:/etc/grafana/.   /opt/module/grafana/config/
docker cp grafana:/var/lib/grafana/.  /opt/module/grafana/data/
docker cp grafana:/var/log/grafana/.  /opt/module/grafana/logs/

超详细教程:Centos安装Prometheus、Grafana监控Kafka及Linux主机,Linux,centos,docker,linux,centos,prometheus

  • 创建grafana用户
    • 说明:由于容器内使用“grafana”用户运行“grafana”服务,所有需要创建对应的用户(注:可进入容器查看)
    • 命令:useradd grafana
  • 修改用户的UID、GID信息
    • 说明:由于容器内的“grafana”用户的UID、GID都是472,所以要保持一致修改
    • 命令:vim /etc/passwd

超详细教程:Centos安装Prometheus、Grafana监控Kafka及Linux主机,Linux,centos,docker,linux,centos,prometheus

    • 命令:vim /etc/group

超详细教程:Centos安装Prometheus、Grafana监控Kafka及Linux主机,Linux,centos,docker,linux,centos,prometheus

 修改映射目录所有者为grafana用户、并进行授权

chown -R grafana:grafana /opt/module/grafana/
chmod -R 755 /opt/module/grafana/

超详细教程:Centos安装Prometheus、Grafana监控Kafka及Linux主机,Linux,centos,docker,linux,centos,prometheus

创建容器启动命令:


docker run -d \
   --name grafana \
   -p 3000:3000 \
   --privileged=true \
   -v /opt/module/grafana/config/:/etc/grafana \
   -v /opt/module/grafana/data/:/var/lib/grafana \
   -v /opt/module/grafana/logs/:/var/log/grafana \
   -e "GF_SECURITY_ADMIN_PASSWORD=admin" \
   -e "GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource" \
   -e TZ=Asia/Shanghai \
   grafana/grafana:latest

# docker run:运行并启动容器
# -d:在后台运行容器,并输出容器ID
# --name:设置容器的名称
# -p 3000:3000:容器的3000端口映射宿主机3000端口(程序访问端口)
# --privileged=true:可选配置,目录映射时避免出现权限问题
# -v:设置"宿主机目录:容器目录"映射位置
# -e:设置时区
# grafana/grafana:latest:执行安装的镜像信息,格式:名称:标签(REPOSITORY:TAG)

 访问grafana页面,账号密码默认都是admin

  • 地址:http://xxx.xxx.xxx.xxx:3000
  • 账密:admin / admin

至此顺利的话已经安装结束了,但是博主遇到如下的报错:

超详细教程:Centos安装Prometheus、Grafana监控Kafka及Linux主机,Linux,centos,docker,linux,centos,prometheus

这个不错也不是账号密码错误,而是Internal Server Error

通过命令查看docker的日志:

docker logs -f grafana

超详细教程:Centos安装Prometheus、Grafana监控Kafka及Linux主机,Linux,centos,docker,linux,centos,prometheus发现是数据库权限问题

通过执行如下命令解决:

chmod 777 grafana.db

##重启docker 镜像
docker restart grafana

超详细教程:Centos安装Prometheus、Grafana监控Kafka及Linux主机,Linux,centos,docker,linux,centos,prometheus

出现如下界面 顺利登录。

 

访问测试

访问{ip}:3000即可,使用账密 admin/admin 进行登录即可

超详细教程:Centos安装Prometheus、Grafana监控Kafka及Linux主机,Linux,centos,docker,linux,centos,prometheus使用测试

  1. 添加数据源超详细教程:Centos安装Prometheus、Grafana监控Kafka及Linux主机,Linux,centos,docker,linux,centos,prometheus

    选择普罗米修斯作为数据源

  2. 超详细教程:Centos安装Prometheus、Grafana监控Kafka及Linux主机,Linux,centos,docker,linux,centos,prometheus

超详细教程:Centos安装Prometheus、Grafana监控Kafka及Linux主机,Linux,centos,docker,linux,centos,prometheus

导入node模版 

超详细教程:Centos安装Prometheus、Grafana监控Kafka及Linux主机,Linux,centos,docker,linux,centos,prometheus

 输入:12633,点击右边的Load

超详细教程:Centos安装Prometheus、Grafana监控Kafka及Linux主机,Linux,centos,docker,linux,centos,prometheus

 选择 prometheus,然后 Import。

超详细教程:Centos安装Prometheus、Grafana监控Kafka及Linux主机,Linux,centos,docker,linux,centos,prometheus

 最后,顺便点一下其他地方,选择保存面板

我在安装中用到的命令脚本:文章来源地址https://www.toymoban.com/news/detail-763353.html

mkdir -p /opt/module/grafana/{logs,config,data,plugins}
# 临时创建docker grafana
docker run -d --name=grafana -p 3000:3000 grafana/grafana:latest

chown -R grafana:grafana /opt/module/grafana/
chmod -R 755 /opt/module/grafana/

##a、查看容器的环境变量配置的默认目录
docker inspect grafana | grep Env -A 10
说明:查看容器的“Env”配置的10行内容

            "Env": [
                "PATH=/usr/share/grafana/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "GF_PATHS_CONFIG=/etc/grafana/grafana.ini",
                "GF_PATHS_DATA=/var/lib/grafana",
                "GF_PATHS_HOME=/usr/share/grafana",
                "GF_PATHS_LOGS=/var/log/grafana",
                "GF_PATHS_PLUGINS=/var/lib/grafana/plugins",
                "GF_PATHS_PROVISIONING=/etc/grafana/provisioning"
            ],
            "Cmd": null,
            "Image": "grafana/grafana:latest",
您在 /var/spool/mail/root 中有新邮件

#将已经创建的grafana容器文件拷贝到宿主机器
docker cp grafana:/etc/grafana/.   /opt/module/grafana/config/
docker cp grafana:/var/lib/grafana/.  /opt/module/grafana/data/
docker cp grafana:/var/log/grafana/.  /opt/module/grafana/logs/

docker run -d \
   --name grafana \
   -p 3000:3000 \
   --privileged=true \
   -v /opt/module/grafana/config/:/etc/grafana \
   -v /opt/module/grafana/data/:/var/lib/grafana \
   -v /opt/module/grafana/logs/:/var/log/grafana \
   -e "GF_SECURITY_ADMIN_PASSWORD=admin" \
   -e "GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource" \
   -e TZ=Asia/Shanghai \
   grafana/grafana:latest





  
docker run -d \
    -p 3000:3000 \
    -net=host \
    --name=grafana \
    -v /etc/localtime:/etc/localtime:ro \
    -v /opt/grafana/data:/var/lib/grafana \
    -v /opt/grafana/plugins/:/var/lib/grafana/plugins \
    -v /opt/grafana/config/grafana.ini:/etc/grafana/grafana.ini \
    -e "GF_SECURITY_ADMIN_PASSWORD=admin" \
    -e "GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource" \
    grafana/grafana:9.3.2
    
    

CMD="/mnt/user/appdata/docker/module/exporter/Prometheus/prometheus-2.49.0-rc.1.linux-amd64/prometheus --config.file=prometheus.yml"


docker run -d \
   --name grafana \
   -p 321:3000 \
   --privileged=true \
   -v /mnt/user/appdata/docker/module/grafana/config/:/etc/grafana \
   -v /mnt/user/appdata/docker/module/grafana/data/:/var/lib/grafana \
   -v /mnt/user/appdata/docker/module/grafana/logs/:/var/log/grafana \
   -e "GF_SECURITY_ADMIN_PASSWORD=admin" \
   -e "GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource" \
   -e TZ=Asia/Shanghai \
   grafana/grafana:latest
   
grafana:x:472:472::/home/grafana:/bin/bash
grafana:x:472:

chown -R grafana:grafana /mnt/user/appdata/docker/module/grafana
chmod -R 755 /mnt/user/appdata/docker/module/grafana

到了这里,关于超详细教程:Centos安装Prometheus、Grafana监控Kafka及Linux主机的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker安装grafana,prometheus,exporter以及springboot整合详细教程(GPE)

    springboot项目ip:192.168.168.1 测试服务器ip:192.168.168.81 文章来自互联网,自己略微整理下,更容易上手,方便自己,方便大家 最终效果: node springboot docker pull prom/node-exporter docker pull prom/mysqld-exporter docker pull google/cadvisor docker pull prom/prometheus docker pull grafana/grafana   访问url: http://192.168

    2024年02月10日
    浏览(32)
  • Docker安装Prometheus和Grafana监控Redis

    使用 Docker 安装 Grafana 和 Prometheus 无疑是最简单的,我们接下来将采用此种方式。 查看Prometheus镜像 拉取镜像 在 /home/zhangshixing/prometheus/ 目录下创建Prometheus的配置文件 prometheus.yml : 运行Prometheus,把宿主机中的配置文件 prometheus.yml 挂载到容器中去: 浏览器访问: 如果遇到:

    2024年02月12日
    浏览(33)
  • docker容器监控:Cadvisor +Prometheus+Grafana的安装部署

    目录 Cadvisor +Prometheus+Grafana的安装部署 一、安装docker: 1、安装docker-ce 2、阿里云镜像加速器 3、下载组件镜像 4、创建自定义网络 二、部署Cadvisor 1、被监控主机上部署Cadvisor容器 2、访问cAdvisor页面 三、安装prometheus 1、部署Prometheus  2、先准备配置 3、访问prometheus页面 四、部

    2024年02月14日
    浏览(32)
  • 二进制部署Prometheus + Grafana监控集群,及各exporter安装

    Prometheus三大组件: Server 主要负责数据采集和存储,提供PromQL查询语言的支持。 Alertmanager 警告管理器,用来进行报警。 Push Gateway 支持临时性Job主动推送指标的中间网关。 Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google B

    2024年02月13日
    浏览(35)
  • Kubernetes(k8s)上安装Prometheus和Grafana监控

    当然前提环境是你得先有一个Kubernetes集群,版本在v1.21.*~v1.27.*之间,当然我已经准备好了Kubernetes: 可以看到我准备的Kubernetes版本为1.21.14的,符合要求。本篇文章也以这个版本来进行安装,上面提到的版本安装步骤和这个版本大体相同,按照步骤来即可。 因为在Kubernetes上安

    2024年02月10日
    浏览(39)
  • Kubernetes(k8s)监控与报警(qq邮箱+钉钉):Prometheus + Grafana + Alertmanager(超详细)

    💖The Begin💖点点关注,收藏不迷路💖 Kubernetes是一个高度动态的容器编排平台,管理着大量的容器化应用程序。 为了保证这些应用程序的稳定性和性能,我们需要实施有效的监控和警报机制。在这篇文章中,我们将介绍如何使用Prometheus和Grafana构建一个完整的Kubernetes监控与

    2024年04月11日
    浏览(48)
  • Prometheus实战教程:监控Kafka消息

    今天我们使用prometheus+Grafana+kafka_exporter+kafka实现监控Kafka运行状态。 kafka_exporter:采集kafka各项指标数据 prometheus:获取kafka_exporter数据 Grafana:展示prometheus采集的数据 如何使用prometheus和Grafana监控Kafka运行状态呢,请君继续往下看。 一、Kafka简介 (1)Kafka基本概念        K

    2024年02月16日
    浏览(27)
  • Prometheus服务器、Prometheus被监控端、Grafana、Prometheus服务器、Prometheus被监控端、Grafana

    day03Prometheus概述部署Prometheus服务器环境说明:配置时间安装Prometheus服务器添加被监控端部署通用的监控exporterGrafana概述部署Grafana展示node1的监控信息监控MySQL数据库配置MySQL配置mysql exporter配置mysql exporter配置prometheus监控mysql自动发现机制概述基于文件自动发现修改Prometheus使

    2024年02月14日
    浏览(28)
  • Prometheus部署指南:安装、配置、启动及与Grafana集成详细说明

    了解如何部署Prometheus,包括安装、配置、启动以及与Grafana的集成方法。适合需要监控和可视化大规模指标数据的用户。

    2023年04月15日
    浏览(26)
  • Linux环境下(Centos7) 下安装Kafka详细教程

    1.1 选择镜像: 清华镜像 阿里镜像 可以在上面两个地方选一个合适的镜像 1.2 安装步骤 创建文件夹: 进入文件夹: 下载镜像至新建的文件夹: 此处的zookeeper版本可能已经失效了,同学们可在镜像网站内选择合适的zookeeper版本,然后以此命令替换掉 镜像源下载即可。 解压下载

    2024年02月12日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包