centos 7 Prometheus+Grafana 监控主机

前言:

本文介绍Prometheus 对接Grafana 对主机进行监控
Prometheus部署参考 https://www.cnblogs.com/windle/p/16932216.html

一、前置环境说明

1、关闭firewall
systemctl stop firewalld.service
systemctl disable firewalld.service
2、关闭selinux
vim /etc/selinux/config
SELINUX=disabled

使配置立即生效,重启永久生效

setenforce 0
3、系统约定

软件源代码包存放位置:/opt
源码包编译安装位置:/usr/local/软件名字

二、部署Grafana

wget https://dl.grafana.com/oss/release/grafana-8.0.3-1.x86_64.rpm

sudo yum install grafana-8.0.3-1.x86_64.rpm
systemctl enable grafana-server.service --now
如果图像缺失文本,请确保已安装字体包
yum install fontconfig freetype* urw-fonts
登录测试:http://x.x.x.x:3000(此处IP不公开) 登录grafana,默认用户名密码:admin/admin 修改密码 QUNA@gf123
1、grafana 安装插件
格拉法纳|的饼图插件格拉法纳实验室 (grafana.com)
grafana-cli plugins install grafana-piechart-panel

[root@qzsh32 plugins]# grafana-cli plugins install grafana-piechart-panel
✔ Downloaded grafana-piechart-panel v1.6.2 zip successfully

Please restart Grafana after installing plugins. Refer to Grafana documentation for instructions if necessary.

[root@qzsh32 plugins]# systemctl restart grafana-server.service
离线安装
Alternative installation methods
Download latest zip
wget -nv https://grafana.com/api/plugins/grafana-piechart-panel/versions/latest/download -O /tmp/grafana-piechart-panel.zip
Bash
Extract and move into place
unzip -q /tmp/grafana-piechart-panel.zip -d /tmp
mv /tmp/grafana-piechart-panel-* /var/lib/grafana/plugins/grafana-piechart-panel
sudo service grafana-server restart

三、部署node_exporter

centos 7安装

1、下载node_exporter
sudo wget https://github.com/prometheus/node_exporter/releases/download/v1.1.2/node_exporter-1.1.2.linux-amd64.tar.gz
2、解压软件
tar xf node_exporter-1.1.2.linux-amd64.tar.gz -C /usr/local/
cd /usr/local/ && mv node_exporter-1.1.2.linux-amd64/ node_exporter
3、创建用户
useradd -s /sbin/nologin prometheus
sudo chown -R prometheus:prometheus node_exporter/
4、已服务启动
cat >>/usr/lib/systemd/system/node-exporter.service<<EOF
[Unit]
Description=Prometheus server Daemon
After=network.target
[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/local/prometheus/prometheus  --config.file=/usr/local/prometheus/prometheus.yml  --storage.tsdb.path=/data/prometheus  --storage.tsdb.retention=15d --web.enable-lifecycle
Restart = on-failure
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable node-exporter --now
netstat -tunlp | grep 9100

脚本:

点击查看代码
#!/bin/bash

sudo wget https://github.com/prometheus/node_exporter/releases/download/v1.1.2/node_exporter-1.1.2.linux-amd64.tar.gz


tar xf node_exporter-1.1.2.linux-amd64.tar.gz -C /usr/local/ && cd /usr/local/ && mv node_exporter-1.1.2.linux-amd64/ node_exporter && useradd -s /sbin/nologin prometheus && chown -R prometheus:prometheus node_exporter/
cd /usr/lib/systemd/system/

cat << EOF > node-exporter.service
[Unit]
Description=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
EOF

如果系统开启防火墙,需要设置防火墙规则

systemctl status firwlalld
firewall-cmd --zone=public --add-port=9100/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload

centos6安装

nohup ./node_exporter --web.listen-address=":9100" >/dev/null 2>&1 &

如果系统开启防火墙,需要设置防火墙规则

iptables -A INPUT -p tcp --dport 9100 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 9100 -j ACCEPT
service iptables save
vim /etc/sysconfig/iptables
service iptables restart

安装mysql_exporter

# useradd -s /sbin/nologin prometheus
# tar xzvf mysqld_exporter-0.12.1.linux-amd64.tar.gz -C /usr/local/
# ln -s /usr/local/mysqld_exporter-0.12.1.linux-amd64/ /usr/local/mysqld_exporter

mysql 更改

MariaDB [(none)]> grant process,replication client,select on *.* to 'exporter'@'localhost'
identified by 'redhat123';
MariaDB [(none)]> flush privileges;
# vim /usr/local/mysqld_exporter/my.cnf
[client]
user=exporter
password=redhat123
# vim /usr/lib/systemd/system/mysql_exporter.service

[Unit]
Description=Prometheus mysqld_exporter
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/mysqld_exporter/mysqld_exporter  --config.my-cnf=/usr/local/mysqld_exporter/my.cnf
Restart=on-failure
[Install]
WantedBy=multi-user.target
# systemctl daemon-reload
# systemctl enable mysql_exporter --now

安装 blackbox_exporter

tar xf blackbox_exporter-0.19.0.linux-amd64.tar.gz -C /usr/local/
cd /usr/local/
mv blackbox_exporter-0.19.0.linux-amd64/ blackbox_exporter
chown -R prometheus:prometheus blackbox_exporter/

vim /usr/lib/systemd/system/blackbox_exporter.service
[Unit]
Description=blackbox_exporter
After=network.target

[Service]
User=prometheus
Type=simple
ExecStart=/usr/local/blackbox_exporter/blackbox_exporter --config.file=/usr/local/blackbox_exporter/blackbox.yml
Restart=on-failure

[Install]
WantedBy=multi-user.target
systemctl start blackbox_exporter.service
systemctl enable blackbox_exporter.service

安装Alertmanager
tar xf alertmanager-0.22.2.linux-amd64.tar.gz -C /usr/local/
cd /usr/local/
mv alertmanager-0.22.2.linux-amd64/ alertmanager
chown -R prometheus:prometheus alertmanager/

vim /usr/lib/systemd/system/alertmanager.service
[Unit]
Description=alertmanager
After=network.target

[Service]
User=prometheus
Type=simple
ExecStart=/usr/local/alertmanager/alertmanager --config.file=/usr/local/alertmanager/alertmanager.yml
Restart=on-failure

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl start alertmanager.service
systemctl enable alertmanager.service

四、配置Prometheus

# vim /usr/local/prometheus/prometheus.yml
cd /usr/local/prometheus/ && ./promtool check config prometheus.yml
curl -X POST http://192.168.1.160:9090/-/reload

image
image
刷新配置文件:

cd /usr/local/prometheus/ && ./promtool check config prometheus.yml
curl -X POST http://192.168.1.160:9090/-/reload

posted @ 2023-01-04 14:02  WindleWang  阅读(367)  评论(0编辑  收藏  举报