首页 > 其他分享 >docker部署Prometheus

docker部署Prometheus

时间:2024-02-26 15:00:33浏览次数:27  
标签:exporter 部署 prometheus Prometheus -- xx docker grafana

 

1、安装运行Prometheus

下面介绍如何使用Prometheus、Grafana、CAdvisor、node-exporter、mysqld-exporter对本机服务器性能、Docker容器、MySQL数据库进行监控。

  1. 监控本机,只需要一个exporter
  2. node_exporter – 用于机器系统数据收集
  3. mysqld-exporter 用于MySQL数据库数据收集
  4. Cadvisor 用于收集宿主机上的docker容器数据
  5. Grafana是一个开源的功能丰富的数据可视化平台,通常用于时序数据的可视化。

下载镜像包

docker pull prom/node-exporter
docker pull prom/mysqld-exporter
docker pull google/cadvisor
docker pull prom/prometheus
docker pull grafana/grafana

1.1、启动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

1.2、访问url:

http://xx.xxx.x.xx:9100/metrics

1.3、效果如下:

 2、启动mysqld-exporter

2.1、新建文件.my.cnf

地址:/home/mysql-exporter/.my.cnf

2.2、打开文件编写

vim /home/mysql-exporter/.my.cnf
[client]
# 这里使用的容器名称。所有容器都指定在同一 network 中,docker 允许处在同一网络环境的容器使用容器名称项目访问。另外,容器启动时会随机分配 IP,所以这里使用容器名称最合适。当然也可以容器启动时,指定的 IP
host=xx.xxx.x.xx
port=6306
# mysql 用户名
user=exporter
# mysql 用户密码
password=123456

2.3、启动

docker run -d --name mysqld_exporter --restart=always -p 9104:9104 -v /home/mysql-exporter/.my.cnf:/.my.cnf -e DATA_SOURCE_NAME="exporter:123456@(94.191.1.78:6306)/" prom/mysqld-exporter

2.4、访问url:

http://xx.xxx.x.xx:9104/metrics

2.5、效果如下:

这些都是收集到数据,有了它就可以做MySQL数据库数据展示了

2.6、无法连接到mysql

exporter.go:149 level=error msg="Error pinging mysqld" err="Error 1045: Access denied for user 'exporter'@'xx.xxx.x.xx' (using password: YES)"

 简单解释就是:mysqld_exporter无法连接到mysql。

原因:本地域用户赋权问题。mysqld_exporter是以本地域访问的MySQL,你指定的用户没有本地域权限。

解决:

-- 查询用户权限:
select * from mysql.user;
-- 创建用户并赋权
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';
-- 更新配置
FLUSH PRIVILEGES;

如果还是不好使,就将创建出来的用户host由localhost改为%,然后再更新配置试试。

3、 启动cadvisor

docker run -v /:/rootfs:ro -v /var/run:/var/run:rw -v /sys:/sys:ro -v /var/lib/docker/:/var/lib/docker:ro -v /dev/disk/:/dev/disk:ro -p 8080:8080 -d --name=cadvisor --restart=always google/cadvisor:latest

3.1、访问url:

http://xx.xxx.x.xx:8080/metrics

3.2、效果如下:

这些都是收集到数据,有了它就可以做Docker容器数据展示了

4、启动prometheus

4.1、新建目录prometheus,编辑配置文件prometheus.yml

mkdir /opt/prometheus
cd /opt/prometheus/
vim prometheus.yml

内容如下:

global:
  scrape_interval:     60s
  evaluation_interval: 60s

scrape_configs:

  - job_name: prometheus
    static_configs:
      - targets: ['xx.xxx.x.xx:9090']
        labels:
          instance: prometheus

  - job_name: linux
    static_configs:
      - targets: ['xx.xxx.x.xx:9100']
        labels:
          instance: localhost
   #  - targets: ['192.168.1.22:9100']  
   #这里添加targets,可以使用Prometheus监控其他装有node_exporter的节点,单节点则不需要
   #    labels:
   #      instance: 192.168.1.22

  - job_name: cadvisor
    static_configs:
      - targets: ['xx.xxx.x.xx:8080']
        labels:
          instance: cAdvisor

  - job_name: mysqld
    static_configs:
      - targets: ['xx.xxx.x.xx:9104']
        labels:
          instance: mysql-exporter

4.2、启动容器

docker run  -d --name prometheus --restart=always -p 9090:9090 -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

注意:宿主机的路径必须是绝对路径:/opt/prometheus/prometheus.yml,否者报错

4.3、访问url:

http://xx.xxx.x.xx:9090/graph

4.4、效果如下:

 

4.5、访问targets

http://xx.xxx.x.xx:9090/targets

4.6、效果如下:

 如果状态没有UP起来,等待一会,就会UP了

5、启动grafana

5.1、新建空文件夹grafana-storage,用来存储数据

mkdir /opt/grafana-storage

5.2、添加权限

chmod 777 -R /opt/grafana-storage

因为grafana用户会在这个目录写入文件,直接设置777,比较简单粗暴!

5.3、启动

docker run -d --name grafana --restart=always -p 3000:3000 --name=grafana -v /opt/grafana-storage:/var/lib/grafana grafana/grafana

5.4、访问url:

http://xx.xxx.x.xx:3000/

默认会先跳转到登录页面,默认的用户名和密码都是admin

登录之后,它会要求你重置密码。你还可以再输次admin密码!

点击菜单,选择Connections->Data sources->Add new data source

name名字写Prometheus

type 选择Prometheus,因为数据都从它那里获取

url 输入Prometheus的ip(docker容器私网ip)+端口

 点击下面的Save & Test,如果出现绿色的,说明ok了

 回到首页,导入grafana监控模板,linux监控模板id为8919,填入如下输入框内

 保存就可以进行数据可视化展示

导入主机的监控模板,模板id为8919,以相同方式导入即可

导入容器的监控模板,模板id为179,以相同方式导入即可

标签:exporter,部署,prometheus,Prometheus,--,xx,docker,grafana
From: https://www.cnblogs.com/Galaxy1/p/18034293

相关文章

  • 部署K8S-1-26
    DEVops入门1部署K8S1.1节点准备节点名ip功能k8s-master10.0.0.153k8s-node110.0.0.154k8s-node210.0.0.1551.2初始操作在所有节点执行#1关闭防火墙systemctldisablefirewalldsystemctlstopfirewalldfirewall-cmd--state#2关闭seli......
  • 部署K8S-1-23
    DEVops入门1部署K8S1.1节点准备节点名ip功能k8s-master10.0.0.150k8s-node110.0.0.151k8s-node210.0.0.1521.2初始操作在所有节点执行#1关闭防火墙systemctldisablefirewalldsystemctlstopfirewalld#2关闭selinuxsed-i's/enforci......
  • 动手实践丨轻量级目标检测与分割算法开发和部署(RK3568)
    本文分享自华为云社区《自动驾驶(AIOT)-轻量级目标检测与分割算法开发和部署(RK3568)【玩转华为云】》,作者:HouYanSong。本文将在ModelArts平台上开发轻量级目标检测与分割算法,并使用ModelBox框架在RK3568开发板上实现模型推理和部署。数据准备我们收集了一份200张由Labelme......
  • centos8 安装docker
    说明:因为centos8版本得原因,很多网上docker得安装,已经不适用于现在得环境,会出现各种错误,所以就安装问题给个详细得成功经验1、遇到这个问题:centos8安装docker遇到yuminstall-yyum-utils报错,Nomatchforargument:、Unabletofindamatch:解决方法:这个问题是语言的环境问题......
  • 从零开始写 Docker(二)---优化:使用匿名管道传递参数
    本文为从零开始写Docker系列第二篇,主要在mydockerrun命令基础上优化参数传递方式,改为使用runC同款的匿名管道传递参数。如果你对云原生技术充满好奇,想要深入了解更多相关的文章和资讯,欢迎关注微信公众号。扫描下方二维码或搜索公众号【探索云原生】即可订阅完整代......
  • [Docker] 基于CENTOS7的Docker版本升级
    0序环境信息OS:CENTOS7.9.2009DockerVersion:18.06.3-ce=>25.0.3-1.el71升级过程Step1卸载低版本dockerStep1.1检查docker版本#查看版本(方法1)dockerversion#查看版本(方法2)rpm-qa|grepdocker#查看版本(方法3)yumlistinstalled|g......
  • 在Docker中设置Redis的密码
    目录1,介绍2,实现“DockerRedis设置密码”的整体流程3,具体实现步骤4,结论1,介绍Docker是一个开源的应用容器引擎,可以自动化部署、扩展应用程序。它可以帮助开发人员将应用程序及其依赖项打包到一个可移植的容器中,然后在任何环境中运行。Redis是一个开源的内存数据结构存储系统,它可以......
  • 雾锁王国服务器一键部署教程
    去年1月24日有一款游戏登录了Steam,它的名字叫《雾锁王国》,如果不出意外的话,它可能就是游戏界的汪峰了,因为此时正值另一款游戏《幻兽帕鲁》热度正高之时。。然而它顶住了帕鲁的压力,短时间内就荣登Steam热度趋势榜单的榜首。到目前为止已经收获了超过2.7w条的好评,好评率高......
  • CentOS7安装Docker
    1.删除原有的Docker(如果有)sudoyumremovedocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\......
  • Docker 容器的备份和迁移
    Docker的镜像和容器有两种方式导出DockerSave镜像方法,会保存该镜像的所有历史记录,包括数据1、创建快照使用dockercommit命令来创建快照,生成images镜像。dockercommit-pcontainer_namecontainer-backup获取IMAGEIDdockerimages2、备份快照镜像导出镜像,后缀为tar......