为了方便管理设备,搞起了Prometheus。今天从vmware_exporter开始,监控起来我的vmware vsphere集群。
vmware_exporter由于编译问题不成功,选择使用docker方式执行。 vmware_exporter
编辑配置文件config.yml,为了配置prometheus的文件发现服务,特将esx中的vsphere_hosthost删除。
mkdir -p /data/vmware/config.yml vim /data/vmware/config.yml
default: vsphere_host: "vcenter" vsphere_user: "user" vsphere_password: "password" ignore_ssl: False collect_only: vms: True vmguests: True datastores: True hosts: True snapshots: True esx: vsphere_user: 'root' vsphere_password: 'password' ignore_ssl: True collect_only: vms: True vmguests: True datastores: True hosts: True snapshots: True
执行vmware-exporter docker程序。
docker run -d -v /data/vmware:/data/ -it --rm -p 9272:9272 --name vmware_exporter pryorda/vmware_exporter -c /data/config.yml
编译prometheus配置文件
编辑esx.yml文件,以便prometheus中sd_file配置文件使用。
vim /etc/prometheus/esx.yml
--- - targets: - 192.168.21.91 - 192.168.21.92 - 192.168.21.93 - 192.168.21.95 - 192.168.21.96 labels: job: vmware_esx
vim /etc/prometheus/prometheus.yml
- job_name: 'vmware_vcenter' metrics_path: '/metrics' static_configs: - targets: - 'vcenter.company.com' relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: localhost:9272 - job_name: 'vmware_esx' metrics_path: '/metrics' file_sd_configs: - files: - /etc/prometheus/esx.yml params: section: [esx] relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: localhost:9272
添加Grafana监控,导入granafa的配置文件,配置文件默认在dashboard目录下。
导入dashboard配置文件
参考链接:
vmware_exporter
终于完成了一小步,但是总归是完成了,还有很多问题需要进一步解决,比如告警,比如更精细的监控,等等。
我的prometheus系列逐步完善中,未完待续,加油!