一、prometheus安装
- 安装位置: /home/service/prometheus-2.28.1.linux-amd64
- 安装go语言环境
下载go: cd /home/service ; wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
解压:tar -xzf go1.8.3.linux-amd64.tar.gz -C ./
添加环境变量:vim /etc/profile ,添加内容:
export GOROOT=/home/service/go
export PATH=$PATH:$GOROOT/bin
source配置文件: source /etc/profile
验证go安装是否成功: go version
- 下载prometheus: wget https://github.com/prometheus/prometheus/releases/download/v2.28.1/prometheus-2.28.1.linux-amd64.tar.gz
- 解压: tar -zvxf prometheus-2.28.1.linux-amd64.tar.gz -C ./
- 启动:prometheus进程由Supervisor管理维护,添加supervisor配置文件,
vim /usr/supervisor/supervisord.d/yzf_supervisor_task.conf
[program:prometheus_thread]
command=/home/service/prometheus-2.28.1.linux-amd64/prometheus --config.file=/home/service/prometheus-2.28.1.linux-amd64/prometheus.yml --web.enable-lifecycle ; 被监控的进程路径
priority=2 ; 数字越高,优先级越高
numprocs=1 ; 启动几个进程
autostart=true ; 随着supervisord的启动而启动
autorestart=true ; 自动重启
startretries=10 ; 启动失败时的最多重试次数
exitcodes=0 ; 正常退出代码
stopsignal=KILL ; 用来杀死进程的信号
stopwaitsecs=10 ; 发送SIGKILL前的等待时间
redirect_stderr=true ; 重定向stderr到stdout
- 重载supervisor配置
supervisorctl -c /usr/supervisor/supervisord.conf
> reload - 访问supervisor Web页面(http://ip:9001/ )(账号密码:admin/123456),确定 prometheus_thread 进程处于running状态。
- 确认prometheus Web页面(http://ip:9090/ )可以访问即可。
二、node_exporter 安装
- 安装机器:腾讯集群所有master,core节点,安装位置:/home/service/node_exporter-1.1.2.linux-amd64
- 下载安装包:wget https://github.com/prometheus/node_exporter/releases/download/v1.1.2/node_exporter-1.1.2.linux-amd64.tar.gz
- 解压:tar -zvxf node_exporter-1.1.2.linux-amd64.tar.gz -C ./
- 发送到其他节点: scp -r node_exporter-1.1.2.linux-amd64 root@172.16.1.249:/home/service ,scp...
- 启动: /home/service/node_exporter-1.1.2.linux-amd64/node_exporter &
- 在prometheus中配置监控node_exporter:
- cd /home/service/prometheus-2.28.1.linux-amd64
vim monitor-conf/tencent_emr.yml ,内容如下:
- targets: ['ip1:9100']
labels:
instance: ip1-instance
- targets: ['ip2:9100']
labels:
instance: ip2-instance
- vim prometheus.yml ,内容如下:
# 各个节点的硬件信息
- job_name: 'job_test'
scrape_interval: 30s
file_sd_configs:
- files: ['/home/service/prometheus-2.28.1.linux-amd64/monitor-conf/tencent_emr.yml']
refresh_interval: 5s
- 加载prometheus配置:
curl -XPOST http://ip:9090/-/reload - 访问 http://ip:9090/targets ,看到如下信息即可:
三、grafana安装
- 建议安装 8.x版本,老版本对发钉钉告警功能支持不太友好。
- 下载安装包:wget https://dl.grafana.com/oss/release/grafana-8.0.4-1.x86_64.rpm
- 安装:sudo yum install grafana-8.0.4-1.x86_64.rpm
- 修改grafana数据存储位置,存在 mysql
先在 mysql 中创建 grafana database : create database grafana;
修改 grafana 配置:
vim /etc/grafana/grafana.ini # 修改 [database]
[database]
type = mysql
host = mysql_ip:3306
name = grafana
user = root
password = 123456
url = mysql://root:123456@mysql_ip:3306/grafana
-
接着把grafana加入到系统服务,将服务启动
sudo /sbin/chkconfig --add grafana-server
sudo systemctl start grafana-server 访问grafana 页面:https://ip:3000
初始用户名和密码都是 admin-
添加prometheus为数据源:
填写prometheus地址:
- 下载grafana显示node_exporter 模板并导入:
下载链接:https://grafana.com/api/dashboards/8919/revisions/24/download
导入:
选择下载好的json文件导入:
-
导入成功后即可看到监控页面: