Docker安装Prometheus监控

news/2024/5/19 2:02:55 标签: prometheus, grafana, docker

环境初始化

关闭防火墙

setenforce 0
vim /etc/selinux/config
##################内部代码###################
SELINUX=disabled #关闭防火墙
############################################

安装docker

#卸载yum源之前的docker安装包
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
# 安装 yum-utils
sudo yum install -y yum-utils
# 配置docker yum 源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 查看yum源中的docker 
yum list docker-ce --showduplicates | sort -r
# 安装docker服务
sudo yum install docker-ce docker-ce-cli containerd.io
# 启动docker服务
systemctl start docker

安装Prometheus

docker pull安装包

docker pull prom/node-exporter                      #普罗米修斯指标数据收集组件  
docker pull prom/mysqld-exporter:v0.14.0			#监控数据库
docker pull google/cadvisor         				#容器监控
docker pull prom/prometheus	                        #普罗米修斯监控
docker pull grafana/grafana							#普罗米修斯监控界面

安装node-exporter

docker run -d --name node-exporter --restart=always -p 9100:9100 -v "/proc:/host/proc:ro" -v "/sys:/host/sys:ro" -v "/:/rootfs:ro" prom/node-exporter

测试访问地址

exporter测试访问地址 再次之前需要开放防火墙端口,可以看一下下面的防火墙端口开放技术

http://localhost:9100/metrics

安装google/cadvisor

docker run -d -p 8080:8080 --name cadvisor --privileged=true -v /:/rootfs:ro -v /var/run:/var/run:rw -v /sys:/sys:ro -v /var/lib/docker/:/var/lib/docker:ro google/cadvisor:latest

启动不成功,包下列错误,执行下列代码

mount –o rmount,rw ‘/sys/fs/cgroup’
ln –s /sys/fs/cgroup/cpu,cpuacct /sys/fs/cgroup/cpuacct,cpu

测试访问

http://192.168.233.99:8080/containers/

部署配置prometheus

创建存放prometheus的文件夹
mkdir /opt/prometheus
切换到prometheus目录下
cd /opt/prometheus/
编写prometheus.yml文件
vim prometheus.yml
配置peometheus.yml
###############################配置内容###########################
global:
  scrape_interval:     60s
  evaluation_interval: 60s

scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets: ['localhost:9090']
        labels:
          instance: prometheus

  - job_name: mysqlOA
    static_configs:
      - targets: ['192.168.0.200:9104']         #按照实际的ip配置
        labels:
          instance: mysqlOA
########################################################
###############################配置内容###########################
global:                        #控制Prometheus服务器的全局配置
  scrape_interval:     60s     #配置拉取数据的时间间隔,默认为1分钟。
  evaluation_interval: 60s     #规则验证(生成alert)的时间间隔,默认为1分钟。

rule_files:                    #
  # - "first_rules.yml"
  # - "second_rules.yml"

scrape_configs:                #配置块:配置采集目标相关, prometheus监视的目标。Prometheus自身的运行信息可以通过HTTP访问,所以Prometheus可以监控自己的运行数据。

  - job_name: prometheus    #监控作业的名称
    static_configs:        #表示静态目标配置,就是固定从某个target拉取数据
      - targets: ['localhost:9090'] #指定监控的目标,其实就是从哪儿拉取数据。Prometheus会从http://hadoop1:9090/metrics上拉取数据。
        labels:
          instance: prometheus

  - job_name: mysqlOA
    static_configs:
      - targets: ['192.168.0.200:9104']         #按照实际的ip配置
        labels:
          instance: mysqlOA
#######################################################

启动prometheus
docker run -d -p 9090:9090 -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml --name prometheus prom/prometheus 

验证

ss -anptl | grep 9090

访问 访问之前先开房9090端口

Ip:9090/graph

启动grafana

# 创建grafana-storage目录
mkdir /opt/grafana-storage
# 给grafana-storge赋予权限
chmod 777 -R /opt/grafana-storage
# 启动运行grafana容器
docker run -d   -p 3000:3000   --name=grafana   -v /opt/grafana-storage:/var/lib/grafana  --network grafana/grafana

验证

ss -anptl | grep 3000

访问 grafana

ip:3000/

默认管理员账号密码都是admin

防火墙开放端口 

如果关闭防火墙则不用配置

# 开启防火墙端口号
firewall-cmd --permanent --add-port=9100/tcp
# 重启防火墙
firewall-cmd --reload
# 查询端口是否被开放
firewall-cmd --query-port=9100/tcp

grafana关联prometheus

1、登录到grafana   地址IP:3000     初始账号密码都是admin

2、添加prometheus数据源

 

docker inspect prometheus | grep IPAdd        #查容器IP

 添加完成prometheus数据源

3、添加模版

Gratana模版地址  https://grafana.com/grafana/dashboards/

下载模版 输入模版编号下载

 

 


http://www.niftyadmin.cn/n/5425823.html

相关文章

java019 - Java内部类

1、内部类概述 1.1 内部类访问特点 内部类可以访问外部类的成员,包括私有外部类要访问内部类的成员,必须创建对象 代码: outer类:inner为内部类 2、成员内部类 2.1 成员内部类 代码: 外部类: 测试类中…

一道AI做过的小学奥数题,结果表明:今天的AI已经达到精神病人的智力水平

重庆家长找AI计算的小学奥数题,AI没有找到答案。也就是被吹上天的AI其实根本不具有人类智能。但不妨把AI理解为精神病人,因为他们有异常的艺术天赋。 两地A、B之间相距4000m;甲从A地以匀速60m/min向B出发,同时乙从B地出发以匀速26…

:% s/\r//g 去掉^M,删除远程分支git branch -d <branch_name>

若打开vim文件出现^M格式&#xff0c;主要是用dos文件打开导致出现了^M格式&#xff0c;需要vim打开文件然后输入命令&#xff1a; :% s/\r//g 才会将^M取消代替。 删除远程分支命令&#xff1a;git push origin --delete <branch_name> 要删除一个Git分支&#xff0c;…

【C语言_指针[2]_复习篇】

目录 一、数组名的理解 二、使用指针访问一维数组中的每个元素 三、一维数组传参的本质 四、冒泡排序 五、二级指针 六、指针数组 七、指针数组模拟二维数组 一、数组名的理解 1. 一般情况下&#xff0c;数组名就是数组首元素的地址。 2. 特殊情况1&#xff1a;sizeof(数…

使用训练好的MMSegmentation模型推理大尺度遥感影像(包含遥感影像裁剪和拼接代码)

模型推理部分采用的是MMSegmentation框架的模型&#xff0c;可根据自己的模型&#xff08;如pytorch或tensorflow模型&#xff09;情况修改该部分。 import os import syssys.path.append(os.path.join("utils")) import argparse import shutil import torch impor…

大数据开发(HBase面试真题-卷一)

大数据开发&#xff08;HBase面试真题&#xff09; 1、请解释Hive和HBase之间的主要区别&#xff1f;2、描述一下Apache HBase与关系数据库之间有何区别&#xff1f;3、简要介绍HDFS和HBase&#xff0c;并描述它们适用的场景。4、HBase Column Family的概念是什么&#xff1f;5…

mysql 优化——磁盘空间优化

前言 有的时候&#xff0c;表的数据太多&#xff0c;为了提高查询以及存储&#xff0c;就把历史数据放到一个历史表里&#xff0c;在把历史数据删除&#xff0c;发现虽然历史数据删除&#xff0c;表的大小并没有发生改变。 Innodb 表有两部分&#xff0c;即&#xff1a;表结构…

Frostmourne - Elasticsearch源日志告警配置

简介 配置Frostmourne 接入Elasticsearch源进行日志匹配告警&#xff0c;并静默规则&#xff0c;告警消息发送到企业微信&#xff0c;告警信息使用Markdown。 部署安装教程查看&#xff1a; https://songxwn.com/frostmourne_install ELK 安装教程&#xff1a;https://songx…