新手入门级prometheus和grafana环境搭建

配置VMware环境

可以参考这一篇 http://t.csdn.cn/ubQQD 文章来对虚拟机环境进行初始化。

配置docker

可以参考这一篇 http://t.csdn.cn/VUk0J 文章来对docker进行安装。定位到标题中的 安装docker-ce 这一章来安排。
注意:别忘了对节点进行初始化。 针对节点初始化可以参考这一篇 http://t.csdn.cn/VUk0J 。定位到标题中的 初始化 这一章来安排。

部署 prometheus

docker pull prom/prometheus

docker run -itd --name=prometheus --restart=always -p 9090:9090 prom/prometheus

验证安装

docker ps

# 老天保佑我, 容器状态可不能是反复`restaring`!!!啊
CONTAINER ID        IMAGE                                               COMMAND                  CREATED             STATUS              PORTS                    NAMES
c53238641481        prom/prometheus                                     "/bin/prometheus --c…"   19 seconds ago      Up 18 seconds       0.0.0.0:9090->9090/tcp   prometheus

安装Grafana

方法一:

针对与宿主机目录挂载到docker容器后的访问权限问题,我们授予这个容器root权限。

# docker run	运行
# --name 容器的名称
# -p 指定容器的端口映射
# -v:挂载宿主机目录和 docker容器中的目录 $PWD/grafana-storage 本地宿主机绝对目录;/var/lib/grafana 容器目录(将容器目录挂载到本地)
# --restart  容器重启策略 no不重启,always 退出时总是重启
# grafana/grafana  选择镜像名称启动容器(默认镜像后面会加latest  如果拉取自己创建的镜像后面要加自己的版本号)

docker pull grafana/grafana
docker run -itd --name=grafana \
--restart=always \
-p 3000:3000 \
-v $PWD/grafana-storage:/var/lib/grafana -u root \
grafana/grafana

方法二:

# 下载grafana镜像(以grafana6.7.4为例)
docker pull grafana/grafana:6.7.4
以下命令:命名容器为grafana,后台运行;映射宿主机3000端口到容器3000端口;grafana的配置文件为 /etc/grafana/grafana.ini ,可以进入容器进行修改,或者挂出到宿主机。
# 启动grafana服务
docker run --name=grafana -d \
-p 3000:3000 \
grafana/grafana:6.7.4

验证安装

docker ps

# 老天保佑我, 容器状态可不能是反复`restaring`!!!啊
CONTAINER ID        IMAGE                                               COMMAND                  CREATED             STATUS              PORTS                    NAMES
2200c3353ec4        grafana/grafana                                     "/run.sh"                6 seconds ago       Up 5 seconds        0.0.0.0:3000->3000/tcp   grafana
c53238641481        prom/prometheus                                     "/bin/prometheus --c…"   2 minutes ago       Up 2 minutes        0.0.0.0:9090->9090/tcp   prometheus

如果启动失败,老弟为什么咱们的人生里有数不完的bug啊!!!可以使用 docker logs 容器名 查看失败原因并进行解决。

测试服务

1、本机测试

curl localhost:3000

# 输出
<a href="/login">Found</a>.

2、浏览器测试
访问 http://192.168.56.102:3000 用户名密码默认都是admin,第一次登录会提示修改。
老弟啊,这新版本的节目就是好看啊~!!!
在这里插入图片描述
初始账号密码都为admin,不用感谢我,我试了一万遍!!正如某句歌:“爱你一万年”!登陆完成后就可以修改账户密码了。

配置数据

添加数据资源

在这里插入图片描述
随后进入以下画面
在这里插入图片描述

配置Prometheus数据

Name填入 Prometheus(随便填啦,我就填 咸蛋超人) ;URL填入 http://192.168.18.111:9090;其他不用变;Save&Test。
在这里插入图片描述

选择dashboard:

点击Dashboards;点击三个Import;引入三个dashboard。
在这里插入图片描述

import

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击import!!欧耶,成功啦!

引入其他dashboard

比如可以填入URL https://grafana.com/grafana/dashboards/444 ,点击Load,就可以下载Node Exporter的dashboard。选择Folder,选择Prometheus数据源,Import。

查看dashboard

左上角HOME,出现下拉框,即可选择dashboard。

安装node-exporter

想要监控我,不得给我一点好处费???
因为 Prometheus 本身不具备监控功能,所以想要通过Prometheus 收集数据的话,需要安装对应的exporter。

# 买新不买旧
docker pull prom/node-exporter

docker run -itd --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、本机测试

curl localhost:3000/metrics

输出以下信息,我也看不懂,就是成功了的意思,小伙子!!

# TYPE process_max_fds gauge
process_max_fds 1.048576e+06
# HELP process_open_fds Number of open file descriptors.
# TYPE process_open_fds gauge
process_open_fds 18
# HELP process_resident_memory_bytes Resident memory size in bytes.
# TYPE process_resident_memory_bytes gauge
process_resident_memory_bytes 3.663872e+07
# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
# TYPE process_start_time_seconds gauge
process_start_time_seconds 1.6842689908e+09
# HELP process_virtual_memory_bytes Virtual memory size in bytes.
# TYPE process_virtual_memory_bytes gauge
process_virtual_memory_bytes 8.06567936e+08
# HELP process_virtual_memory_max_bytes Maximum amount of virtual memory available in bytes.
# TYPE process_virtual_memory_max_bytes gauge
process_virtual_memory_max_bytes 1.8446744073709552e+19
# HELP prometheus_template_text_expansion_failures_total The total number of template text expansion failures.
# TYPE prometheus_template_text_expansion_failures_total counter
prometheus_template_text_expansion_failures_total 0
# HELP prometheus_template_text_expansions_total The total number of template text expansions.
# TYPE prometheus_template_text_expansions_total counter
prometheus_template_text_expansions_total 0

2、浏览器测试
访问 http://192.168.18.111:3000/metrics
在这里插入图片描述

配置 Prometheus 监控node节点

修改 Prometheus 主控制文件

哥们快到最后一步了,别全修改了,注意看配置文件啊!!

docker cp prometheus:/etc/prometheus/prometheus.yml $PWD

vim prometheus.yml

# 在Prometheus配置文件按以下内容修改:
# 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"]
        labels:
          instance: prometheus

  - job_name: linux
    static_configs:
    - targets: ['192.168.18.111:9100']  # 被监控端的IP地址和端口号(有多个被监控端可用 逗号 隔开)
      labels:
        instance: localhost

docker cp $PWD/prometheus.yml prometheus:/etc/prometheus/prometheus.yml

重启 Prometheus 容器

docker restart prometheus

问题

  1. 容器状态反复restaring,用命令docker container ls -a查看。
CONTAINER ID   IMAGE         COMMAND       CREATED        STATUS      PORTS     
  NAMES                             
6aaf2018609d   keywords_exact:v1  "bash urn.sh"   6 seconds ago    Restarting (1) Less than a second ago    keywords_exact
  1. 去看Docker日志:docker logs [容器名/容器ID]
  2. 发现宿主机目录挂载到docker容器后的访问权限问题
  3. 然后kill掉这个容器,
docker kill 6aaf2018609d
docker rm 6aaf2018609d

其它可能的原因:
1.内存不够:找内存
Docker 启动至少需要2G内存,首先执行free -mh命令查看剩余内存是否足够。
total used free shared buff/cache available
Mem: 15G 14G 627M 195M 636M 726M
Swap: 0B 0B 0B

2.端口冲突:换端口

该docker监听端口已经被其他进程占用,一般此种问题容易出现在新部署的服务,或在原有机器上部署新的后台服务,所以在部署之前应该执行命令检查端口是否已经被占用,如果上线后发现占有则应改为可用端口再重启之。
检查命令:netstat -nltp|grep [规划的端口号]

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值