文章目录
- 简单介绍
- 环境
- 代码包下载
-
- Prometheus体系结构图
- Prometheus部署
-
- AlertManager部署
-
- node_exporter部署
- 安装
- 配置为系统服务
- node_exporter.service
- 加载配置
- 验证
- grafana部署
-
- 串联
-
- 其他插件部署
- 总结
简单介绍
Prometheus 开源的系统监控和服务监控
AlertManager 告警插件
Node_Exporter 用来监控各节点的资源信息的插件
grafana 展示面板
环境
服务 | 版本 |
---|
系统环境 | CentOS Linux release 7.9.2009 (Core) |
cpu/内存 | 8核32G(最小记得是2核4G就可以安装) |
Prometheus | 2.37.0 |
alertmanager | 0.24.0 |
node_exporter | 1.4.0 |
grafana | 9.1.2 |
代码包下载
官网地址
prometheus官网地址(很多插件都有)
grafana官网下载
CSDN组合包下载
CSDN下载
服务器下载
wget https://github.com/prometheus/prometheus/releases/download/v2.37.0/prometheus-2.37.0.linux-amd64.tar.gz
wget https://github.com/prometheus/alertmanager/releases/download/v0.24.0/alertmanager-0.24.0.linux-amd64.tar.gz
wget https://github.com/prometheus/node_exporter/releases/download/v1.4.0-rc.0/node_exporter-1.4.0-rc.0.linux-amd64.tar.gz
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.1.2.linux-amd64.tar.gz
Prometheus体系结构图
暂略
Prometheus部署
安装
[root@A bag]
[root@A bag]
[root@A bag]
[root@A bag]
[root@A prometheus]
[root@A prometheus]
配置为系统服务
prometheus.service
[root@A prometheus]
[Unit]
Description=Prometheus
After=network.target
[Service]
Type=simple
Environment="GOMAXPROCS=4"
User=prometheus
Group=prometheus
ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/data/app/prometheus/prometheus \
--config.file=/data/app/prometheus/prometheus.yml \
--storage.tsdb.path=/data/app/prometheus/data \
--storage.tsdb.retention=30d \
--web.console.libraries=/data/app/prometheus/console_libraries \
--web.console.templates=/data/app/prometheus/consoles \
--web.listen-address=0.0.0.0:9090 \
--web.read-timeout=5m \
--web.max-connections=10 \
--query.max-concurrency=20 \
--query.timeout=2m \
--web.enable-lifecycle
PrivateTmp=true
PrivateDevices=true
ProtectHome=true
NoNewPrivileges=true
LimitNOFILE=infinity
ReadWriteDirectories=/data/app/prometheus/data
ProtectSystem=full
SyslogIdentifier=prometheus
Restart=always
[Install]
WantedBy=multi-user.target
[root@A prometheus]
加载配置
[root@A prometheus]
[root@A prometheus]
[root@A prometheus]
验证
浏览器访问http://ip:9090
AlertManager部署
安装
我是部署再一台服务器上,所以prometheus账户就不创建了
[root@A bag]
[root@A bag]
[root@A bag]
[root@A alertmanager]
[root@A alertmanager]
配置为系统服务
alertmanager.service
[root@A alertmanager]
[Unit]
Description=Alertmanager
After=network.target
[Service]
Type=simple
User=prometheus
Group=prometheus
ExecStart=/data/app/alertmanager/alertmanager \
--config.file=/data/app/alertmanager/alertmanager.yml \
--storage.path=/data/app/alertmanager/data \
--web.listen-address=0.0.0.0:9093 \
--cluster.listen-address=0.0.0.0:9094 \
--log.level=info \
--log.format=logfmt
Restart=always
[Install]
WantedBy=multi-user.target
[root@A alertmanager]
加载配置
[root@A alertmanager]
[root@A alertmanager]
[root@A alertmanager]
[root@A alertmanager]
验证
浏览器访问http://ip:9093/metrics
node_exporter部署
安装
我是部署再一台服务器上,所以prometheus账户就不创建了
[root@A bag]
[root@A bag]
[root@A bag]
[root@A node_exporter]
配置为系统服务
node_exporter.service
[root@A node_exporter]
[Unit]
Description=node_exporter
After=network.target
[Service]
Type=simple
User=prometheus
Group=prometheus
ExecStart=/data/app/node_exporter/node_exporter \
--web.listen-address=0.0.0.0:9100 \
--web.telemetry-path=/metrics \
--log.level=info \
--log.format=logfmt
Restart=always
[Install]
WantedBy=multi-user.target
[root@A node_exporter]
加载配置
[root@A node_exporter]
[root@A node_exporter]
[root@A node_exporter]
[root@A node_exporter]
验证
浏览器访问http://ip:9100/metrics
grafana部署
安装
我是部署再一台服务器上,所以prometheus账户就不创建了
[root@A bag]
[root@A bag]
[root@A bag]
[root@A grafana]
配置为系统服务
grafana.service
[root@A grafana]
[Unit]
Description=grafana
[Service]
User=prometheus
Group=prometheus
ExecStart=/data/app/grafana/bin/grafana-server -homepath=/data/app/grafana
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
[root@A grafana]
加载配置
[root@A grafana]
[root@A grafana]
[root@A grafana]
[root@A grafana]
验证
浏览器访问http://ip:3000
初始账号密码为admin、admin
串联
prometheus、alertManager、node_exporter、grafana部署完毕,接下来进行串联起来
prometheus.yaml
注意事项
- 大小写敏感
- 缩进层级关系严谨,只允许使用空格缩进,缩进的空格数不重要,但是相同层级的元素左对齐即可
- ’#'表示注释
- 对象键值对使用冒号结构表示 key: value 以 - 开头的行表示构成一个数组
配置文件层级
- global 全局配置
- alerting 告警配置
- rule_files 阀值规则文件配置
- scrape_configs 拉取配置
示例
global:
scrape_interval: 15s
evaluation_interval: 15s
alerting:
alertmanagers:
- static_configs:
- targets:
- 192.168.1.10:9093
rule_files:
- "/data/app/prometheus/cbc/rules/*.yml"
- "/data/app/prometheus/cbe/rules/*.yml"
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["192.168.1.10:9090"]
- job_name: 'node'
static_configs:
- targets: ['192.168.1.10:9100']
- job_name: 'alertmanager'
static_configs:
- targets: ['192.168.1.10:9093']
检查配置&重载
[root@A prometheus]
[root@A prometheus]
其他插件部署
mysql_exporter
总结
实践过程中有问题,可以私信下
以上是prometheus单服务器部署的,也可以拆分开来,具体后边还有其他插件的监控,以及阀值的设置以及告警,后续插件监控的链接也进行补充,尽请期待
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)