docker安装prometheus和grafana

docker安装prometheus和grafana安装 docker 我使用的是 ubuntu 系统安装 通常我们安装都是在 root 用户下面的 1 从普通用户切换到 root 用户 sudo su 2 更新 aptapt get update 3

欢迎大家来到IT世界,在知识的湖畔探索吧!

  1. 安装docker

我使用的是ubuntu系统安装。

通常我们安装都是在root用户下面的:

#1. 从普通用户切换到root用户。

sudo su

#2. 更新apt

apt-get update

#3. 使用命令来安装docker

sudo apt-get install docker-ce docker-ce-cli containerd.io

可以用docker -v来测试docker是否安装成功。

#4. 然后可以随便拉取一个镜像来进行测试。

docker pull ubuntu

#5. 这个时候会提示你登录docker,你只需要进行docker的注册,然后就可以在这边进行登录了。

#6. 镜像源切换。通常docker默认使用的是国外的镜像,我们拉取镜像的时候很慢,这个时候需要切换到国内的一些可替代的镜像源。

对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):

{“registry-mirrors”:[“https://reg-mirror.qiniu.com/”]}

更多的可以参考一下阿里云:
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

  1. 安装prometheus

上面我们的docker已经安装好了,接下来就是安装prometheus。

  • prometheus(普罗米修斯):天生为采集存储监控数据而生的时序数据库。prometheus通过各种Exporter采集到监控数据,然后存储进prometheus中,以供查询展示
  • grafana:一个监控仪表系统。grafana的数据来源可以有很多(如:Prometheus、Graphite、OpenTSDB、InfluxDB、MySQL/PostgreSQL、Microsoft SQL Serve等等),其中用得最多的数据源是prometheus

注:prometheus也有自己的UI,不过功能没有grafana强大

  1. 使用命令来搜索prometheus:

docker search prometheus

docker安装prometheus和grafana



欢迎大家来到IT世界,在知识的湖畔探索吧!

  1. 我们拉取第一个:

docker pull bitnami/prometheus

查看刚才来去的镜像:

docker images

docker安装prometheus和grafana

创建挂载目录以及文件(因为如果是默认利用拉取镜像的空间的话,在docker重启的时候可能出现数据丢失。

#/opt/prometheus/data目录,准备用来挂载放置prometheus的数据

#/opt/prometheus/config目录,准备用来放置prometheus的配置文件

#/opt/prometheus/rules目录,准备用来挂载放置prometheus的规则文件

mkdir -p /opt/prometheus/{data,config,rules}

#授权相关文件夹权限

chmod -R 777 /opt/prometheus/data

chmod -R 777 /opt/prometheus/config

chmod -R 777 /opt/prometheus/rules

  1. 准备文件:
# 配置文件 cat > /opt/prometheus/config/prometheus.yml << \EOF global: # 数据采集间隔 scrape_interval: 45s # 告警检测间隔 evaluation_interval: 45s # 告警规则 rule_files: # 这里匹配指定目录下所有的.rules文件 - /prometheus/rules/*.rules # 采集配置 scrape_configs: # 采集项(prometheus) - job_name: 'prometheus' static_configs: # prometheus自带了对自身的exporter监控程序,所以不需额外安装exporter就可配置采集项 - targets: ['localhost:9090'] EOF # 查看一下配置文件 cat /opt/prometheus/

欢迎大家来到IT世界,在知识的湖畔探索吧!

prometheus配置项说明

global:全局配置 (如果有内部单独设定,会覆盖这个参数)

alerting:告警插件定义。这里会设定alertmanager这个报警插件

rule_files:告警规则。 按照设定参数进行扫描加载,用于自定义报警规则,其报警媒介和route路由由alertmanager插件实现

scrape_configs:采集配置。配置数据源,包含分组job_name以及具体target。又分为静态配置和服务发现

remote_write:用于远程存储写配置

remote_read:用于远程读配置

  1. 启动容器
欢迎大家来到IT世界,在知识的湖畔探索吧!# 启动prometheus # config.file:指定容器中,配置文件的位置 # web.enable-lifecycle:启动此项后,当配置文件发生变化后,可通过HTTP API 发送 post 请求到 /-/reload,实现热加载,如:curl -X POST http://47.105.39.189:9090/-/reload # -v /etc/localtime:/etc/localtime:ro表示让容器使用宿主机的时间, :ro表示只读(注:此方式只针对宿主机和容器的时区文件均为/etc/localtime) docker run --name prometheus -d \ -p 9090:9090 \ -v /etc/localtime:/etc/localtime:ro \ -v /opt/prometheus/data:/prometheus/data \ -v /opt/prometheus/config:/prometheus/config \ -v /opt/prometheus/rules:/prometheus/rules \ bitnami/prometheus --config.file=/prometheus/config/prometheus.yml --web.enable-lifecycle
  1. 测试并访问:

{ip}:9090来进行访问:

docker安装prometheus和grafana

  1. 安装grafana
  1. 拉取镜像:

搜索grafana镜像:

docker search grafana
docker安装prometheus和grafana

然后拉取第一个:

欢迎大家来到IT世界,在知识的湖畔探索吧!docker pull grafana/grafana 
  1. 准备挂载文件
# /opt/grafana/data目录,准备用来挂载放置grafana的数据 # /opt/grafana/plugins目录,准备用来放置grafana的插件 # /opt/grafana/config目录,准备用来挂载放置grafana的配置文件 mkdir -p /opt/grafana/{data,plugins,config} # 授权相关文件夹权限 chmod -R 777 /opt/grafana/data chmod -R 777 /opt/grafana/plugins chmod -R 777 /opt/grafana/config

如果这个时候我们想要grafana默认的模版的话(也就是默认的配置文件,当然你也可以自己手动创建一个类似的文文件的,我这里使用的是创建一个默认的方式)

这里的命令要一条一条的执行。

欢迎大家来到IT世界,在知识的湖畔探索吧!# 先临时启动一个容器 docker run --name grafana-tmp -d -p 3000:3000 grafana/grafana # 将容器中默认的配置文件拷贝到宿主机上 docker cp grafana-tmp:/etc/grafana/grafana.ini /opt/grafana/config/grafana.ini # 移除临时容器 docker stop grafana-tmp docker rm grafana-tmp # 修改配置文件(需要的话) # vim /opt/grafana/config/grafana.ini
  1. 启动容器:
# 启动prometheus # 环境变量GF_SECURITY_ADMIN_PASSWORD:指定admin的密码 # 环境变量GF_INSTALL_PLUGINS:指定启动时需要安装得插件 # grafana-clock-panel代表时间插件 # grafana-simple-json-datasource代表json数据源插件 # grafana-piechart-panel代表饼图插件 docker run -d \ -p 3000:3000 \ --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-piechart-panel" \ grafana/grafana: 

然后进行访问:{ip}:3000

docker安装prometheus和grafana

  1. 倒入数据源
docker安装prometheus和grafana

然后写入这个:

docker安装prometheus和grafana

然后效果:

docker安装prometheus和grafana

  1. 安装系统采集服务
  1. 安装采集服务:node-exporter
欢迎大家来到IT世界,在知识的湖畔探索吧!# 下载 wget https://github.com/prometheus/node_exporter/releases/download/v1.1.2/node_exporter-1.1.2.linux-amd64.tar.gz # 解压 tar -xvf node_exporter-1.1.2.linux-amd64.tar.gz cd node_exporter-1.1.2.linux-amd64 # 启动 nohup ./node_exporter --web.listen-address=":9100" &

访问:{ip}:9100

docker安装prometheus和grafana

  1. 将数据采集到prometheus:
vim /opt/prometheus/config/prometheus.yml
欢迎大家来到IT世界,在知识的湖畔探索吧!global: # 数据采集间隔 scrape_interval: 45s # 告警检测间隔 evaluation_interval: 45s # 告警规则 rule_files: # 这里匹配指定目录下所有的.rules文件 - /prometheus/rules/*.rules # 采集配置 scrape_configs: # 采集项(prometheus) - job_name: 'prometheus' static_configs: # prometheus自带了对自身的exporter监控程序,所以不需额外安装exporter就可配置采集项 - targets: ['localhost:9090'] - job_name: tenxun-node' static_configs: - targets: ['localhost:9100']
docker安装prometheus和grafana

可以通过重启prometheus或者手动热加载:

# 前提条件:启动prometheus时,启用了web.enable-lifecycle # 发送post请求到prometheus的/-/reload下触发热加载配置 curl -X POST http://47.105.39.189:9090/-/reload # 重启的方式: # 先用docker ps -a来查看prometheus的CONTAINER ID。 docker restart {CONTAINER ID}
docker安装prometheus和grafana

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/137795.html

(0)
上一篇 17分钟前
下一篇 2025年 6月 30日 下午8:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信