prometheus-添加监控linux服务器
<h3 id="1-prometheus-添加监控linux服务器">1. prometheus-添加监控linux服务器</h3><ul>
<li>
<p>prometheus添加监控linux服务器</p>
<ul>
<li>node_exporter:用于监控Linux系统的指标采集器。</li>
<li>常用指标:
<ul>
<li>CPU</li>
<li>内存</li>
<li>硬盘</li>
<li>网络流量</li>
<li>文件描述符</li>
<li>系统负载</li>
<li>系统服务</li>
</ul>
</li>
<li>数据接口:http://IP:9100</li>
<li>使用文档:https://prometheus.io/docs/guides/node-exporter/</li>
<li>GitHub:https://github.com/prometheus/node_exporter</li>
</ul>
</li>
<li>
<p>安装部署</p>
<ul>
<li>
<p>下载node_exporter包<br>
<img src="https://img2023.cnblogs.com/blog/1507553/202212/1507553-20221228171554168-1089345523.png"></p>
<pre><code>https://github.com/prometheus/node_exporter/releases/download/v1.1.2/node_exporter-1.1.2.linux-amd64.tar.gz
</code></pre>
</li>
<li>
<p>监控端主机下载</p>
<pre><code class="language-shell"># wget https://github.com/prometheus/node_exporter/releases/download/v1.1.2/node_exporter-1.1.2.linux-amd64.tar.gz
</code></pre>
</li>
<li>
<p>解压</p>
<pre><code class="language-shell"># tar-xvf node_exporter-1.1.2.linux-amd64.tar.gz
node_exporter-1.1.2.linux-amd64/
node_exporter-1.1.2.linux-amd64/LICENSE
node_exporter-1.1.2.linux-amd64/NOTICE
node_exporter-1.1.2.linux-amd64/node_exporter
</code></pre>
</li>
<li>
<p>拷贝到opt目录下存放</p>
<pre><code class="language-shell"># mv node_exporter-1.1.2.linux-amd64 /opt/
# ll /opt/node_exporter-1.1.2.linux-amd64/
total 18748
-rw-r--r-- 1 3434 3434 11357 Mar5 17:41 LICENSE
-rwxr-xr-x 1 3434 3434 19178528 Mar5 17:29 node_exporter
-rw-r--r-- 1 3434 3434 463 Mar5 17:41 NOTICE
# mv /opt/node_exporter-1.1.2.linux-amd64 /opt/node_exporter
</code></pre>
</li>
<li>
<p>切换目录</p>
<pre><code class="language-shell"># cd /opt/node_exporter/
# ll
total 18748
-rw-r--r-- 1 3434 3434 11357 Mar5 17:41 LICENSE
-rwxr-xr-x 1 3434 3434 19178528 Mar5 17:29 node_exporter
-rw-r--r-- 1 3434 3434 463 Mar5 17:41 NOTICE
</code></pre>
</li>
<li>
<p>启动服务尝试</p>
<pre><code class="language-shell"># ./node_exporter
level=info ts=2021-05-19T07:00:05.583Z caller=node_exporter.go:178 msg="Starting node_exporter" version="(version=1.1.2, branch=HEAD, revision=b597c1244d7bef49e6f3359c87a56dd7707f6719)"
level=info ts=2021-05-19T07:00:05.583Z caller=node_exporter.go:179 msg="Build context" build_context="(go=go1.15.8, user=root@f07de8ca602a, date=20210305-09:29:10)"
level=warn ts=2021-05-19T07:00:05.583Z caller=node_exporter.go:181 msg="Node Exporter is running as root user. This exporter is designed to run as unpriviledged user, root is not required."
level=info ts=2021-05-19T07:00:05.583Z caller=filesystem_common.go:74 collector=filesystem msg="Parsed flag --collector.filesystem.ignored-mount-points" flag=^/(dev|proc|sys|var/lib/docker/.+)($|/)
level=info ts=2021-05-19T07:00:05.583Z caller=filesystem_common.go:76 collector=filesystem msg="Parsed flag --collector.filesystem.ignored-fs-types" flag=^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:106 msg="Enabled collectors"
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=arp
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=bcache
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=bonding
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=btrfs
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=conntrack
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=cpu
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=cpufreq
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=diskstats
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=edac
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=entropy
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=fibrechannel
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=filefd
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=filesystem
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=hwmon
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=infiniband
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=ipvs
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=loadavg
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=mdadm
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=meminfo
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=netclass
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=netdev
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=netstat
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=nfs
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=nfsd
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=powersupplyclass
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=pressure
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=rapl
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=schedstat
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=sockstat
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=softnet
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=stat
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=textfile
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=thermal_zone
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=time
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=timex
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=udp_queues
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=uname
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=vmstat
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=xfs
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:113 collector=zfs
level=info ts=2021-05-19T07:00:05.584Z caller=node_exporter.go:195 msg="Listening on" address=:9100
level=info ts=2021-05-19T07:00:05.584Z caller=tls_config.go:191 msg="TLS is disabled." http2=false
</code></pre>
</li>
</ul>
</li>
<li>
<p>配置为系统服务管理</p>
<ul>
<li>
<p>编写系统配置服务</p>
<pre><code class="language-shell"># vim/usr/lib/systemd/system/node_exporter.service
# cat/usr/lib/systemd/system/node_exporter.service
Description=node_exporter
# 添加认证密码文件/opt/node_exporter/config.yml ,默认可以不需要
ExecStart=/opt/node_exporter/node_exporter --web.config=/opt/node_exporter/config.yml
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
WantedBy=multi-user.target
</code></pre>
</li>
<li>
<p>添加config配置文件</p>
<pre><code class="language-shell"># yum install httpd-tools –y
# htpasswd -nBC 12 '' | tr -d ':\n'
New password: #这里输入的123456
Re-type new password: #这里输入的123456
$2y$12$.YGKNPkYfSOsm.JataWRUe4vWdTS8nW6YtPQI0Jr14eTv6E5Fpdga # 这段是生成的key
</code></pre>
</li>
<li>
<p>编写启动配置文件</p>
<pre><code class="language-shell"># vim config.yml
# cat config.yml
basic_auth_users:
prometheus: $2y$12$.YGKNPkYfSOsm.JataWRUe4vWdTS8nW6YtPQI0Jr14eTv6E5Fpdga
</code></pre>
</li>
<li>
<p>启动服务</p>
<pre><code>systemctl daemon-reload
systemctl start node_exporter
systemctl enable node_exporter
</code></pre>
</li>
</ul>
</li>
<li>
<p>在prometheus添加主机</p>
<ul>
<li>
<p>添加配置文件</p>
<pre><code class="language-shell"># vim prometheus.yml
# cat prometheus.yml
# 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: ['127.0.0.1:9090']
- job_name: linux
# 添加监控主机的用户和密码
basic_auth:
username: prometheus
password: 123456
static_configs:
- targets: ['10.1.2.211:9100']
labels:
prod: web
</code></pre>
</li>
<li>
<p>重启服务</p>
<pre><code># /bin/systemctl restart prometheus
</code></pre>
</li>
</ul>
</li>
<li>
<p>在Prometheus配置文件添加被监控端:</p>
<ul>
<li>
<p>验证prometheus配置文件<br>
<img src="https://img2023.cnblogs.com/blog/1507553/202212/1507553-20221228171632092-975587146.png"></p>
</li>
<li>
<p>验证发现已经有数据了<br>
<img src="https://img2023.cnblogs.com/blog/1507553/202212/1507553-20221228171648255-1219231978.png"></p>
</li>
</ul>
</li>
<li>
<p><strong>使用Grafana展示node_exporter数据指标,仪表盘ID:9276</strong></p>
<ul>
<li>
<p><strong>导入仪表盘</strong><br>
<img src="https://img2023.cnblogs.com/blog/1507553/202212/1507553-20221228171703640-1131674735.png"><br>
<img src="https://img2023.cnblogs.com/blog/1507553/202212/1507553-20221228171722938-157400524.png"><br>
<img src="https://img2023.cnblogs.com/blog/1507553/202212/1507553-20221228171746260-23324502.png"></p>
</li>
<li>
<p>添加<br>
<img src="https://img2023.cnblogs.com/blog/1507553/202212/1507553-20221228171804922-232829325.png"><br>
<img src="https://img2023.cnblogs.com/blog/1507553/202212/1507553-20221228171825517-303040565.png"></p>
</li>
</ul>
</li>
</ul><br><br>
来源:https://www.cnblogs.com/scajy/p/17010828.html
頁:
[1]