prometheus+Grafana 监控中间件项目
分别部署在几台服务器上边:
172.25.254.100:Prometheus
172.25.254.200:Grafana
172.25.254.10:中间件
1.部署普罗米修斯:
prometheus是由谷歌研发的一款开源的监控软件,它通过安装在远程机器上的exporter,通过HTTP协议从远程的机器收集数据并存储在本地的时序数据库上
同时Prometheus后端用 golang语言开发,前端是 Grafana
可以在官网下载 适用于自己系统的prometheus
tar zxf .tar.gz
cd prometheus-*
./prometheus --help #查看帮助
vi Prometheus.yaml
启动Prometheus
在对应目录下 执行二进制文件启动
./Prometheus --config.file=prometheus.yml
查看监听端口进程 以及启动 也可以通过浏览器访问
pushgateway是 主动推送 短一点的任务 从而进行监控采集
如图为监测的3个对象
2.部署Grafana
Grafana是一个可视化数据监控平台 Prometheus 采集的数据不好导出 所以 可以使用Grafana生成可视化的图形界面进行检测
Grafana是一个开源的度量分析和可视化工具,可以通过将采集的数据分 析,查询,然后进行可视化的展示,并能实现报警。
可以在官网下载 自己适用的grafana包
wget https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm/grafana-7.4.3-1.x86_64.rpm
yum install initscripts fontconfig
yum install -y grafana-7.4.3-1.x86_64.rpm
systemctl status grafana-server.service
ss -naltp | grep 3000 #默认端口为3000 查看 是否监听端口
通过浏览器访问 ip和3000端口 (初次登录grafana账号密码都是admin)
3.检测某些中间件的运行状况
例:redis
3.1首先部署redis中间件
做好相应的配置 (利用源码编译的方式部署redis)
wget http://download.redis.io/releases/redis-6.2.7.tar.gz
tar -zxf redis-6.2.7.tar.gz -C /data
mv redis-6.2.7/ redis
yum install -y gcc gcc-c++ #安装前置依赖
cd /data/redis
make PREFIX=/data/redis install #进行编译安装redis
ln -sf /data/redis/bin/redis-cli /usr/bin/redis-cli #创建软链接 方便登入
mkdir -p /data/redis/{data,etc,logs} #创建数据存储 配置 日志目录
mv redis.conf redis.conf.back #备份配件文件
touch /data/redis/redis.conf 写入主要配置
bind 0.0.0.0
protected-mode no
port 6379
/data/redis/bin/redis-server /data/redis/redis.conf #启动 redis
启动redis 后 查看是否监听6379端口
redis-cli #看是否能登入 服务是否配置完成
3.2redis服务器下载redis_expoter
wget https://github.com/oliver006/redis_exporter/releases/download/v0.15.0/redis_exporter-v0.15.0.linux-amd64.tar.gz
tar zxf redis_exporter-v0.15.0.linux-amd64.tar.gz
./redis_exporter redis//172.25.254.10:6379 & -web.listenaddress 172.25.254.10:9121 #启动
在Prometheus服务器 修该Prometheus.yaml
最后systemctl restart Prometheus.service
普罗米修斯已经开始抓取数据
在grafana添加画板:
成功监测。
4.设置系统应用
在部署某些中间件的时候 启动繁琐 还可能占用终端 可以加入系统服务。
cd /etc/systemd/system
vim redis_expoter.service
[Unit] Description=Redis Exporter After=network.target [Service] User=redis Group=redis ExecStart=/usr/local/bin/redis_exporter \ #redis_expoter 的位置-redis.addr redis://localhost:6379 \ # 部署redis的服务器已经端口位置#-web.listen-address :9121 #redis_expoter的端口号 Restart=always[Install] WantedBy=multi-user.target
systemctl daemon-reload #重载服务 systemctl enable redis_exporter #设置开机自启动redis_expoter systemctl start redis_exporter