Prometheus(四)node-exporter监控服务器

Prometheus(四)node-exporter监控服务器
简介
⽬前有许许多多的lib、应⽤可以将已经⼴泛使⽤的通⽤组件对应的指标转换成Prometheus指定的指标格式(普通的⽂本),来帮助使⽤者利⽤Prometheus来监控这些组件,例如Kafka、mysql、HAProxy等。这些lib、应⽤被称为exporter。本章节我们通过Prometheus官⽅维护的node-exporter(⽤来监控Linux系统指标)来进⼀步学习Prometheus
node-exporter安装
node-exporter采⽤go语⾔开发,专门⽤来收集*NIX系统中硬件、系统指标。既可以⽤⼆进制安装部署,也可以通过容器形式部署
⼆进制安装
1. 进⼊,获取相应版本的下载链接
2. 以0.18.1版本为例
$ mkdir /opt/k8s/prometheus & cd /opt/k8s/prometheus
$ wget /prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.
$ tar -xzvf node_exporter-0.18.1.
$ cd node_exporter-0.18.1.linux-amd64
$ls -al
总⽤量 16508
drwxr-xr-x 2 3434 3434    4096 6⽉  5  2019 .
drwxr-xr-x 4 root root    4096 3⽉  19 09:18 ..
-rw-r--r-- 1 3434 3434    11357 6⽉  5  2019 LICENSE
-rwxr-xr-x 1 3434 3434 16878582 6⽉  5  2019 node_exporter
-rw-r--r-- 1 3434 3434      463 6⽉  5  2019 NOTICE
node_exporter 安装包极其简单,只有⼀个⼆进制启动⽂件
3. 启动node_exporter
$ cd /opt/k8s/prometheus/node_exporter-0.18.1.linux-amd64
$ ./node_exporter
执⾏./node_exporter -h 命令查看node_exporter的配置项,如监听端⼝,收集指标类型
node_exporter监听端⼝9100,通过--web.listen-address参数修改
node_exporter默认采⽤http协议,如果需要⽤https形式启动,通过./node_exporter --fig="l"指定,l⽂件格式如下:
tlsConfig :
# Certificate and key files for server to use to authenticate to client
tlsCertPath : <filename>
tlsKeyPath : <filename>
4. 将node_exporter配置成系统服务,随系统启动
1. 编辑启动⽂件
$ cat > /etc/systemd/system/node_exporter.service<< EOF
[Unit]
Description=Prometheus Server
Documentation=prometheus.io/docs/introduction/overview/
After=network.target
[Service]
Restart=on-failure
WorkingDirectory=/opt/k8s/prometheus/node_exporter-0.18.1.linux-amd64
ExecStart=/opt/k8s/prometheus/node_exporter-0.18.1.linux-amd64/node_exporter \
[Install]
WantedBy=multi-user.target
EOF
2. 通过systemctl启动node_exporter
$ systemctl daemon-reload
$ systemctl start node_exporter
$ systemctl enable node_exporter
docker 容器形式启动
因为node_exporter是⽤来监控主机指标的,⼀般情况下不太推荐⽤容器⽅式启动,但是在k8s、swarm等环境中,为了保持组件部署的⼀致性我们还是期望能⽤容器形式启动。另外在k8s中以daemonset,在swarm中将service的replicate设置成all,这样我们当系统中有新节点进来时,node_exporter容器会⾃动在新节点上启动,不需要⼈⼯⼲预。
由于需要监控宿主机指标,所以需要使⽤宿主机的process、⽂件系统、⽹络等信息,因为需要把宿主机的信息挂载进去
docker run -d \
--net="host" \
--pid="host" \
-v "/:/host:ro,rslave" \
quay.io/prometheus/node-exporter \
--fs=/host
配置Prometheus,从node_exporter中获取指标信息
1. 在Prometheus配置⽂件中追加node_exporter对应的scrape_config信息
...
scrape_configs:
- job_name: 'node'
static_configs:
- targets: ['localhost:9100']
2. 通过kill -HUP 重新加载Prometheus配置⽂件
$ systemctl reload prometheus
3. 访问Prometheus界⾯,在metric下拉框中可以看到许多与node相关的指标名字出现

本文发布于:2024-09-20 12:27:34,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/87646.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:指标   需要   系统   启动   监控
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议