当前位置:首页 > 技术 > 正文内容

Prometheus–安装部署及简单监控

醉清风2020-11-03技术135

1,部署准备

IP地址角色
192.168.111.3Prometheus Server
192.168.111.4node_exporter

版本:

测试通过系统:CentOS Linux release 7.4.1708 (Core)

Prometheus:2.4.2.linux-amd64

Alertmanager:0.15.2.linux-amd64

node_exporter:0.16.0.linux-amd64

软件包下载地址:https://prometheus.io/download/


2,部署Prometheus Server。

1,下载安装包。

$ cd /usr/local/src/
$ wget https://github.com/prometheus/prometheus/releases/download/v2.4.2/prometheus-2.4.2.linux-amd64.tar.gz
$ wget https://github.com/prometheus/alertmanager/releases/download/v0.15.2/alertmanager-0.15.2.linux-amd64.tar.gz
$ wget https://github.com/prometheus/node_exporter/releases/download/v0.16.0/node_exporter-0.16.0.linux-amd64.tar.gz

2,安装 Prometheus。

创建prometheus用户。

$ groupadd prometheus
$ useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus

解压安装包。

$ tar xf prometheus-2.4.2.linux-amd64.tar.gz -C /usr/local/
$ cd /usr/local/
$ mv prometheus-2.4.2.linux-amd64/ prometheus

创建启动脚本:

$ vim /usr/lib/systemd/system/prometheus.service

添加如下内容:

[Unit]
Description=prometheus
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus --storage.tsdb.retention=15d --log.level=info
Restart=on-failure
[Install]
WantedBy=multi-user.target

3,安装 node_exporter。

在 Prometheus 节点和另一台节点上分别安装 node_exporter。

$ tar xf node_exporter-0.16.0.linux-amd64.tar.gz -C /usr/local/
$ cd /usr/local/
$ mv node_exporter-0.16.0.linux-amd64/ node_exporter
$ chown -R prometheus.prometheus node_exporter/

创建 node_exporter 启动脚本:

$ vim /usr/lib/systemd/system/node_exporter.service

添加如下内容:

[Unit]
Description=node_export
Documentation=https://github.com/prometheus/node_exporter
After=network.target
 
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/node_exporter/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target

注意:node_exporter 的运行用户也是 prometheus 用户需要在每台节点上都创建该用户。


启动 node_exporter 服务:

$ systemctl enable node_exporter.service
$ systemctl start node_exporter.service
$ systemctl status node_exporter.service
$ ss -tnl | grep 9100

另附

配置textfile收集器
mkdir -p /var/lib/node_exporter/textfile_collector
echo 'metadata{role="docker_server",datacenter="NJ"} 1'|sudo tee /var/lib/node_exporter/textfile_collector/metadata.prom
在node exporter上设置textfile的路径:
#.node_exporter  --collector.textfile.directory=/var/lib/node_exporter/textfile_collector/
配置systemd收集器
#.node_exporter --collector.textfile.directory /var/lib/node_exporter/textfile_collector --collector.systemd --collector.systemd.unit-whitelist="(docker|ssh|rsyslog).service"


2,配置 Prometheus 添加监控目标

$ cd /usr/local/prometheus
$ vim prometheus.yml 
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','localhost:9100'] # 对本机node_exporter 监控
 
# 新添加的对其它node节点抓取数据
  - job_name: '111.4'
    #重写了全局抓取间隔时间,由15秒重写成5秒。
    scrape_interval: 5s
    static_configs:
    - targets: ['192.168.111.4:9100']

启动 Prometheus 服务:

$ chown -R prometheus.prometheus prometheus/
$ systemctl enable prometheus.service
$ systemctl start prometheus.service
$ systemctl status prometheus.service

注意:要留意启动之前的目录权限更改,否则可能会在启动的时候报错Feb 11 16:08:41 localhost alertmanager: level=error ts=2019-02-11T08:08:41.419390133Z caller=main.go:179 msg="Unable to create data directory" err="mkdir data/: permission denied"。


访问 Prometheus WEB 查看我们定义的目标主机:http://192.168.111.3:9090/targets

无标题.png

扫描二维码至手机访问

扫描二维码推送至手机访问。

版权声明:本文由红柚酱发布,如需转载请注明出处。

转载请注明出处:https://www.notenet.cn/post/139.html

相关文章

「漏洞通告」Apache Struts远程代码执行漏洞 S2-059/S2-060安全漏洞 (CVE-2019-0230,CVE-2019-0233)

「漏洞通告」Apache Struts远程代码执行漏洞 S2-059/S2-060安全漏洞 (CVE-2019-0230,CVE-2019-0233)

一、综述北京时间8月13日,Struts官方发布新的安全通告,公布了2个安全漏洞:S2-059(CVE-2019-0230)是一个潜在的远程代码执行漏洞,S2-060(CVE-2019-0233)是一...

php程序图片裁剪功能

php程序图片裁剪功能

/**  * 裁剪图片  * $src_img 图片源文件  * $dst_w 目标图片宽  *&nb...

nginx负载均衡后端无法加载css和js资源

nginx负载均衡后端无法加载css和js资源

nginx的代理缓存区,默认较小导致部分文件出现加载不全的问题,比较典型的如jQuery框架,可以通过配置调整nginx的缓存区即可。主要参考proxy参数最终完整配置如下:http {...

JS控制文本框禁止输入特殊字符

JS控制文本框禁止输入特殊字符

JS 控制不能输入特殊字符<input type="text" class="domain" onkeyup="t...

jQuery实现的全选、反选和不选功能

jQuery实现的全选、反选和不选功能

适用于网页多选后需要进行批量操作的场景(如批量删除等)。如有问题希望大家可以指正。谢谢~~HTML我们的页面上有一个歌曲列表,列出多行歌曲名称,并匹配复选框供用户选择,并且在列表下方有一排操作按钮&l...