Gluster Exporter¶
GitHub: Prometheus exporter for Gluster Metrics 是GlusterFS官方提供的Gluster peers专用的exporter,提供了搜集本地 Metrics 并聚合到Prometheus服务器的能力。不过,这个开源项目在2018年11月停滞, 我暂时没有找到更好的替代,所以依然采用这个exporter组件尝试为GlusterFS集群提供一些基础监控。 ,目前已经无法编译。所以改为采用 kadalu/gluster-metrics-exporter 替代。
gluster-metrics-exporter
是采用 Crystal 语言开发的 Prometheus Exporters
编译 Gluster Exporter
(失败,放弃)¶
备注
请忽略这段,直接跳到下一段安装部署 gluster-metrics-exporter
Gluster Exporter
使用 Go Atlas 开发,需要准备一个go开发环境(这里我的编译环境是 CentOS 7 ):
sudo rpm --import https://mirror.go-repo.io/centos/RPM-GPG-KEY-GO-REPO
curl -s https://mirror.go-repo.io/centos/go-repo.repo | sudo tee /etc/yum.repos.d/go-repo.repo
sudo yum install golang
mkdir -p ~/go/{bin,pkg,src}
echo 'export GOPATH="$HOME/go"' >> ~/.bashrc
echo 'export PATH="$PATH:${GOPATH//://bin:}/bin"' >> ~/.bashrc
使用 GitHub: Prometheus exporter for Gluster Metrics 提供的源码编译:
mkdir -p $GOPATH/src/github.com/gluster
cd $GOPATH/src/github.com/gluster
git clone https://github.com/gluster/gluster-prometheus.git
cd gluster-prometheus
# Install the required dependancies.
# Hint: assumes that GOPATH and PATH are already configured.
./scripts/install-reqs.sh
PREFIX=/usr make
PREFIX=/usr make install
备注
由于Go源代码编译需要访问GitHub下载软件包,这里会遇到GFW阻碍难以完成。请先 配置Go程序代理服务器 和 curl代理
编译报错处理¶
...
FASTBUILD=yes BASE_PREFIX="" GD1STATEDIR=""/var/lib/glusterd \
CONFFILE=""/etc/gluster-exporter/gluster-exporter.toml \
GD2STATEDIR=""/var/lib/glusterd2 ./scripts/build.sh gluster-exporter
Building gluster-exporter v0.3-dev.93.git3ebaacc
flag provided but not defined: -i
usage: go build [-o output] [build flags] [packages]
Run 'go help build' for details.
make: *** [build/gluster-exporter] Error 1
这个问题我发现在项目issue中有人提出锅,也有人提供了解决方法是采用 kadalu/gluster-metrics-exporter 来代替
安装部署 gluster-metrics-exporter
¶
curl -fsSL https://github.com/kadalu/gluster-metrics-exporter/releases/latest/download/install.sh | sudo bash -x
输出显示:
++ uname -m
++ sed 's|aarch64|arm64|'
++ sed 's|x86_64|amd64|'
+ curl -fsSL https://github.com/kadalu/gluster-metrics-exporter/releases/latest/download/gluster-metrics-exporter-amd64 -o /tmp/gluster-metrics-exporter
+ curl -fsSL https://github.com/kadalu/gluster-metrics-exporter/releases/latest/download/gluster-metrics-exporter.service -o /tmp/gluster-metrics-exporter.service
+ install -m 700 /tmp/gluster-metrics-exporter.service /lib/systemd/system/
+ install /tmp/gluster-metrics-exporter /usr/sbin/gluster-metrics-exporter
根据输出信息(Bash -x
debug输出 )可以看到在系统中安装了以下2个文件:
# systemd 服务配置文件
/lib/systemd/system/gluster-metrics-exporter.service
# 执行程序
/usr/sbin/gluster-metrics-exporter
也就是说,如果是内部环境,可以直接复制这两个文件来实现部署