基础设施监控:Prometheus+Grafana

环境: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

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇