下载 node_exporter-0.18.1.linux-amd64.tar.gz ,解压并移动得到 node_exporter 。
# tar -xvf node_exporter-0.18.1.linux-amd64.tar.gz
# mv node_exporter-0.18.1.linux-amd64/ /usr/local/node_exporter
复制代码
为 node_exporter创建systemd服务管理配置
# vim /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=node_exporter
[Service]
Type=simple
ExecStart=/usr/local/node_exporter/node_exporter
[Install]
WantedBy=multi-user.target
复制代码
启动 node_exporter
# systemctl start node_exporter
# systemctl status node_exporter
复制代码
在浏览器打开验证测试:http://10.x.4.21:9100/metrics
在 promethues 主配置中加入抓取 node_exporter 的配置。
# vim /usr/local/prometheus260/prometheus.yml
... ...
- job_name: 'node'
static_configs:
- targets: ['10.x.4.21:9100']
labels:
product: 'Email_person
... ...
复制代码
下载与导入 node_exporter grafana dashboard
textfile收集器类似于Pushgateway,它允许从批处理作业导出统计信息。它还可以用于导出静态指标,例如机器的角色。 Pushgateway应该用于服务级别metrics。textfile模块用于绑定到机器上的metrics。
在 Node exporter 上使用 --collector.textfile.directory
参数。收集器将按照 Promethues文本格式解析该目录中所有匹配*.prom
文件。
*.prom
文件文件书写规范\n
结束,空行会被忽略。#
符号开头,后面不接HELP
或TYPE
的行,视为注释。# HELP
开头,后面第一个字段是metric名,再后面的字段或字符被视为对metric的描述。# TYPE
开头,后面第一个字段是metric名,第二个字段是metric类型,metric类型有counter, gauge, histogram, summary, or untyped。TYPE
,并且TYPE
这行要放在metric取样之前,如果没有为metric设置TYPE
,metric类型被设置为untyped。修改node_exporter systemd配置,添加--collector.textfile.directory=/data1/nodeExporter
,需注意目录名不能加双引号。
# mkdir -p /data1/nodeExporter
# vim /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=node_exporter
[Service]
Type=simple
ExecStart=/data1/exporter/node_exporter --collector.textfile.directory=/data1/nodeExporter
[Install]
WantedBy=multi-user.target
复制代码
cat << EOF > test_http_request_metrics.prom.$$
# HELP http_requests_total The total number of HTTP requests.
# TYPE http_requests_total counter
http_requests_total{method="post",code="200"} 1057
http_requests_total{method="post",code="400"} 33
EOF
mv test_http_request_metrics.prom.$$ test_http_request_metrics.prom
复制代码
在浏览器打开node exporter查询是否有metrics:http://172.x.y.128:9100/metrics
参考:
go环境安装
wget https://dl.google.com/go/go1.11.1.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.11.1.linux-amd64.tar.gz
vim /etc/profile
---
export PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go
export GOPATH=/data1/goWork
export GOBIN=/data1/goBin
---
复制代码
用户退出重新登录即可,测试命令 go version
。
# Fetch the client library code and compile example.
git clone https://github.com/prometheus/client_golang.git
cd client_golang/examples/random
go get -d
go build
# Start 3 example targets in separate terminals:
./random -listen-address=:8080 &
./random -listen-address=:8081 &
./random -listen-address=:8082 &
复制代码
配置Prometheus Scrape目标
# vim /usr/local/prometheus260/prometheus.yml
scrape_configs:... ...
- job_name: 'example-random'
scrape_interval: 5s
static_configs:
- targets: ['localhost:8080', 'localhost:8081']
labels:
group: 'prodoction'
- targets: ['localhost:8082']
labels:
group: 'canary'... ...
复制代码
在浏览器打开访问:
redis-server 安装
wget http://download.redis.io/releases/redis-5.0.0.tar.gz
tar xzf redis-5.0.0.tar.gz
cd redis-5.0.0/
make
mkdir -p /data1/redis/bin/
mkdir -p /data1/redis/conf/
cp src/redis-* /data1/redis/bin/
cp redis.conf /data1/redis/conf/
复制代码
启动 Redis 服务
/data1/redis/bin/redis-server /data1/redis/conf/redis.conf &
复制代码
redis_exporter 安装
wget https://github.com/oliver006/redis_exporter/releases/download/v0.21.2/redis_exporter-v0.21.2.linux-amd64.tar.gz
tar xvf redis_exporter-v0.21.2.linux-amd64.tar.gz
/data1/exporter/redis_exporter redis.addr "redis://localhost:6379" &
复制代码
配置Prometheus Scrape目标
# vim /usr/local/prometheus260/prometheus.yml
scrape_configs:
... ...
- job_name: 'redis_exporter'
static_configs:
- targets: ['localhost:9121']
... ...
复制代码
浏览器打开测试 http://172.x.y.128:9121/metrics
Grafana Prometheus Redis dashboard模板使用