使用Prometheus进行服务器监控
文章目录
- 背景
- 步骤
- 安装Prometheus
- 安装Grafana可视化工具
- linux安装监控
- window添加监控
- 添加到Prometheus
- 感悟
背景
公司服务器很多,最近要求每台服务器都要安装服务器监控,我就顺理成章的当了一回运维。坑很多,客户那边有些机器不提供root权限,有些又开不了端口,只能自行想办法解决。不过话说回来看,这玩意还是挺实用的,可对服务器的资源,如CPU、内存、磁盘等进行实时监控,好工具用起来。
步骤
参考地址:https://www.cnblogs.com/fatyao/p/11007357.html
参考地址:https://devopscube.com/monitor-linux-servers-prometheus-node-exporter/
安装Prometheus
- 下载文件并解压
https://github.com/prometheus/prometheus/releases/download/v2.8.1/prometheus-2.8.1.linux-amd64.tar.gz
tar -xvf prometheus-2.8.1.linux-amd64.tar.gz
- 添加用户
groupadd prometheus
useradd -g prometheus -s /sbin/nologin prometheus
- 授权
chown -R prometheus:prometheus /develop/server/prometheus-2.8.1.linux-amd64/
- 创建运行数据目录
mkdir -p /develop/software/prometheus-data
chown -R prometheus:prometheus /develop/software/prometheus-data/
- 设置系统配置文件
vim /usr/lib/systemd/system/prometheus.service
[Unit]
Description=Prometheus
Documentation=https://prometheus.io/
After=network.target[Service]
Type=simple
User=prometheus# --storage.tsdb.path是可选项,默认数据目录在运行目录的./data目录中
ExecStart=/develop/server/prometheus-2.8.1.linux-amd64/prometheus --config.file=/develop/server/prometheus-2.8.1.linux-amd64/prometheus.yml --storage.tsdb.path=/develop/software/prometheus-dataRestart=on-failure[Install]
WantedBy=multi-user.target
- 授权系统配置文件
chown prometheus:prometheus /usr/lib/systemd/system/prometheus.service
- 启动
systemctl enable prometheus
systemctl start prometheus
systemctl status prometheus
- 开放端口
firewall-cmd --add-port=9090/tcp --permanent
firewall-cmd --reload
- 访问
http://192.168.157.133:9090/
Status -> Configuration 可查看prometheus.yml配置
Status -> Targets 可查看配置的节点信息
安装Grafana可视化工具
方式一:需要联网
- 安装
wget https://dl.grafana.com/oss/release/grafana-6.1.3-1.x86_64.rpm
yum -y localinstall grafana-6.1.3-1.x86_64.rpm
- 启动
systemctl enable grafana-server
systemctl start grafana-server
方式二:无需联网
- 解压
tar -xvf grafana-6.7.1.linux-amd64.tar.gz
- 系统启动文件配置
vim /usr/lib/systemd/system/grafana-server.service
[Unit]
Description=Grafana
After=network.target[Service]
Type=notify
ExecStart=/develop/server/grafana-6.7.1/bin/grafana-server -homepath /develop/server/grafana-6.7.1 -config=/develop/server/software/grafana-6.7.1/conf/defaults.ini
Restart=on-failure[Install]
WantedBy=multi-user.target
- 启动服务
systemctl enable grafana-server
systemctl start grafana-server
两种方式都要做的事
- 开3000端口
firewall-cmd --add-port=3000 --permanent
firewall-cmd --reload
- 访问,默认密码admin/admin
http://192.168.157.133:3000/login
- 添加数据源
Add data source -> Prometheus -> 填写Prometheus的访问地址
- 导入dashboard仪表盘,其实就是一套可视化的ui
https://grafana.com/grafana/dashboards,挑一个你觉得好看的dashboard,下载json文件。
加号 -> Import -> Upload .json file -> Prometheus选择数据源 -> Import(Override)
- 使用nginx代理Grafana(可选)
https://grafana.com/tutorials/run-grafana-behind-a-proxy/
# vim
location /grafana/ {proxy_pass http://127.0.0.1:3000/;
}
# vim /develop/server/grafana-6.7.1/conf/defaults.ini
# root_url后面的路径要和nginx一样,比如这里是/grafana/
root_url = %(protocol)s://%(domain)s:%(http_port)s/grafana/
serve_from_sub_path = true
If you're seeing this Grafana has failed to load its application files
错误的解决办法?查看控制台是206 (Partial Content)错误,需要改nginx配置。
proxy_buffer_size 128k;
proxy_buffers 32 128k;
proxy_busy_buffers_size 128k;
linux安装监控
下载最新的安装包
https://github.com/prometheus/node_exporter/releases
解压
tar -xvf node_exporter-1.0.0-rc.1.linux-amd64.tar.gz
- 移动到指定目录
mv node_exporter-1.0.0-rc.1.linux-amd64/node_exporter /develop/server/node_exporter-1.0.0-rc.1.linux-amd64
- 创建用户
sudo useradd -rs /bin/false node_exporter
- 由于启动的是系统服务,需要创建系统配置文件
sudo vi /etc/systemd/system/node_exporter.service
- 修改配置文件
[Unit]
Description=Node Exporter
After=network.target[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/develop/server/node_exporter-1.0.0-rc.1.linux-amd64/node_exporter[Install]
WantedBy=multi-user.target
- 启动
sudo systemctl daemon-reload
sudo systemctl enable node_exporter
sudo systemctl start node_exporter
sudo systemctl status node_exporter
- 开放端口
firewall-cmd --add-port=9100/tcp --permanent
firewall-cmd --reload
- 检查启动是否成功
http://192.168.157.134:9100/metrics
window添加监控
https://github.com/martinlindhe/wmi_exporter下载适合版本的msi文件或exe文件,msi是后台启动,exe会在控制台运行,访问地址http://127.0.0.1:9182/metrics
添加到Prometheus
- 加入到Prometheus
vim /develop/server/prometheus-2.8.1.linux-amd64/prometheus.yml
- job_name: 'cbl-local02'scrape_interval: 10sstatic_configs:- targets: ['192.168.157.134:9100']labels:instance: '192.168.157.134'
- 重启Prometheus
systemctl restart prometheus
感悟
总觉得这种安装式教程记也不是,不记也不是,所以还是为了以后有参考的文档。在写教程的过程中,一直在公司环境和本地环境互相切换,所以写的博客会有针对公司和面向公众的版本,容易发生混乱。希望下次能够有所改进。
使用Prometheus进行服务器监控相关推荐
- prometheus 配置服务器监控、服务监控、容器中服务监控与告警
最近公司有几个服务遇到了瓶颈,也就是数据量增加了,没有人发现,这不是缺少一个监控服务和告警的系统吗? 主要需求是监控每个服务,顺带监控一下服务器和一些中间件,这里采集的2种,zabbix和promet ...
- 使用Grafana+Prometheus配置服务器监控
文章目录 前言 一.Grafana安装和配置 1.安装 2.登录 二.Prometheus安装和配置 1.安装 1.1 配置系统服务 2.查看服务 三.node_exporter安装和配置 1.安装 ...
- Grafana+Prometheus/Loki 服务器监控及日志监控
背景:因业务需求,需要对服务器性能进行监控及告警,同时,对业务日志进行展示与告警. 综合之下,决定使用Grafana及其周边数据源进行相关监控的建设,完成从展示到告警的全流程链路. Grafana+P ...
- Grafana Prometheus 服务安装部署(Linux服务器监控)
文章目录 一.概述 二.安装Prometheus 1.安装node_exporter 2.安装Prometheus 三.安装Grafana展示监控 监控进程 一.概述 Prometheus 介绍 Pr ...
- 服务器监控-prometheus使用(4):收集器搭建篇
文章目录 0.系列目录 1.前言 2.Telegraf 2.1 安装 2.2配置 2.2.1 inputs.system.conf 2.2.2 inputs.activemq.conf 2.2.3 i ...
- Prometheus+Grafana安装配置并配置linux服务器监控dashboard
一.简介: prometheus是谷歌用golang语言开发的一款开源的监控软件,使用安装在远程机器上的exporter,通过HTTP协议从远程的机器收集数据并存储在本地的时序数据库上. Promet ...
- 基于Prometheus+Grafana搭建监控平台-(2)实现监控elink服务器EIMServer
EIMServer是由北京华夏易联科技开发有限公司研发的一款可以私有部署的即时通讯服务平台E-Link,服务器是基于OSGI框架研发的java服务器程序,所以也可以通过Prometheus+Grafa ...
- prometheus+node_exporter+grafana+alertManager+prometheus-webhook-dingtalk实现服务器监控显示,钉钉机器人告警消息通知
1.下载prometheus安装 ① 从 https://prometheus.io/download/ 下载相应版本,安装到服务器上官网提供的是二进制版,解压就能用,不需要编译 [root@loac ...
- Grafana + prometheus在Centos搭建服务器监控系统(一)---安装、配置
一.Grafana介绍 Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知.它主要有以下六大特点: 展示方式:快速灵活的客户端图表,面板插件有 ...
最新文章
- 看我是怎样让客户更快找到我的!
- Linux学习(一)--目录结构
- jQuery找兄弟系列next(),nextAll(),nextUntil(),prev(),prevAll(),prevUntil(),siblings()
- 腾讯数平精准推荐 | 横扫ICDAR 2019,斩获七项冠军
- NET问答: 如何给 ASP.NET Core 配置指定端口 ?
- 顽皮狗 多线程分享_谁去过顽皮,谁去过尼斯? 圣诞老人为您提供Java 11建议!...
- LeetCode 632. 最小区间(排序+滑动窗口)
- mac自带python升级_mac升级Python失败?
- ubuntu安装php5.3
- 英国政府寻求在2022年成为“全球性网络力量”
- 挖掘11亿用户背后的产品逻辑之美
- 3 月书讯丨如果我早点看到这套书,数学也不会学成这个鬼样子
- “搏一搏,单车变摩托
- Java常用类(三):FileUtils类
- 计算机业打字排版比赛计算机实施方案,大学“新生杯”计算机打字比赛活动策划书...
- 在web h5 上 js 绘制汉字 按笔画绘制汉字 汉字拼音 多音字 笔画繁体字 cnchar
- vivado程序固化到flash
- 在Mac下载安装win10虚拟机教程及分辨率等问题。
- LATEX 快速入坑系列
- 六轴机器人光机_四轴机器人与六轴机器人有什么区别?