欢迎关注 『网络工程专业』 系列,持续更新中
欢迎关注 『网络工程专业』 系列,持续更新中
温馨提示:对虚拟机做任何设置,建议都要先快照备份!
一、安装prometheus server
拉取prometheus镜像
docker pull prom/prometheus
这个安装过程可能会很漫长,我装了20多分钟,装好之后再次运行命令,如下图所示是安装好了。
创建并启动容器
容器的名字是prometheus2022
docker run -d --name prometheus2022 prom/prometheus
复制容器内部的配置文件到宿主机,不用事先创建$PWD/prometheus目录
docker cp -a prometheus2022:/etc/prometheus/ $PWD/prometheus
删除容器(以后会常用)
删除prometheus2022容器
docker rm -f prometheus2022
创建并启动容器带参数
启动时如果本来没有容器,就会新建容器
容器名字
--name prometheus2022
容器端口
-p 9090:9090
docker run -d --name prometheus2022 -p 9090:9090 -v $PWD/prometheus:/etc/prometheus prom/prometheus
启动容器
启动一个docker容器:
docker start 容器id/容器名称
docker start prometheus2022
开放防火墙9090端口
firewall-cmd --zone=public --add-port=9090/tcp --permanent
firewall-cmd --reload
启动容器后访问网页测试
ip地址通过ifconfig
获取
ip地址:前面的端口号
172.17.0.1:9090
访问网页成功
修改docker的ip地址配置国内源
修改IP地址 [切勿与宿主机同网段] !!!
vim /etc/docker/daemon.json
在这个新文件中增加以下内容:
{
"registry-mirrors": ["http://hub-mirror.c.163.com","https://pee6w651.mirror.aliyuncs.com","https://registry.docker-cn.com"],
"insecure-registries":["hub.c.163.com","hub-auth.c.163.com","index.docker.io"],
"bip": "172.17.1.95/16"
}
:wq保存退出
重启Docker服务,ifconfig查看ip
service docker restart
ip地址修改成功为
172.17.1.95
- 重启容器
docker start prometheus2022
- 新的ip也能登陆
访问172.17.1.95:9090设置本地时间
172.17.1.95:9090
勾选Use local time
选项使用本地时间
二、安装node-exporter
拉取镜像
过程同样要话很长时间(如果在前面配置了镜像,就会很快,如果失败了可能是因为网络太差了,对网络有一定的要求。)
docker pull prom/node-exporter
创建并启动容器
docker run -d --name node-exporter2020 -p 9100:9100 -v "/proc:/host/proc:ro" -v "/sys:/host/sys:ro" -v "/:/rootfs:ro" --net="host" prom/node-exporter
开放防火墙9100端口
firewall-cmd --zone=public --add-port=9100/tcp --permanent
firewall-cmd --reload
我下图这里是之前直接把防火墙关闭了,企业工作开发中最好不要,而是开放某些端口。
访问 http://172.17.1.95:9100/metrics
修改宿主机prometheus配置文件,重启后会同步到容器内部
vim prometheus/prometheus.yml
文件原来的内容备份
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# 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"]
~
在底部修改添加内容,下面的ip地址个性化
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: ['172.17.1.95:9090']
labels:
instance: prometheus
- job_name: 'centos_1'
static_configs:
- targets: ['172.17.1.95:9100']
labels:
instance: centos_1
重启容器
注意了,2个容器都要重启。
docker restart prometheus2022
docker restart node-exporter2020
访问http://172.17.1.95:9090/targets
三、安装grafana
拉取镜像
docker pull grafana/grafana
在宿主机的当前目录下创建grafana目录
mkdir grafana
赋予grafana目录读写权限
chmod 777 -R ./grafana/
grafana是以grafana用户启动,不是以root用户启动
创建并启动容器
docker run -d --name=grafana2020 -p 3000:3000 -v $PWD/grafana:/var/lib/grafana grafana/grafana
开放防火墙3000端口
firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --reload
访问http://172.17.1.95:3000登录
可能会出现这种情况Your browser is not fully supported, please try newer version.
,建议是火狐浏览器或是谷歌浏览器的新版本,这个提示说明你的浏览器版本太低了!
下载火狐最新版本放在文件夹里
https://download-ssl.firefox.com.cn/releases/firefox/esr/91.9/zh-CN/Firefox-latest-x86_64.tar.bz2
- 解压:
tar -jxvf Firefox-latest-x86_64.tar.bz2
- 复制到安装目录:
sudo mv firefox /usr/local/
- 创建桌面启动器:
在/usr/share/applications
路径下随便找一个快捷图标(不一定是老版本的火狐浏览器的图标),复制到桌面
右键其他程序打开
文本编辑器打开
把原来文件的内容黏贴替换为下面的内容,保存退出
[Desktop Entry]
Version=1.0
Name=Firefox
GenericName=Web Browser
GenericName[zh_CN]=网页浏览器
Comment=Access the Internet
Comment[zh_CN]=访问互联网
Exec=/usr/local/firefox/firefox %U #firefox的执行程序位置
Terminal=false
Icon=/usr/local/firefox/browser/icons/mozicon128.png #firefox的图标位置
Type=Application
Categories=Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml_xml;image/webp;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;
Actions=NewWindow;NewPrivateWindow;
- 单击桌面的火狐图标打开浏览器!
再次访问http://172.17.1.95:3000
用户名:admin
密码:admin
登录后第一次会强制改密码,这里我改成了123456
首页
配置Prometheus数据源
点击配置数据源
配置prometheus
配置数据源
http://172.17.1.95:9090
测试一下并保存
配置模板
- 选择导入
- 分别点击两个load下载模板资源(如果下载不了的话要手动下载)
手动下载:
在官网搜索一个模板
https://grafana.com/grafana/dashboards?dataSource=prometheus
选择8919这个模板
https://grafana.com/grafana/dashboards/8919
下载比较麻烦,可以直接用我下载好的
百度网盘
链接: https://pan.baidu.com/s/1BuVQBshzvfRkMa9NeoJBNQ?pwd=ma4s
提取码: ma4s
手动把下载得到的json文件内容黏贴进入
- 查看最后的效果
四、安装cadvisor
拉取镜像
docker pull google/cadvisor
创建并启动容器
docker run -d \
--name=cadvisor2020 \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/cgroup:/cgroup:ro \
--publish=9595:8080 \
--detach=true \
--privileged=true \
google/cadvisor
开放防火墙9595端口
firewall-cmd --zone=public --add-port=9595/tcp --permanent
firewall-cmd --reload
访问http://172.17.1.95:9595/
注意这个页面会卡住比较久才能启动,请耐心等待(我一开始还以为是我做错了,重新做了一遍,吃饭回来发现居然好了·····)
访问http://172.17.1.95:9595/metrics
X.
总结
大家喜欢的话,给个👍,点个关注!继续跟大家分享敲代码过程中遇到的问题!
版权声明:
发现你走远了@mzh原创作品,转载必须标注原文链接
Copyright 2022 mzh
Crated:2022-3-6
欢迎关注 『网络工程专业』 系列,持续更新中
欢迎关注 『网络工程专业』 系列,持续更新中
【网络工程】vmware虚拟机连接本机网络实现上网(保姆级图文)
【更多内容敬请期待】