Prometheus通过VMware_exporter代理实现监控VMwareVcenter
访问9090端口,有网页出来则正常启动,192.168.11.109就是安装Prometheus的centos的IP地址:↓。node_exporter安装在,你所需要的监控的机子上,现在在主控主机上,作用即为,自己监控自己。下载完后,不管用什么方法,上传至你所需要安装的主机中,然后开始安装。还是刚刚的页面,然后往下拉,找到node_exporter。如果出现了错误,大概率是多了(少了)几个空格,
目录
为prometheus服务创建service并设置开机自动启动
使用VMware_exporter代理,让VMware exporter收集Vcenter实现Prometheus监控
1.使用node_exporter代理监控主机
1.1关闭防火墙和SELinux
1.1.1关闭防火墙
(1) 临时关闭防火墙:
systemctl stop firewalld.service
(2) 永久关闭防火墙:
systemctl disable firewalld.service
1.1.2关闭SELinux
(1) 临时关闭SELinux:
setenforce 0
其中0是临时关闭,重启电脑后会再次开启,1则为开启。
(2) 永久关闭SELinux
vim /etc/selinux/config
然后将SELINUX行的值改为disabled,如下:
SELINUX=disabled
SELINUX 值 | 描述 |
---|---|
enforcing | SELinux 处于强制模式,强制执行所有安全策略。 |
permissive | SELinux 处于宽容模式,记录违反策略的操作但不强制执行。 |
disabled | SELinux 被完全禁用,不强制执行任何安全策略。 |
实验中,仅需要临时关闭即可。
1.2 下载所需软件
1.2.1 Prometheus官网下载地址
1.2.2 node_exporter代理下载地址
还是刚刚的页面,然后往下拉,找到node_exporter
1.2.3 Grafana下载地址
随便选择一个适合的心动版本下载就行
1.2.4 vmware_exporter下载地址
下载完后,不管用什么方法,上传至你所需要安装的主机中,然后开始安装。
1.3 Prometheus的安装
1.3.1 解压下载好的文件
1.3.2 启动Prometheus程序
./prometheus --config.file=./prometheus.yml &
查看Prometheus进程↓
ps -ef | grep prometheus
访问9090端口,有网页出来则正常启动,192.168.11.109就是安装Prometheus的centos的IP地址:↓
1.3.3 为prometheus服务创建service并设置开机自动启动
效果如图:因为只是实验,所以user和group都用root
[Unit]
Description=prometheus
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml
Restart=on-failure
[Install]
WantedBy=multi-user.target
创建后使service生效:
systemctl daemon-reload
设置Prometheus开机自启:
systemctl enable prometheus
1.4 Grafana的安装:
1.4.1 安装所下载的rpm包
yum install -y grafana-8.1.5-1.x86_64.rpm
由于是直接用rpm包进行安装,可以直接用systemctl命令来启动grafana
1.4.2 开启grafana:
systemctl start grafana-server.service
1.4.3 设置grafana开机自启:
systemctl enable grafana-server.service
1.4.4 访问grafana服务的3000端口
192.168.11.109就是安装grafana的centos的IP地址↓
默认用户名及密码分别是admin,admin
1.4.5 创建Prometheus的库
①
②第一个就是Prometheus,点击select
③填写完URL,拉至最低,点击保存
1.5 node_exporter的安装
node_exporter安装在,你所需要的监控的机子上,现在在主控主机上,作用即为,自己监控自己。
1.5.1 解压压缩包
1.5.2 为node_exporter服务创建service服务
[Unit]
Description=node_exporter
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/local/node_exporter-1.7.0.linux-amd64/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
1.5.3设node_exporter为开机自启
systemctl enable node_exporter.service
1.6 配置 prometheus.yml文件,使监控生效
vim /usr/local/prometheus/prometheus.yml
1.6.1 在该文件末尾添加如下信息:
- job_name: 'master_prometheus'
static_configs:
- targets: ['192.168.11.109:9100']
1.6.2 使用promtool检查配置文件是否有误:
./promtool check config prometheus.yml
如果出现了错误,大概率是多了(少了)几个空格,仔细检查。
1.6.3 重启Prometheus服务:
systemctl restart prometheus.service
查看是否监控成功:
成功效果图,如下↓
1.6.4 在所需要监控的主机上安装node_exporter
靶机IP为:192.168.11.110
安装教程参考上面安装node_exporter的教程
完成效果如下:
配置192.168.11.109主控主机上的prometheus.yml文件
在末尾添加如下信息:
- job_name: "node1-prometheus"
static_configs:
- targets: ['192.168.11.110:9100']
重启prometheus服务:
systemctl restart prometheus.service
查看是否监控到靶机192.168.11.110:
至此,大功告成!!!(๑•̀ㅂ•́)و✧
接下来在Grafana里添加可视化监控界面就好了
如图:
①点击导入模板
②输入8919,自动从官网找对应模板应用
③ 选择我们前边创建好的prometheus数据库,然后点击Import
④这样就结束了
2. 使用VMware_exporter代理,让VMware exporter收集Vcenter实现Prometheus监控
基于前面已经装好了prometheus和Grafana,现在我们只需要把上面vmware_exporter的下载链接里下载vmware_exporter上传到安装了prometheus和Grafana的主控机里头,也就是当前环境中的192.168.11.109(主控机)。
2.1 解压文件到指定目录
如果没有unzip,那就输入yum install -y unzip安装一个。
2.2 安装docker
已安装了的可跳过此步骤
2.2.1 更新yum源
yum update
2.2.2 安装必要软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
2.2.3 添加Docker存储库
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
2.2.4 安装Docker引擎
yum install docker-ce docker-ce-cli containerd.io
2.2.5启动Docker服务并设置为开机自启动
sudo systemctl start docker
sudo systemctl enable docker
2.3 创建并编辑一个新配置文件config.env
cd /usr/local/vmware_exporter-main/
将以下内容粘贴到新配置文件里:
密码和IP填的是这个Vcenter的
VSPHERE_USER=administrator@vsphere.local
VSPHERE_PASSWORD=xxx(密码)
VSPHERE_HOST=x.x.x.x
VSPHERE_IGNORE_SSL=TRUE
VSPHERE_SPECS_SIZE=2000
效果如下:
2.4 启动容器
docker run -itd -p 9272:9272 --name vmware_exporter --env-file /usr/local/vmware_exporter-main/config.env pryorda/vmware_exporter
除了上述配合配置文件启动之外,也可以指定配置信息,例如:
docker run -itd -p 9272:9272 -e VSPHERE_USER='administrator@vsphere.local' -e VSPHERE_PASSWORD='Test1234' -e VSPHERE_HOST='192.168.1.1' -e VSPHERE_IGNORE_SSL=True -e VSPHERE_SPECS_SIZE=2000 --name vmware_exporter pryorda/vmware_exporter
其中,VSPHERE_USER、VSPHERE_PASSWORD、VSPHERE_HOST填自己对应的vcenter的用户名、密码、IP地址。
查看启动的容器
docker ps
如图即为启动成功
这个页面访问情况根据你Vcenter里的机子数决定的,要是你就一两台,就不会有这么多显示。
2.5 集成VMware_exporter到promethues
操作如下:将代码块里的内容新增到prometheus.yml配置文件(新增,不是覆盖,光标移动到最低下,然后粘贴就行)
注意:targets行的IP填的我也很迷,我填了Center的IP,和自己的IP,prometheus都监控到了,emmmmmmmmm,没搞懂。
粘贴这个↓
- job_name: 'vmware_vcenter'
metrics_path: '/metrics'
static_configs:
- targets:
- '192.168.66.10'
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: :9272
2.6 保存退出后重启prometheus
systemctl restart prometheus.service
2.7 检查prometheus是否上线Vcenter
上了,如上:( ? )
2.8 Grafana导入对应模板
虽然prometheus的up提示无效URL,但是正常监控了(懵)
或者这样写也可以↓
- job_name: 'vmware_vcenter'
metrics_path: '/metrics'
static_configs:
- targets:
- '192.168.11.109'
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: localhost:9272
然后监控上线情况是这样的↓
然后导入Grafana监控情况是这样的↓
还是正常监控了,emmmmmmmmm,有人能解惑一下吗
参考资料如下:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)