下载prometheus
1、下载
wget https://github.com/prometheus/prometheus/releases/download/v2.28.1/prometheus-2.28.1.linux-amd64.tar.gz
2、解压
tar -xzf prometheus-2.28.1.linux-amd64.tar.gz
3、文件迁移
cp prometheus promtool /usr/local/bin/
// 创建文件夹
sudo mkdir -p /data/prometheus;
sudo mkdir -p /etc/prometheus;
cp prometheus.yml /etc/prometheus/;
4、启动prometheus服务
prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/data/prometheus
5、防火墙增加端口开放
1、查询端口是否开放 :firewall-cmd --query-port=9090/tcp
2、开启端口 :firewall-cmd --zone=public --add-port=9090/tcp --permanent
3、重启防火墙 : firewall-cmd --reload
4、访问地址:192.168.21.226:9000
下载alertmanager
1、下载
wget https://github.com/prometheus/alertmanager/releases/download/v0.22.2/alertmanager-0.22.2.linux-amd64.tar.gz
2、解压
tar -xzf alertmanager-0.22.2.linux-amd64.tar.gz
4、启动
5、添加报警规则
在/etc/prometheus目录下创建文件serverOutOfWork.yml
touch serverOutOfWork.yml
vi serverOutOfWork.yml
groups:
- name: server_rule
rules:
- alert: SERVER_OUT_OF_WORK
expr: up{instance="node",job="node"}==0
for: 1m
labels:
severity: page
annotations:
summary: THE SERVER IS OUT OF WORK!
Esc退出编辑,:wq保存并退出
6、编辑prometheus.yml文件,添加rules
cd /etc/prometheus/;
vi prometheus.yml;
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
- "serverOutOfWork.yml"
6测试规则
>杀掉进程
>查看alert状态,满足条件,为PENDING状态
>持续时间达到1分钟后,状态变为FIRING
>编写alertmanager.yml,添加告警对象
>防火墙添加开放端口9093
firewall-cmd --zone=public --add-port=9093/tcp --permanent
firewall-cmd --reload
>启动服务
nohup ./alertmanager --config.file="alertmanager.yml" 2>&1 1>log &
下载node_exporter
1、下载
wget https://github.com/prometheus/node_exporter/releases/download/v1.1.2/node_exporter-1.1.2.linux-amd64.tar.gz
2、解压
tar -xzf node_exporter-1.1.2.linux-amd64.tar.gz
3、启动
cd node_exporter-1.1.2.linux-amd64
nohup ./node_exporter &
7、开放防火墙端口
firewall-cmd --zone=public --add-port=9100/tcp --permanent
firewall-cmd --reload
8、编辑prometheus.yml文件,添加job
cd /etc/prometheus/;
vi prometheus.yml;
- job_name: 'linux'
static_configs:
- targets: ['localhost:9100']
labels:
instance: linux
保存退出esc,:wq回车
9、访问地址:192.168.21.226:9100
下载mysqld_exporter
wget
https://github.com/prometheus/mysqld_exporter/releases/download/v0.13.0/mysqld_exporter-0.13.0.linux-amd64.tar.gz
tar -xzf mysqld_exporter-0.13.0.linux-amd64.tar.gz
下载grafana
wget https://dl.grafana.com/oss/release/grafana-8.0.5.linux-amd64.tar.gz
tar -xzf grafana-8.0.5.linux-amd64.tar.gz
直接进入该压缩包的根目录:
cd /home/ff/Downloads/grafana/grafana-8.0.5
运行grafana
nohup bin/grafana-server >> out.log &
添加防火墙开放端口
firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --reload
访问地址:
192.168.21.226:3000
默认账号密码admin/admin
添加数据源将Grafana和Prometheus关联起来,点击Add data source,填写内容
添加dashboard
可从https://grafana.com/dashboards选择需要的模版,也可从https://github.com/percona/grafana-dashboards下载,效果如下: