服务器配置 prometheus.yml 文件
服务器配置 prometheus.yml 文件
目前 prometheus 安装在 172.2x.2x.8x 服务器上
一、登录 172.2x.2x.8x 服务器:
执行:ssh root@172.2x.2x.8x
密码:
二、查看运行的容器,执行 docker ps ,找到 prometheus 容器 ID(可以 comm+F 搜索)
三、例如,docker ps | grep prometheus 可以用于查找包含 “prometheus” 字符串的容器。
知识点补充:docker ps | grep 是一条用于过滤 Docker 容器列表的命令。docker ps 命令用于列出所有正在运行的 Docker 容器,而 grep 命令则用于在输出中搜索特定的文本模式。
因此,docker ps | grep 命令将使用管道符号 | 将 docker ps 的输出作为输入,然后将其传递给 grep 命令。grep 命令将搜索文本模式并返回匹配的行。这使得用户可以使用过滤器来找到他们感兴趣的特定容器。例如,docker ps | grep nginx 可以用于查找包含 “nginx” 字符串的容器。
四、执行 docker inspect b82228fbd8c5(prometheus 容器的 ID)
知识点补充:docker inspect 是一个用于获取 Docker 容器、镜像、网络等对象详细信息的命令。它提供了一个非常详细的 JSON 格式输出,包括容器的配置、网络、挂载的卷、日志配置等等信息。
使用 docker inspect 命令时,需要指定要检查的 Docker 对象的名称或 ID。例如,要检查名为 mycontainer 的容器的详细信息,可以使用以下命令:docker inspect mycontainer ,该命令将返回一个包含完整容器信息的 JSON 对象,其中包括容器的配置、网络、挂载的卷、日志配置等等信息。
五、进入容器,执行 docker exec -it b82228fbd8c5(容器ID) /bin/bash
会遇到报错:OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: exec: “/bin/bash”: stat /bin/bash: no such file or directory: unknown
修改执行 docker exec -it b82228fbd8c5 /bin/sh
知识点补充:
这个报错提示说在指定的容器 b82228fbd8c5 中找不到 /bin/bash 这个命令,因此不能执行 /bin/bash 命令。
可能有以下原因:
这个容器内并没有安装 bash shell。你可以尝试使用 /bin/sh 命令,看看是否能够执行。如果能够执行,那么这个容器内可能没有 bash。
/bin/bash 这个命令可能已经被删除或移动了。你可以在容器内执行 which bash 命令,查看 bash 的实际路径,或者使用 ls -al /bin 命令来检查是否存在 /bin/bash 文件。
/bin/sh 是符号链接,指向系统默认的 shell,这可能在不同的 Linux 发行版之间不同。在许多系统上,/bin/sh 是指向 bash 的符号链接,但在其他系统上,它可能是 dash、ash 或其他 shell。
另一方面,/bin/bash 明确指定了 bash shell。
实际上,这意味着如果你使用 docker exec -it <container_name> /bin/sh,你可能会得到一个不同于 bash 的 shell。这可能意味着某些命令或功能可能无法按预期工作,如果它们是专门为 bash 设计的。如果你使用 docker exec -it <container_name> /bin/bash,你将始终获得 bash shell,而不管系统的默认 shell 是什么。
一般来说,如果你不确定使用哪个 shell,/bin/bash 是一个安全的选择,因为它是广泛使用和得到良好支持的 shell。但是,如果你正在使用特定的应用程序或脚本,需要特定的 shell,那么你应该使用该 shell。
六、执行 pwd 查看所在路径
七、执行 vi /etc/prometheus/prometheus.yaml 修改配置文件,查看cat /etc/prometheus/prometheus.yaml
报错:/bin/sh: vim: not found
原因:目录名写错了 应该是 /etc/prometheus/prometheus.yaml
排查:返回上一级目录,确认目录是否正确 cd …
找到文件 prometheus.yaml
八、查看文件内容,执行 cat prometheus.yaml
知识点补充:cat prometheus.yml 是一个命令,用于显示当前目录下名为 prometheus.yml 的文件的内容。cat 是一个常用的 Linux/Unix 命令,用于将一个或多个文件的内容输出到标准输出设备(通常是终端)上。
九、编辑文件内容 vi prometheus.yaml
知识点补充:
- 打开文件:在终端中输入 vi 文件名,例如 vi test.txt,即可打开名为 test.txt 的文本文件。
- 插入模式:进入插入模式的方法是按下 i 键(插入模式可以输入文本)。在插入模式中,可以使用键盘输入文本,也可以使用其他编辑命令。
- 退出插入模式:按下 Esc 键可以退出插入模式。
- 保存文件:在命令模式下,输入 :w 命令可以将文件保存。
- 保存&退出:在命令模式下,输入 :wq 命令。
- 取消更改:在命令模式下,输入 :q! 命令可以取消更改并退出 vi 编辑器。
- 光标移动:在命令模式下,可以使用箭头键或 h、j、k、l 键来移动光标。其中,h 键向左移动光标,j 键向下移动光标,k 键向上移动光标,l 键向右移动光标。
- 删除字符:在命令模式下,按下 x 键可以删除光标所在位置的字符。如果要删除多个字符,可以先将光标移动到要删除的位置,然后按下 d 键并紧随其后输入要删除的字符数,例如 d5w 表示删除 5 个单词。
- 撤销操作:在命令模式下,按下 u 键可以撤销上一次编辑操作
- 编辑完成后,按下 Esc 键退出插入模式,然后输入 :wq 命令保存并退出 vi 编辑器。
十、在 prometheus.yaml 添加 即可
- job_name: ‘119-node-export’
static_configs: - targets: [‘172.17.132.119:9100’]
119-node-export:自定义名称的 node-export 文件;
172.17.132.119:监测的服务器 ip
9100:默认的端口号,
备注:如果在目标服务器端安装 node-export 后,执行 nohup ./node_exporter,没有报错就是正常;报错了话,若是端口冲突,就需要更改端口号 nohup ./node_exporter --web.listen-address=“:9200” &
十一、在目标服务器上,安装 node-export,记得解压~
node_exporter-1.3.1.darwin-amd64.tar.gz
更多推荐
所有评论(0)