Prometheus + Grafana安装部署指南
创作时间:
作者:
@小白创作中心
Prometheus + Grafana安装部署指南
引用
CSDN
1.
https://blog.csdn.net/zfgylbcc/article/details/137177631
Prometheus和Grafana是常用的监控和可视化工具,它们可以收集和展示各种系统指标,帮助运维人员及时发现和解决问题。本文将详细介绍Prometheus和Grafana的安装部署过程,包括Prometheus的安装、配置和服务启动,Node Exporter的部署和Prometheus对接,以及Grafana的安装和登录。
Prometheus安装部署
1.1 下载
1.2 解压
tar -xvf prometheus-2.40.4.linux-amd64.tar.gz
1.3 安装
- 进入目录
cd prometheus-2.40.4.linux-amd64
- 将可执行命令转移到/usr/bin
mv prometheus promtool /usr/bin/
- 将配置文件转移
mkdir /etc/prometheus/
cp -r console_libraries consoles prometheus.yml /etc/prometheus/
- 添加prometheus用户
useradd -M -r -s /bin/false prometheus
- 创建所需路径并赋予权限
mkdir -p /etc/prometheus /var/lib/prometheus/metrics2 /var/run/prometheus /var/log/prometheus
chown -R prometheus:prometheus /var/lib/prometheus/ /etc/prometheus/ /var/run/prometheus /var/log/prometheus
- 创建prometheus服务启动配置文件
编辑/etc/init.d/prometheus文件,内容如下:
#!/bin/sh
# kFreeBSD do not accept scripts as interpreters, using #!/bin/sh and sourcing.
if [ true != "$INIT_D_SCRIPT_SOURCED" ] ; then
set "$0" "$@"; INIT_D_SCRIPT_SOURCED=true . /lib/init/init-d-script
fi
### BEGIN INIT INFO
# Provides: prometheus
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Monitoring system and time series database
# Description: Prometheus is a systems and services monitoring system. It
# collects metrics from configured targets at given
# intervals, evaluates rule expressions, displays the
# results, and can trigger alerts if some condition is
# observed to be true.
### END INIT INFO
# Author: Martín Ferrari <tincho@debian.org>
DESC="monitoring system and time series database"
DAEMON=/usr/bin/prometheus
NAME=prometheus
USER=prometheus
PIDFILE=/var/run/prometheus/prometheus.pid
LOGFILE=/var/log/prometheus/prometheus.log
CFGFILE=/etc/prometheus/prometheus.yml
HELPER=/usr/bin/daemon
HELPER_ARGS="--name=$NAME --output=$LOGFILE --pidfile=$PIDFILE --user=$USER"
ARGS="--config.file=/etc/prometheus/prometheus.yml \
--web.console.templates=/etc/prometheus/consoles \
--web.console.libraries=/etc/prometheus/console_libraries \
--storage.tsdb.path=/var/lib/prometheus/metrics2/ \
--storage.tsdb.retention.time=180d \
--query.max-samples=200000000 \
--web.enable-admin-api \
--storage.tsdb.wal-compression \
--web.enable-lifecycle"
config_check()
{
retcode=0
errors="$(/usr/bin/promtool check config $CFGFILE 2>&1)" || retcode=$?
if [ $retcode -ne 0 ]; then
log_failure_msg
echo "Configuration test failed. Output of config test was:" >&2
echo "$errors" >&2
return $retcode
fi
}
do_start_prepare()
{
mkdir -p `dirname $PIDFILE` || true
chown -R $USER: /var/lib/prometheus/metrics2
chown -R $USER: `dirname $LOGFILE`
chown -R $USER: `dirname $PIDFILE`
}
do_start_cmd()
{
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
$HELPER $HELPER_ARGS --running && return 1
config_check || return 2
$HELPER $HELPER_ARGS -- $DAEMON $ARGS || return 2
return 0
}
do_stop_cmd()
{
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
$HELPER $HELPER_ARGS --running || return 1
$HELPER $HELPER_ARGS --stop || return 2
# wait for the process to really terminate
for n in 1 2 3 4 5; do
sleep $n
$HELPER $HELPER_ARGS --running || break
done
$HELPER $HELPER_ARGS --running || return 0
return 2
}
do_reload()
{
log_daemon_msg "Reloading $DESC configuration files" "$NAME"
$HELPER $HELPER_ARGS --running || return 1
config_check || return 2
helper_pid=$(cat $PIDFILE)
if [ -z "$helper_pid" ]; then
log_failure_msg "Unable to find PID"
return 1
fi
start-stop-daemon --stop --signal 1 --quiet \
--ppid "$helper_pid" --exec "$DAEMON"
log_end_msg $?
}
- 服务的启停、重启
chmod +x /etc/init.d/prometheus
/etc/init.d/prometheus start/stop/restart
1.4 打开web页面
Prometheus安装成功后,打开http://localhost:9090会出现如下页面,即表示安装成功
Node Exporter部署和Prometheus对接
2.1 下载
2.2 解压
tar xvf node_exporter-1.7.0.linux-amd64.tar.gz
2.3 运行
./node_exporter --web.listen-address="192.168.10.131:9100" --log.level=warn
2.4 测试验证
curl -g -X GET http://192.168.10.131:9100/metrics?collect[]=cpu
注意这里一定要保证listen-address和url的ip端口一致,最好都用同网段ip,不要用localhost和127.0.0.1
2.5 Prometheus配置
修改Prometheus配置/etc/prometheus/prometheus.yml文件
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["192.168.10.131:9100"]
将Node Exporter监控地址后,重启Prometheus
systemctl restart prometheus
2.6 查看验证
通过Prometheus自带的UI界面,可以看到新的监控节点已经接入。点击进去,能够看到监控的内容选项。
Grafana安装部署
3.1 下载
下载地址:https://dl.grafana.com/enterprise/release/grafana-enterprise_10.4.1_amd64.deb
3.2 安装
因为我使用的是离线安装,因此需要很多离线包,这里我统一下载放到云盘,需要自取
链接:https://pan.baidu.com/s/1k-6lmtGgAOCJug9btWW6SQ
提取码:20zs
注意,这里的离线包参考的是Ubuntu 20.04的版本,其他版本的系统请自我调整
安装指令:
dpkg -i *.deb
查看版本号
grafana-cli -version
3.3 启动Grafana
启动:
systemctl start grafana-server
停止:
systemctl stop grafana-server
重启:
systemctl restart grafana-server
查看状态:
systemctl status grafana-server
3.4 登录Web页
Web页地址:http://localhost:3000
用户名:admin
第一次登录,会让设置密码。
热门推荐
中国科学家首次测出量子纠缠速度,232阿秒内完成“鬼魅般的远距作用”
中国科学家破解量子纠缠之谜,平行宇宙或成现实?
《时间裂缝》:当传统文化遇上科幻想象
CERN新发现:LHC探测到“新物理”现象,或为平行宇宙研究提供线索
白灼生菜是广东地区特色菜,做法简单,口感清脆,味道清淡
哈尔滨冰雪大世界拍照攻略:六大必拍景点+实用拍摄技巧
第二十六届哈尔滨冰雪大世界:2025亚冬会预热
哈尔滨冬夏两季旅游攻略:从景点到美食,从住宿到交通全攻略
15种香料+750克牛腱,教你做出完美牛腱汤
工业4.0浪潮下,自动化就业前景如何?
善存复合维生素片:全面补充营养,但这些人群需谨慎
台风“格美”要来了!今天沈阳仍有大到暴雨!地铁运营时间有调整!最新出行提示
从饮食到运动:全方位改善手脚冰冷的实用指南
炖排骨汤的最佳时间:1-2小时口感最佳,快炖慢炖各有妙招
营养又美味,6种家常大骨头汤详细教程
花椒:调味之外的养生与生活妙用
自制温脐贴驱寒暖身,南怀瑾推荐的居家养生法
南澳岛隐藏美景大揭秘!
宁大科院寒假攻略:吃喝玩乐全都有!
蝴蝶兰:四季开花、色彩绚丽,易养护的观赏佳品
一文掌握兰花分类:5大要点轻松区分品种
西安西仓集市:千年古仓变身周末文创天堂
蓝田泄湖镇大集:百年集市现“一元菜”,还成农业产业强镇
早期检测 = 更好的结果
感冒流鼻涕有什么好办法缓解
祛痘印三管齐下:饮食调理、天然产品和健康习惯
改善痘痘从饮食入手:高纤维、抗炎食物效果佳
麦积山石窟摄影指南:不同时间段与天气的拍摄技巧
麦积山石窟冬日游:雪景冰凌映千年雕塑,完整游玩攻略
跳绳燃脂效果超慢跑,科学实证的高效减肥法