【Prometheus 01】搭建本地测试环境

学习Prometheus+Grafana,这一节我们首先在本地搭建一套测试环境

测试环境规划

我使用的是Mac,计划使用VMwareFusion创建3台Centos7的虚拟机组成集群,其中3台机器的规划如下

HostnameIp功能
prometheus.test172.16.141.20/24Prometheus
grafana.test172.16.141.21/24Grafana
agent.test172.16.141.22/24被监控机器

Prometheus机器监控目标机器,然后由Grafana来进行图像显示。

其中要注意的是IP的规划,我这边3台虚拟机通过NAT的方式访问公网,所以设置静态IP的时候,要注意虚拟机的IP设置为NAT的网段内,同时网关要设置为宿主机的NAT网关地址(注意:不是vmnet8的IP地址!!)。

具体的信息可以通过命令cat /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf来查询,我这边得到的信息如下

# NAT gateway address
ip = 172.16.141.2
netmask = 255.255.255.0

再次提醒,宿主机的vmnet8用于宿主机和虚拟机的通信,并不提供网关功能,禁用掉vmnet8也不影响虚拟机上网,只是宿主机无法访问虚拟机了而已。参考这篇文章的讲解。

单台虚拟机初始化

下面首先安装单台虚拟机,成功以后再复制出另外两台即可。

我这边使用的是centos7的minimal镜像,安装的过程和《Macbook利用VMwareFusion安装Centos7》雷同,只不过这里在安装的时候不用管网络连接。

登录进去以后,编辑/etc/sysconfig/network-scripts/ifcfg-ens33网卡配置文件,如下

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static # 静态地址
IPADDR=172.16.141.20 # IP地址
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=172.16.141.2 # NAT网关
DNS1=172.16.141.2 # NAT网关也做DNS服务器
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=e4553369-6742-4bef-8e1f-b35571620f64
DEVICE=ens33
ONBOOT=yes # 开机自启动

配置好以后systemctl restart network重启网卡生效,如果能ping到外网说明配置有效。需要注意的是有可能一开始网卡并没有启动,也就是用ip addr查询的时候并没有ip信息出来,导致ping不到外网,这种情况下用命令ifup ens33启动网卡即可。

复制多台虚拟机

将第一台配置好的机器关机,注意虚拟机不关掉复制会因为硬盘内容没保存而导致新虚拟机启动时出错

在虚拟机上右键「在Finder中显示」,然后复制该虚拟机的文件

01_copy.jpg

重命名(这里只是对文件重命令,下面还要对虚拟机再次重命名)

02_rename.jpg

然后在VMwareFusion中打开

03_open.jpg

因为是复制的,所以会弹出下面的报错,选择「已拷贝」即可

04_error.jpg

最后将虚拟机重命名即可。

下面的操作需要对3台机器同时操作,这里强烈推荐Mac下的多屏操作终端工具iterm2,可以参考《Mac上利用iterm2多屏同时操作多个ssh终端》来进行操作。

首先对另外两台机器分别修改网卡配置,需要改的就只有IP地址和硬件标识UUID,这里将UUID的后3位进行了随机修改,如下

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=172.16.141.21 # IP地址
NETMASK=255.255.255.0
GATEWAY=172.16.141.2
DNS1=172.16.141.2
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=e4553369-6742-4bef-8e1f-b35571620f32 # 硬件标识
DEVICE=ens33
ONBOOT=yes
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=172.16.141.22 # IP地址
NETMASK=255.255.255.0
GATEWAY=172.16.141.2
DNS1=172.16.141.2
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=e4553369-6742-4bef-8e1f-b35571620f88 # 硬件标识
DEVICE=ens33
ONBOOT=yes

确保3台机器都可以互相ping到,也能够ping到外网即可。

hostname和hosts

然后利用下面的命令对3台机器设置hostname

hostnamectl set-hostname xxx

并且统一修改/etc/hosts文件如下

172.16.141.20 prometheus.test
172.16.141.21 grafana.test
172.16.141.22 agent.test

之后3台机器就可以通过hostname互相能ping到了。

时间同步

Prometheus就是通过时间序列来收集log并展示图表的,所以时间同步就显得非常重要。

首先安装ntpdate工具

yum -y install ntpdate

然后是针对中国的节点进行同步

ntpdate cn.ntp.org.cn

至此,3台虚拟机的环境算是搭建完成,建议在这个地方对机器都进行快照保存一下进度,免得后面将系统玩坏了不好回档。下一节我们就来正式安装Prometheus服务了。

我是T型人小付,一位坚持终身学习的互联网从业者。喜欢我的博客欢迎在csdn上关注我,如果有问题欢迎在底下的评论区交流,谢谢。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值