环境:centos7
一、安装Prometheus
1、下载Prometheus,未使用最新版本,本文使用最新版的上一版本
wget https://github.com/prometheus/prometheus/releases/download/v2.47.0/prometheus-2.47.0.linux-amd64.tar.gz
2、解压,并移动到指定目录
tar -xvf prometheus-2.47.0.linux-amd64.tar.gz
mv prometheus-2.47.0.linux-amd64 /opt/prometheus
3、创建Prometheus服务
vi /etc/systemd/system/prometheus.service
#Prometheus服务,新建文件写入以下内容
[Unit]
Description=Prometheus
After=network.target
[Service]
ExecStart=/opt/prometheus/prometheus --config.file=/opt/prometheus/prometheus.yml --storage.tsdb.path=/opt/prometheus/data
User=prometheus
[Install]
WantedBy=multi-user.target
4、将prometheus所有权给一个用户,通过此用户来启动Prometheus
chown -R prometheus:prometheus /opt/prometheus
5、刷新,将prometheus加入开机自启动,启动prometheus
systemctl daemon-reload
systemctl enable prometheus
systemctl start prometheus
6、测试,浏览器访问http://”Prometheus所在服务器IP”:9090
二、安装Grafana
1、下载Grafana,同样采用最新版的上一代
#wget https://dl.grafana.com/enterprise/release/grafana-enterprise-10.2.3.linux-amd64.tar.gz
#此处由于网络问题改成下面的镜像源
wget https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm/Packages/grafana-10.2.3-1.x86_64.rpm
2、将rpm包移动到指定目录,
mv grafana-enterprise-10.2.3-1.x86_64.rpm /usr/local
3、安装下载的Grafana的rpm包
cd /usr/local
yum install -y grafana-enterprise-10.2.3-1.x86_64.rpm
4、启动Grafana,并将Grafana服务加入开机自启动
systemctl start grafana-server
systemctl enable grafana-server
5、测试,浏览器访问http://”Grafana所在服务器IP”:3000
三、Prometheus与Grafana建立连接
四、增加SNMP支持(snmp_exporter)
1、下载snmp_exporter,同样,未使用最新版本,本文使用最新版的上一版本
wget https://github.com/prometheus/snmp_exporter/releases/download/v0.25.0/snmp_exporter-0.25.0.linux-amd64.tar.gz
2、解压,并移动到指定目录
tar -xf snmp_exporter-0.25.0.linux-amd64.tar.gz
mv snmp_exporter-0.25.0.linux-amd64 /opt/snmp_exporter
3、创建snmp_exporter服务
vi /etc/systemd/system/snmp_exporter.service
#snmp_exporter服务,新建文件写入以下内容
[Unit]
Description=node_exporter
After=network.target
[Service]
ExecStart=/opt/snmp_exporter/snmp_exporter --config.file=/opt/snmp_exporter/snmp.yml
Restart=on-failure
[Install]
WantedBy=multi-user.target
4、本系统专为prometheus建立了用户,这里将snmp_exporter所有权给到prometheus
chown -R prometheus:prometheus /opt/snmp_exporter
5、刷新,将snmp_exporter加入开机自启动,启动snmp_exporter
systemctl daemon-reload
systemctl enable snmp_exporter
systemctl start snmp_exporter
6、测试,浏览器访问http://”snmp_exporter所在服务器IP”:9116
五、SNMP与Prometheus建立连接
1、设置团体字验证
vi /opt/snmp_exporter/snmp.yml
#本例为v2版本,community为abc123,修改验证信息
#注:通过snmp监控,需要增加监控条目,是在此配置文件进行添加
......
auths:
public_v1:
community: public
security_level: noAuthNoPriv
auth_protocol: MD5
priv_protocol: DES
version: 1
public_v2:
community: abc123
security_level: noAuthNoPriv
auth_protocol: MD5
priv_protocol: DES
version: 2
modules:
apcups:
walk:
- 1.3.6.1.4.1.318.1.1.1.12
- 1.3.6.1.4.1.318.1.1.1.2
......
2、重启snmp_exporter服务
systemctl restart snmp_exporter
3、验证:
浏览器访问http://”snmp_exporter所在服务器IP”:9116
输入配置了snmp并使用同一团体字的设备,点击提交看能否抓取到信息
可以抓取到信息,表示配置成功
4、修改prometheus配置文件,设置snmp_exporter的地址
#增加一个job,
- job_name: 'snmp'
static_configs:
- targets:['10.76.37.1'] #被监控的启用snmp设备,如需增加被监控的snmp设备,增加一条记录即可
scrape_interval: 100s
scrape_timeout: 80s #抓取间隔和抓取超时时间;我第一次设置时没设置抓取超时时间,就会导致有部分数据量大的交换机状态为Down,可适当延长
metrics_path: /snmp #路径
params:
module: [if_mib]
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 127.0.0.1:9116 #snmp_exporter的地址,本例搭在了同一台机器上
5、重启Prometheus服务
systemctl restart prometheus
6、验证:
浏览器访问http://”Prometheus所在服务器IP”:9090
查看“Status”中的“Targets”,是否多出了新增的条目,且状态是否为UP
出现新增的信息,且状态正常,说明snmp设备与prometheus成功建立连接
六、增加Linux支持(node_exporter)
在被监控端的linux主机上安装
1、下载node_exporter,使用最新版本
wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz
2、解压并移动到指定目录
tar zxvf node_exporter-1.7.0.linux-amd64.tar.gz
mv node_exporter-1.7.0.linux-amd64 /opt/node_exporter
3、创建node_exporter服务
vi /etc/systemd/system/node_exporter.service
#node_exporter服务
[Unit]
Description=node_exporter
After=network.target
[Service]
ExecStart=/opt/node_exporter/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
4、加入开机自启并启动node_exporter
systemctl enable node_exporter
systemctl start node_exporter
5、防火墙放开9100端口
6、测试
浏览器访问http://”node_exporter所在主机IP”:9100/metrics
七、增加Windows支持
八、增加黑盒监控支持(black_exporter)
1、下载blackbox_exporter,本文使用最新版本
wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.24.0/blackbox_exporter-0.24.0.linux-amd64.tar.gz
2、解压,并移动到指定目录
tar xf blackbox_exporter-0.24.0.linux-amd64.tar.gz
mv blackbox_exporter-0.24.0.linux-amd64 /opt/blackbox_exporter
3、创建blackbox_exporter服务
vi /etc/systemd/system/blackbox_exporter.service
#blackbox_exporter服务,新建文件写入以下内容
[Unit]
Description=node_exporter
After=network.target
[Service]
ExecStart=/opt/blackbox_exporter/blackbox_exporter --config.file=/opt/blackbox_exporter/blackbox.yml
Restart=on-failure
[Install]
WantedBy=multi-user.target
4、将blackbox_exporter所有权给到prometheus
chown -R prometheus:prometheus /opt/blackbox_exporter
5、刷新,将blackbox_exporter加入开机自启动,启动blackbox_exporter
systemctl daemon-reload
systemctl enable blackbox_exporter
systemctl start blackbox_exporter
6、测试,浏览器访问http://”blackbox_exporter所在服务器IP”:9115
九、增加报警支持(alertmanager)
1、下载alertmanager,本文使用最新版本
wget https://github.com/prometheus/alertmanager/releases/download/v0.26.0/alertmanager-0.26.0.linux-amd64.tar.gz
2、解压,并移动到指定目录
tar -xf alertmanager-0.26.0.linux-amd64.tar.gz
mv alertmanager-0.26.0.linux-amd64 /opt/alertmanager
3、创建alertmanager服务
vi /etc/systemd/system/alertmanager.service
#alertmanager服务,新建文件写入以下内容
[Unit]
Description=node_exporter
After=network.target
[Service]
ExecStart=/opt/alertmanager/alertmanager --config.file=/opt/alertmanager/alertmanager.yml \
--storage.path=/opt/alertmanager/data \
--data.retention=24h --web.listen-address=0.0.0.0:9093 \
--cluster.listen-address=0.0.0.0:9094 \
--cluster.advertise-address=0.0.0.0:9094
Restart=on-failure
[Install]
WantedBy=multi-user.target
4、将alertmanager所有权给到prometheus
chown -R prometheus:prometheus /opt/alertmanager
5、刷新,将alertmanager加入开机自启动,启动alertmanager
systemctl daemon-reload
systemctl enable alertmanager
systemctl start alertmanager
6、测试,浏览器访问http://”alertmanager所在服务器IP”:9093
十、alertmanager与Prometheus建立连接
1
1
1
1
1
1