广告
返回顶部
首页 > 资讯 > 服务器 >Prometheus容器化部署的实践方案
  • 441
分享到

Prometheus容器化部署的实践方案

2024-04-02 19:04:59 441人浏览 八月长安
摘要

环境 主机名 IP地址 服务

环境

主机名 IP地址 服务
prometheus 192.168.237.137 prometheus、grafana
node-exporter 192.168.237.131 node_exporter

容器化部署prometheus

1、安装Docker


[root@prometheus ~]# docker version
Client: Docker Engine - CommUnity
 Version:           20.10.11
 api version:       1.41
 Go version:        go1.16.9
 git commit:        dea9396
 Built:             Thu Nov 18 00:36:58 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.11
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.9
  Git commit:       847da18
  Built:            Thu Nov 18 00:35:20 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.12
  GitCommit:        7b11cfaabd73bb80907dd23182b9347b4245eb5d
 runc:
  Version:          1.0.2
  GitCommit:        v1.0.2-0-g52b36a2
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

2、运行prometheus容器


//拉取镜像
[root@prometheus ~]# docker pull prom/prometheus
Using default tag: latest
latest: Pulling from prom/prometheus
3cb635b06aa2: Pull complete 
34f699df6fe0: Pull complete 
33D6c9635e0f: Pull complete 
f2af7323bed8: Pull complete 
c16675a6a294: Pull complete 
827843f6afe6: Pull complete 
3d272942eeaf: Pull complete 
7e785cfa34da: Pull complete 
05e324559e3b: Pull complete 
170620261a59: Pull complete 
ec35f5996032: Pull complete 
5509173eb708: Pull complete 
Digest: sha256:cb9817249c346d6cfadebe383ed3b3cd4c540f623db40c4ca00da2ada45259bb
Status: Downloaded newer image for prom/prometheus:latest
docker.io/prom/prometheus:latest

//在/opt目录下提供prometheus的默认配置文件
[root@prometheus ~]# ls /opt/
prometheus.yml

//运行容器
##--restart always 总是重启,开机自启
## 将本地提供的配置文件映射到容器,ro 容器内只读
[root@prometheus ~]# docker run --name prometheus -d --restart always -p 9090:9090 -v /opt/prometheus.yml:/etc/prometheus/prometheus.yml:ro prom/prometheus:latest 
a0ba5535f0ea3b0f44574fd237802f2ef19f4624c3752c3bf8122a4d79a26428
[root@prometheus ~]# docker ps
CONTAINER ID   IMAGE                             COMMAND                  CREATED          STATUS                    PORTS                                       NAMES
a0ba5535f0ea   prom/prometheus:latest            "/bin/prometheus --c…"   11 seconds ago   Up 11 seconds             0.0.0.0:9090->9090/tcp, :::9090->9090/tcp   prometheus

//查看端口
[root@prometheus ~]# ss -anltu
Netid     State      Recv-Q      Send-Q           Local Address:Port           Peer Address:Port     Process     
tcp       LISTEN     0           128                    0.0.0.0:22                  0.0.0.0:*                    
tcp       LISTEN     0           128                    0.0.0.0:9090                0.0.0.0:*                    
tcp       LISTEN     0           128                       [::]:22                     [::]:*                    
tcp       LISTEN     0           128                       [::]:9090                   [::]:*                    

使用ip+9090/targets访问prometheus默认网页

在这里插入图片描述

部署node_exporter


//下载安装包
[root@node-exporter ~]# wget https://GitHub.com/prometheus/node_exporter/releases/download/v1.3.0/node_exporter-1.3.0.linux-amd64.tar.gz
[root@node-exporter ~]# ls
anaconda-ks.cfg  node_exporter-1.3.0.linux-amd64.tar.gz

//解压
[root@node-exporter ~]# tar xf node_exporter-1.3.0.linux-amd64.tar.gz -C /usr/local/
[root@node-exporter ~]# mv /usr/local/node_exporter-1.3.0.linux-amd64/ /usr/local/node_exporter
[root@node-exporter ~]# ls /usr/local/
bin  etc  games  include  lib  lib64  libexec  node_exporter  sbin  share  src

//编写service文件,启动并开机自启
[root@node-exporter ~]# cat /usr/lib/systemd/system/node_exporter.service
[unit]
Description=The node_exporter Server
After=network.target

[Service]
ExecStart=/usr/local/node_exporter/node_exporter
Restart=on-failure
RestartSec=15s
SyslogIdentifier=node_exporter

[Install]
WantedBy=multi-user.target
[root@node-exporter ~]# systemctl daemon-reload 
[root@node-exporter ~]# systemctl enable --now node_exporter.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/node_exporter.service to /usr/lib/systemd/system/node_exporter.service.
[root@node-exporter ~]# systemctl status node_exporter.service 
● node_exporter.service
   Loaded: loaded (/usr/lib/systemd/system/node_exporter.service; enabled; vendor preset: disabled)
   Active: active (running) since 四 2021-12-30 19:26:59 CST; 8s ago
 Main PID: 27878 (node_exporter)
   CGroup: /system.slice/node_exporter.service
           └─27878 /usr/local/node_exporter/node_exporter

//查看端口
[root@node-exporter ~]# ss -anltu
Netid State      Recv-Q Send-Q         Local Address:Port                        Peer Address:Port              
tcp   LISTEN     0      128                        *:22                                     *:*                  
tcp   LISTEN     0      128                     [::]:22                                  [::]:*                  
tcp   LISTEN     0      128                     [::]:9100                                [::]:*                  

## node-exporter部署成功就可以在Prometheus主机上添加节点进行监控

添加节点到prometheus中

修改本地prometheus.yml文件


//修改配置文件
[root@prometheus ~]# tail -8 /opt/prometheus.yml 
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]
  - job_name: "Centos"			//指定一个工作名称
    static_configs:
      - targets: ["192.168.237.131:9100"]				//指定node-exporter节点的IP和端口号
## 如果有多个节点
  - job_name: "centos"	
    static_configs:
      - targets: 
        - "192.168.237.131:9100"
        - "192.168.237.132:9100"
        - "192.168.237.133:9100"


//重启容器,重新读取配置文件
[root@prometheus ~]# docker restart prometheus
prometheus
[root@prometheus ~]# docker ps
CONTAINER ID   IMAGE                             COMMAND                  CREATED          STATUS                    PORTS                                       NAMES
a0ba5535f0ea   prom/prometheus:latest            "/bin/prometheus --c…"   26 minutes ago   Up 3 seconds              0.0.0.0:9090->9090/tcp, :::9090->9090/tcp   prometheus

访问prometheus默认网页
成功添加节点

在这里插入图片描述

部署grafana画图工具


//拉取grafan/grafan官方镜像
[root@prometheus ~]# docker pull grafana/grafana
Using default tag: latest
latest: Pulling from grafana/grafana
97518928ae5f: Pull complete 
5b58818b7f48: Pull complete 
d9a64d9fd162: Pull complete 
4e368e1b924c: Pull complete 
867f7fdd92d9: Pull complete 
387c55415012: Pull complete 
07f94c8f51cd: Pull complete 
ce8cf00ff6aa: Pull complete 
e44858b5f948: Pull complete 
4000fdbdd2a3: Pull complete 
Digest: sha256:18d94ae734accd66bccf22daed7bdb20c6b99aa0f2c687eea3ce4275fe275062
Status: Downloaded newer image for grafana/grafana:latest
docker.io/grafana/grafana:latest

[root@prometheus ~]# docker images
REPOSITORY                      TAG       IMAGE ID       CREATED        SIZE
prom/prometheus                 latest    a3d385fc29f9   12 days ago    201MB
grafana/grafana                 latest    9b957e098315   2 weeks ago    275MB

//使用官方grafana镜像运行容器
[root@prometheus ~]# docker run -d --name grafana -p 3000:3000 --restart always grafana/grafana
0b5986fc63442538a6fae845e5d1b8afc78caec4f4bdd81ca3623eb1329ad562

[root@prometheus ~]# docker ps
CONTAINER ID   IMAGE                             COMMAND                  CREATED          STATUS                    PORTS                                       NAMES
0b5986fc6344   grafana/grafana                   "/run.sh"                4 seconds ago    Up 2 seconds              0.0.0.0:3000->3000/tcp, :::3000->3000/tcp   grafana
a0ba5535f0ea   prom/prometheus:latest            "/bin/prometheus --c…"   33 minutes ago   Up 6 minutes              0.0.0.0:9090->9090/tcp, :::9090->9090/tcp   prometheus

//查看端口
[root@prometheus ~]# ss -anltu
Netid     State      Recv-Q      Send-Q           Local Address:Port           Peer Address:Port     Process             
tcp       LISTEN     0           128                    0.0.0.0:22                  0.0.0.0:*                    
tcp       LISTEN     0           128                    0.0.0.0:3000                0.0.0.0:*                    
tcp       LISTEN     0           128                    0.0.0.0:9090                0.0.0.0:*                             
tcp       LISTEN     0           128                       [::]:22                     [::]:*                    
tcp       LISTEN     0           128                       [::]:3000                   [::]:*                    
tcp       LISTEN     0           128                       [::]:9090                   [::]:*                    

使用prometheus主机IP地址192.168.129.205 + 端口号3000在浏览器中访问
默认账号:admin 密码:admin

在这里插入图片描述

修改密码

在这里插入图片描述

首页

在这里插入图片描述

添加数据源

在这里插入图片描述

数据源选择prometheus

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

导入仪表盘

模板地址

在这里插入图片描述

模板ID为9276

在这里插入图片描述
在这里插入图片描述

效果图

在这里插入图片描述

到此这篇关于Prometheus容器化部署的文章就介绍到这了,更多相关Prometheus容器化部署内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Prometheus容器化部署的实践方案

本文链接: https://www.lsjlt.com/news/161346.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Prometheus容器化部署的实践方案
    环境 主机名 IP地址 服务 ...
    99+
    2022-11-12
  • 使用Portainer部署Docker容器的项目实践
    目录一、背景二、操作步骤三、安装Portiner3.1 docker部署3.2 节点初始化3.3 功能初探四、管理节点4.1 开始添加节点4.2 开放API控制4.3 验证端口状态4...
    99+
    2022-11-12
  • PHP实现数据库容器化部署的方法
    随着云计算和容器化技术在应用场景中的普及,数据库也逐渐成为了容器化部署的一部分。在实现容器化部署时,PHP语言的应用相对来说较为成熟,因此本文就通过PHP语言来探讨如何实现数据库容器化部署的方法。一、容器化部署的优势容器化部署的主要优势在于...
    99+
    2023-05-15
    数据库 PHP 容器化部署
  • k8s容器化部署的方法是什么
    Kubernetes (k8s) 是一个开源容器编排平台,可以实现容器化应用的部署、扩容、管理和资源调度等功能。Kubernetes...
    99+
    2023-10-11
    k8s
  • 云服务器私有化部署方案
    一、云服务器私有化部署的优势 资源共享 私有化部署可以将一台云服务器私有化,从而使得其他用户可以使用这台服务器的全部资源,包括计算、存储、网络等,从而实现资源的共享。此外,云服务器还可以根据用户需求进行弹性扩展,从而满足不同用户的需求...
    99+
    2023-10-27
    服务器 方案
  • JavaScript 应用程序在容器中的部署最佳实践。
    JavaScript 应用程序在容器中的部署最佳实践 JavaScript 是一种常用的编程语言,它在网页开发和应用程序开发中都扮演着重要的角色。随着云计算和容器技术的发展,越来越多的 JavaScript 应用程序开始被部署在容器中。本文...
    99+
    2023-09-04
    容器 javascript linux
  • Docker 部署 MongoDB容器的方法
    目录Docker是什么 部署1. 拉取镜像2. 查看镜像3. 运行容器4. 创建用户5. 连接 DB6. UIDocker是什么 “ Docker 是一个开源的应用容器引擎,让开发...
    99+
    2022-11-12
  • 云vscode搭建之使用容器化部署的方法
    目录1、Code-Server下载部署1.1 Code-Server下载1.2 Code-Server部署1.3 Docker部署Code-Server2. 一个小问题2.1 端口监...
    99+
    2022-11-13
  • Redis快速部署为Docker容器的实现方法
    目录入门数据存储配置您的服务器管理Redis安全使用您的 Redis 安装概括Redis是一种内存键值存储,可以保存高性能的抽象数据结构。开源软件通常用于数据库、消息传递和缓存功能。...
    99+
    2022-11-12
  • 亚马逊服务器部署优化方案是什么
    优化资源使用:优化服务器硬件资源使用,减少服务器资源占用,以提高服务器的处理能力。例如,可以使用闲置的CPU资源来处理更多的任务,使用更少的内存资源来存储数据,以及使用更高效的磁盘存储器。 减少系统负载:通过对系统进行监控,识别并解决潜在...
    99+
    2023-10-27
    亚马逊 服务器 方案
  • CapitalOne - Artifactory高可用集群的自动化部署实践
    背景:本文为大家介绍Capital One如何利用自动化流水线实现Artifactory HA集群进行自动化运维。Capital One银行是美国最大的数字化银行之一,在Capital One的devops体系中应用了JFrog&...
    99+
    2023-06-04
  • Web项目部署在Tomcat上的最佳实践和常见问题解决方案
    Tomcat部署Web项目的最佳实践和常见问题解决方法引言:Tomcat作为一个轻量级的Java应用服务器,在Web应用开发中得到了广泛应用。本文将介绍Tomcat部署Web项目的最佳实践和常见问题解决方法,并提供具体的代码示例,帮助读者更...
    99+
    2023-12-29
    tomcat 部署 Web项目
  • 怎么使用PHP实现数据库容器化部署
    本篇内容主要讲解“怎么使用PHP实现数据库容器化部署”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用PHP实现数据库容器化部署”吧!一、容器化部署的优势容器化部署的主要优势在于可以帮助开发...
    99+
    2023-07-06
  • SpringCloud Alibaba - Seata 四种分布式事务解决方案(TCC、Saga)+ 实践部署(下)
    目录 一、Seata 分布式解决方案 1.1、TCC 模式 1.1.1、TCC 模式理论 对比 TCC 和 AT 模式的一致性和隔离性 TC 的工作模型 1.2.2、TCC 模式优缺点 1.2.3、TCC 模式注意事项:空回滚 1.2.4、...
    99+
    2023-10-07
    spring cloud 分布式 spring
  • 云服务器项目部署方案怎么写的
    云服务器项目部署方案应该包含以下内容: 项目概述:介绍云服务器项目的背景,目标和预期结果。 服务器选择和安装:说明如何确定云服务器的型号、规格、配置和安装,并简要解释如何配置和管理云服务器。 数据备份和恢复:说明如何备份和恢复客户数据,...
    99+
    2023-10-27
    服务器 方案 项目
  • Redis快速部署为Docker容器的实现方法是什么
    Redis快速部署为Docker容器的实现方法是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Redis是一种内存键值存储,可以保存高性能的抽象数据结构。开源软件通常用...
    99+
    2023-06-22
  • Maven+Tomcat8 实现自动化部署的方法
    本文介绍了Maven+Tomcat8 实现自动化部署的方法,分享给大家,具体如下:1.配置tomcat-users.xml首先在Tomcat里配置deploy的用户(tomcat根目录/conf/tomcat-users.xml):<...
    99+
    2023-05-31
    maven tomcat8 自动部署
  • 云服务器项目部署方案怎么写的啊
    确定项目需求和目标:首先需要确定云服务器项目的需求和目标,包括计算资源的分配、存储资源的需求、网络带宽的需求等。同时,还需要明确云服务器所需的硬件、软件、系统架构等要求。 选择云服务器提供商:在确定项目需求和目标后,需要考虑选择适合自己的...
    99+
    2023-10-27
    服务器 方案 项目
  • Java将本地项目部署到Linux服务器的实践
    将本地项目博客系统部署到Linux服务器 1.连接到远程的MYSQL数据库,并且执行创建博客数据库的脚本2.检查项目中的连接MYSQL服务器的地址和密码(如果本地密码和服务器一致,此...
    99+
    2022-11-13
  • LeetCode算法如何应用于容器的自动化部署?
    在当今云原生时代,容器技术已经成为了最热门的技术之一。而容器的自动化部署也是容器技术中非常重要的一个方面。在容器的自动化部署中,LeetCode算法可以帮助我们更加高效地实现自动化部署。本文将详细介绍LeetCode算法在容器的自动化部署...
    99+
    2023-06-13
    分布式 leetcode 容器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作