目录
一、部署Prometheus
二、部署node_exporter
三、把node_exporter加载进Prometheus
四、部署grafana
一、部署Prometheus
1、从官网下载好Prometheus的安装包
2、解压 tar xf prometheus-2.41.0.linux-amd64.tar.gz
3、做个软链方便更新 ln -sv prometheus-2.41.0.linux-amd64 prometheus
4、进入Prometheus所在的文件夹,启动
./prometheus --config.file="/usr/local/prometheus/prometheus.yml" & (加个&是放在后台运行)也可以是
nohup ./prometheus --config.file="/usr/local/prometheus/prometheus.yml" &
5、Lsof -i:9090 查看端口是否已经监听,验证是否启动
6、然后浏览器访问 192.168.1.151:9090就会出现Prometheus的界面
7、此操作可以更改Prometheus的默认窗口
./prometheus --config.file=prometheus.yml --web.listen-address=localhost:9191
但是Prometheus.yml里的收集metrics的使用的仍是9090的话,访问9191将毫无意义
8、将Prometheus设为systemed管理
1.# cat /usr/lib/systemd/system/prometheus.service
2.[Unit]
3.Description=Prometheus Node Exporter
4.After=network.target
5.
6.[Service]
7.ExecStart=/usr/local/prometheus/prometheus --config.file=/etc/prometheus.yml --web.read-timeout=5m --web.max-connections=10 --storage.tsdb.retention=15d --storage.tsdb.path=/prometheus/data --query.max-concurrency=20 --query.timeout=2m
8.User=root
9.[Install]
10.WantedBy=multi-user.target
systemctl daemon-reload 重新加载配置
systemctl enable prometheus 开机自启
systemctl start prometheus 启动
启动参数解释:
–config.file=/etc/prometheus.yml 指定配置文件
–web.read-timeout=5m 请求链接的最大等待时间,防止太多的空闲链接占用资源
–web.max-connections=512 针对prometheus,获取数据源的时候,建立的网络链接数,做一个最大数字的限制,防止链接数过多造成资源过大的消耗
–storage.tsdb.retention=15d 重要参数,prometheus 开始采集监控数据后,会存在内存和硬盘中;对于保存期限的设置。时间过长,硬盘和内存都吃不消;时间太短,要查历史数据就没了。企业15天最为合适。
–storage.tsdb.path="/prometheus/data" 存储数据路径,不要随便定义
–query.max-concurrency=20 用户查询最大并发数
–query.timeout=2m 慢查询强制终止
二、部署node_exporter
1、下载安装包并解压,步骤跟Prometheus一样
2、可以进入node-exporter所在文件夹直接启动
nohup ./node_exporter &
3、设置systemed管理
1.[Unit]
2.Description=node_exporter
3.Documentation=https://prometheus.io/
4.After=network.target
5.
6.[Service]
7.ExecStart=/usr/local/bin/node_exporter
8.Restart=on-failure
9.RestartSec=20
10.
11.[Install]
12.WantedBy=multi-user.target
systemctl daemon-reload 重新加载配置
systemctl enable node_exporter 开机自启
systemctl start node_exporter 启动
三、把node_exporter加载进Prometheus
1、Prometheus监控拉取node节点信息,在prometheus.yml里添加被监控机器的配置段
global: #是一些常规的全局配置,这里只列出了两个参数
scrape_interval: 15s #每15秒采集一次数据
evaluation_interval: 15s # 每15秒做一次告警检测
# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
rule_files: #指定加载的告警规则文件
# - "first_rules.yml"
# - "second_rules.yml"
scrape_configs: #指定prometheus要监控的目标
- job_name: "prometheus"
static_configs: #静态配置目录
- targets: ["localhost:9090"] #这是监控自身
- job_name: "server"
static_configs:
- targets: ["192.168.1.151:9100","192.168.1.152:9100","192.168.1.153:9100"] #加入了#其他需要被监控的节点,可以用逗号并列隔开。
2、自定义标签
- job_name: "server"
static_configs:
- targets: ["192.0.0.0:9100","192.168.0.0:9100","192.168.0.0:9100"]
labels:
env: test
然后查询的时候就可以使用标签查询,得到想要的监控节点的信息
3、动态配置,文件导入
#将static_configs注释掉,使用file_sd_configs 文件服务发现配置
- job_name: "server"
#static_configs:
# - targets: ["192.168.1.151:9100","192.168.1.152:9100","192.168.1.153:9100"]
# labels:
# env: test
file_sd_configs:
- files: ['/data/database/prometheus/sd_config/node.yml']
refresh_interval: 5s
Vim node.yml
- targets: ["192.168.1.151:9100","192.168.1.152:9100","192.168.1.153:9100"]
labels:
env: test
四、部署grafana
1、官网下载安装包 grafana.com然后解压
2、进入grafana文件夹启动 ./grafana-server web
3、使用systemed管理
[etl@cdh-dc-001 ~]$ cat /usr/lib/systemd/system/grafana.service
[Unit]
Description=grafana daemon
[Service]
Restart=on-failure
ExecStart=/home/server/grafana/bin/grafana-server -homepath=/home/server/grafana #指定安装目录启动
[Install]
WantedBy=multi-user.target
设置开机自启 systemctl enable grafana
4、浏览器访问 192.168.1.151:3000
5、默认登录名密码为"admin/admin"
6、配置数据源,光标移到设置图标,数据源选择Prometheus
出现此状态表明数据源载入成功
7、配置dashboards
到官网下载一个dashboards模板
可以直接搜素,选择一个模板(有些模板可能存在问题导致无法显示数据)
回到grafana,将下载好的模板导入
点击import就会出现想要的数据啦! 快去试试吧!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)