使用 wget 命令下载 node_exporter 安装包(https://github.com/prometheus/node_exporter/releases/download/v0.16.0/node_exporter-0.16.0.linux-amd64.tar.gz),如下:
hxstrive@localhost:~$ wget https://github.com/prometheus/node_exporter/releases/download/v0.16.0/node_exporter-0.16.0.linux-amd64.tar.gz --2024-03-20 23:08:41-- https://github.com/prometheus/node_exporter/releases/download/v0.16.0/node_exporter-0.16.0.linux-amd64.tar.gz Resolving github.com (github.com)... 20.205.243.166 Connecting to github.com (github.com)|20.205.243.166|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/9524057/87c9e928-5869-11e8-9817-8e2ec2a2c679?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240320%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240320T150816Z&X-Amz-Expires=300&X-Amz-Signature=746c5f1f3208eb81989da73f6edcb0fbdff1ebbeae86b2ecb5acb8836d0e0109&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=9524057&response-content-disposition=attachment%3B%20filename%3Dnode_exporter-0.16.0.linux-amd64.tar.gz&response-content-type=application%2Foctet-stream [following] --2024-03-20 23:08:41-- https://objects.githubusercontent.com/github-production-release-asset-2e65be/9524057/87c9e928-5869-11e8-9817-8e2ec2a2c679?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240320%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240320T150816Z&X-Amz-Expires=300&X-Amz-Signature=746c5f1f3208eb81989da73f6edcb0fbdff1ebbeae86b2ecb5acb8836d0e0109&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=9524057&response-content-disposition=attachment%3B%20filename%3Dnode_exporter-0.16.0.linux-amd64.tar.gz&response-content-type=application%2Foctet-stream Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.111.133, 185.199.108.133, 185.199.109.133, ... Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.111.133|:443... failed: Connection refused. Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.108.133|:443... failed: Connection refused. Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.109.133|:443... failed: Connection refused. Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.110.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 5276312 (5.0M) [application/octet-stream] Saving to: ‘node_exporter-0.16.0.linux-amd64.tar.gz’ node_exporter-0.16.0.linux-amd64.tar.gz 100%[====================================================================================================================================================>] 5.03M 15.7KB/s in 7m 5s 2024-03-20 23:16:51 (12.1 KB/s) - ‘node_exporter-0.16.0.linux-amd64.tar.gz’ saved [5276312/5276312]
使用 wget 命令下载 go 语言安装包(https://dl.google.com/go/go1.21.8.linux-amd64.tar.gz),如下:
hxstrive@localhost:~$ wget https://dl.google.com/go/go1.21.8.linux-amd64.tar.gz --2024-03-20 22:34:19-- https://dl.google.com/go/go1.21.8.linux-amd64.tar.gz Resolving dl.google.com (dl.google.com)... 120.253.253.225 Connecting to dl.google.com (dl.google.com)|120.253.253.225|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 66647874 (64M) [application/x-gzip] Saving to: ‘go1.21.8.linux-amd64.tar.gz’ go1.21.8.linux-amd64.tar.gz 100%[====================================================================================================================================================>] 63.56M 29.1MB/s in 2.2s 2024-03-20 22:34:21 (29.1 MB/s) - ‘go1.21.8.linux-amd64.tar.gz’ saved [66647874/66647874]
使用 wget 命令下载 prometheus 安装包(https://github.com/prometheus/prometheus/releases/download/v2.3.2/prometheus-2.3.2.linux-amd64.tar.gz),如下:
hxstrive@localhost:~$ wget https://github.com/prometheus/prometheus/releases/download/v2.3.2/prometheus-2.3.2.linux-amd64.tar.gz --2024-03-20 20:58:40-- https://github.com/prometheus/prometheus/releases/download/v2.3.2/prometheus-2.3.2.linux-amd64.tar.gz Resolving github.com (github.com)... 20.205.243.166 Connecting to github.com (github.com)|20.205.243.166|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/6838921/1b223630-85f6-11e8-8690-ed86652bcdc7?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240320%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240320T125841Z&X-Amz-Expires=300&X-Amz-Signature=63630c0be7464bc413d62aee697a9484b667810f07cd0ba6ef2951197c9acbb8&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=6838921&response-content-disposition=attachment%3B%20filename%3Dprometheus-2.3.2.linux-amd64.tar.gz&response-content-type=application%2Foctet-stream [following] --2024-03-20 20:58:41-- https://objects.githubusercontent.com/github-production-release-asset-2e65be/6838921/1b223630-85f6-11e8-8690-ed86652bcdc7?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240320%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240320T125841Z&X-Amz-Expires=300&X-Amz-Signature=63630c0be7464bc413d62aee697a9484b667810f07cd0ba6ef2951197c9acbb8&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=6838921&response-content-disposition=attachment%3B%20filename%3Dprometheus-2.3.2.linux-amd64.tar.gz&response-content-type=application%2Foctet-stream Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.111.133, 185.199.110.133, 185.199.109.133, ... Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.111.133|:443... failed: Connection refused. Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.110.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 27404353 (26M) [application/octet-stream] Saving to: ‘prometheus-2.3.2.linux-amd64.tar.gz’ prometheus-2.3.2.linux-amd64.tar.gz 100%[==============================================================================================>] 26.13M 10.8KB/s in 28m 33s 2024-03-20 21:27:37 (15.6 KB/s) - ‘prometheus-2.3.2.linux-amd64.tar.gz’ saved [27404353/27404353] [1]+ Exit 6 wget https://objects.githubusercontent.com/github-production-release-asset-2e65be/6838921/617e9570-06ba-4b75-a732-3f9533223331?X-Amz-Algorithm=AWS4-HMAC-SHA256
(1)使用 tar 命令解压 Go 语言安装包:
# 解压 go 语言到 /usr/local 目录 hxstrive@localhost:~$ sudo tar -C /usr/local -xzf go1.21.8.linux-amd64.tar.gz [sudo] password for hxstrive: # 查看 go 语言目录 hxstrive@localhost:~$ ll /usr/local/go/ total 80 drwxr-xr-x 10 root root 4096 3月 1 02:18 ./ drwxr-xr-x 12 root root 4096 3月 20 22:42 ../ drwxr-xr-x 2 root root 4096 3月 1 02:18 api/ drwxr-xr-x 2 root root 4096 3月 1 02:18 bin/ -rw-r--r-- 1 root root 52 3月 1 02:18 codereview.cfg -rw-r--r-- 1 root root 1337 3月 1 02:18 CONTRIBUTING.md drwxr-xr-x 2 root root 4096 3月 1 02:18 doc/ -rw-r--r-- 1 root root 505 3月 1 02:18 go.env drwxr-xr-x 3 root root 4096 3月 1 02:18 lib/ -rw-r--r-- 1 root root 1479 3月 1 02:18 LICENSE drwxr-xr-x 8 root root 4096 3月 1 02:18 misc/ -rw-r--r-- 1 root root 1303 3月 1 02:18 PATENTS drwxr-xr-x 4 root root 4096 3月 1 02:18 pkg/ -rw-r--r-- 1 root root 1455 3月 1 02:18 README.md -rw-r--r-- 1 root root 419 3月 1 02:18 SECURITY.md drwxr-xr-x 52 root root 4096 3月 1 02:18 src/ drwxr-xr-x 26 root root 12288 3月 1 02:18 test/ -rw-r--r-- 1 root root 35 3月 1 02:18 VERSION echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile source /etc/profile
(2)将 Go 添加到环境变量,添加到当前用户的 .profile 文件:
hxstrive@localhost:~$ echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.profile
(3)查看 .profile 的内容:
hxstrive@localhost:~$ cat ~/.profile # ~/.profile: executed by the command interpreter for login shells. # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login # exists. # see /usr/share/doc/bash/examples/startup-files for examples. # the files are located in the bash-doc package. # the default umask is set in /etc/profile; for setting the umask # for ssh logins, install and configure the libpam-umask package. #umask 022 # if running bash if [ -n "$BASH_VERSION" ]; then # include .bashrc if it exists if [ -f "$HOME/.bashrc" ]; then . "$HOME/.bashrc" fi fi # set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi # set PATH so it includes user's private bin if it exists if [ -d "$HOME/.local/bin" ] ; then PATH="$HOME/.local/bin:$PATH" fi export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin:/usr/local/go/bin
(4)使用 source 重新加载 /etc/profile 文件:
hxstrive@localhost:~$ source ~/.profile
(5)验证 go 安装是否正确:
hxstrive@localhost:~$ go version go version go1.21.8 linux/amd64
上述成功输出了 go 的版本信息。
(1)解压 node_exporter 安装包:
# 解压到 /usr/local 目录 hxstrive@localhost:~$ sudo tar -zxf node_exporter-0.16.0.linux-amd64.tar.gz -C /usr/local/ [sudo] password for hxstrive: # 查看目录内容 hxstrive@localhost:~$ ls /usr/local/node_exporter-0.16.0.linux-amd64/ LICENSE node_exporter NOTICE
(2)重命名目录,方便之后运行:
hxstrive@localhost:~$ sudo mv /usr/local/node_exporter-0.16.0.linux-amd64/ /usr/local/node_exporter hxstrive@localhost:~$ ls /usr/local/node_exporter/ LICENSE node_exporter NOTICE
(3)后台运行 node_exporter:
hxstrive@localhost:~$ /usr/local/node_exporter/node_exporter & [1] 66058 hxstrive@localhost:~$ INFO[0000] Starting node_exporter (version=0.16.0, branch=HEAD, revision=d42bd70f4363dced6b77d8fc311ea57b63387e4f) source="node_exporter.go:82" INFO[0000] Build context (go=go1.9.6, user=root@a67a9bc13a69, date=20180515-15:52:42) source="node_exporter.go:83" ... INFO[0000] - zfs source="node_exporter.go:97" INFO[0000] Listening on :9100 source="node_exporter.go:111"
(4)使用浏览器访问 http://localhost:9100 地址,验证服务是否启动成功:
如果你能看见上面界面,说明安装成功了。
(1)解压 Prometheus 安装包:
# 解压文件 hxstrive@localhost:~$ sudo tar -C /usr/local -zxf prometheus-2.3.2.linux-amd64.tar.gz # 查看解压后的内容 hxstrive@localhost:~$ ls /usr/local/prometheus-2.3.2.linux-amd64/ console_libraries consoles LICENSE NOTICE prometheus prometheus.yml promtool
(2)建立 prometheus 的软链接:
# 创建软链接 hxstrive@localhost:~$ sudo ln -sv /usr/local/prometheus-2.3.2.linux-amd64/ /usr/local/Prometheus '/usr/local/Prometheus' -> '/usr/local/prometheus-2.3.2.linux-amd64/' # 查看软链接目录内容 hxstrive@localhost:~$ ls /usr/local/Prometheus console_libraries consoles LICENSE NOTICE prometheus prometheus.yml promtool
(1)使用 vim 编辑 prometheus.yml 配置文件:
hxstrive@localhost:~$ vim /usr/local/Prometheus/prometheus.yml
(2)配置内容如下:
# my global config global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s). # Alertmanager configuration alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'. rule_files: # - "first_rules.yml" # - "second_rules.yml" # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: 'prometheus' # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ['localhost:9090'] # node_exporter - job_name: 'node_exporter' static_configs: - targets: ['localhost:9100']
上面配置,监听地址为本机 9090 端口 “localhost:9090”。并且还将 node_exporter 添加在配置末尾,监听本机 9100 端口。
使用 & 命令在后台运行 prometheus,命令如下:
hxstrive@localhost:~$ sudo /usr/local/Prometheus/prometheus --config.file=/usr/local/Prometheus/prometheus.yml & [2] 66610 hxstrive@localhost:~$ level=info ts=2024-03-20T15:27:25.018223319Z caller=main.go:222 msg="Starting Prometheus" version="(version=2.3.2, branch=HEAD, revision=71af5e29e815795e9dd14742ee7725682fa14b7b)" level=info ts=2024-03-20T15:27:25.018329967Z caller=main.go:223 build_context="(go=go1.10.3, user=root@5258e0bd9cc1, date=20180712-14:02:52)" level=info ts=2024-03-20T15:27:25.018369154Z caller=main.go:224 host_details="(Linux 5.13.0-37-generic #42-Ubuntu SMP Tue Mar 15 14:34:06 UTC 2022 x86_64 localhost (none))" level=info ts=2024-03-20T15:27:25.018395238Z caller=main.go:225 fd_limits="(soft=1024, hard=1048576)" level=info ts=2024-03-20T15:27:25.019214846Z caller=main.go:533 msg="Starting TSDB ..." level=info ts=2024-03-20T15:27:25.019285698Z caller=web.go:415 component=web msg="Start listening for connections" address=0.0.0.0:9090 level=info ts=2024-03-20T15:27:25.042628666Z caller=main.go:543 msg="TSDB started" level=info ts=2024-03-20T15:27:25.042796839Z caller=main.go:603 msg="Loading configuration file" filename=/usr/local/Prometheus/prometheus.yml level=info ts=2024-03-20T15:27:25.045132656Z caller=main.go:629 msg="Completed loading of configuration file" filename=/usr/local/Prometheus/prometheus.yml level=info ts=2024-03-20T15:27:25.045187237Z caller=main.go:502 msg="Server is ready to receive web requests." ...
然后,使用浏览器访问 http://localhost:9090 地址,如果能看见下面界面,则安装成功: