(一)Prometheus+node_exporter+Grafana+altermanage+prometheus-webhook-dingtalk监控运维钉钉告警实战记录

Prometheus+node_exporter+Grafana+altermanage+prometheus-webhook-dingtalk监控运维钉钉告警实战记录

前言

本文详细记录各个操作步骤,每一步均验证成功,一次性搞定两大模块。使用Prometheus+node_exporter+Grafana+altermanage+prometheus-webhook-dingtalk,达到监控openEuler虚拟机各项指标,并能够发出告警,与钉钉hook机器人联动,发送钉钉消息。

第一部分 Prometheus+node_exporter+Grafana 监控数据展示

前置安装包下载:

已经作为资源绑定在该文章内最前边的大标题之下,可先下载。或直接在ZEEKLOG内搜索框搜索:搭建prometheus+grafana+alertmanager监控运维钉钉告警各组件安装包

各项前置操作

  1. 操作系统:openEuler22.02LTS_SP4
  2. 操作系统配置:cpu:4核,内存3G,存储200GB
  3. 安装包组合:
alertmanager-0.29.0.linux-amd64.tar.gz grafana-5.4.2-1.x86_64.rpm node_exporter-1.10.2.linux-amd64.tar.gz prometheus-3.8.0.linux-amd64.tar.gz prometheus-webhook-dingtalk-2.1.0.linux-amd64.tar.gz 
在这里插入图片描述
  1. 将tar.gz文件解压文件到opt目录下,将rpm文件移动到opt目录下。

将各个安装包上传至虚拟机的根目录下。

在这里插入图片描述
tar -zxvf prometheus-3.8.0.linux-amd64.tar.gz -C /opt/ tar -zxvf prometheus-webhook-dingtalk-2.1.0.linux-amd64.tar.gz -C /opt/ tar -zxvf node_exporter-1.10.2.linux-amd64.tar.gz -C /opt/ tar -zxvf alertmanager-0.29.0.linux-amd64.tar.gz -C /opt/ mv grafana-5.4.2-1.x86_64.rpm /opt/ 
在这里插入图片描述

prometheus普罗米修斯设置后台进程启动

## cd到普罗米修斯的安装目录cd /opt/prometheus-3.8.0.linux-amd64 ## 查看文件夹内文件ls -l ## prometheus.yml为配置文件## 以默认设置后台进程启动普罗米修斯,不占用终端命令行界面,使用符号"&" ./prometheus --config.file=prometheus.yml &## 在防火墙添加默认的监听9090端口 firewall-cmd --zone=public --add-port=9090/tcp --permanent ## 重载防火墙 firewall-cmd --reload ## 查看后台进程是否存在sudonetstat -tulpn |grep9090ps aux |grep prometheus 
在这里插入图片描述


在这里插入图片描述

访问prometheus普罗米修斯web界面

因为9090的监听地址是:::*表示监听所有0.0.0.0地址,用自己电脑打开http://你的服务器ip地址:9090,显示界面如图,普罗米修斯默认监控自身所在的服务器。记得在web页面,设置时间使用本地时间。

在这里插入图片描述

node_exporter设置启动

node_exporter可以采集服务器的各种资源使用情况,将这些信息提供给Prometheus服务器进行监控和分析。因此要在所有需要监控和分析的机器上安装node_exporter。此处以在本机同一台服务器上启动举例。

## 进入到node_exporter目录下cd /opt/node_exporter-1.10.2.linux-amd64 ls -l ## 执行以后台进程的形式启动,使用&符号 ./node_exporter &## 添加防火墙端口,默认的9100 firewall-cmd --zone=public --add-port=9100/tcp --permanent ## 重载防火墙 firewall-cmd --reload ## 查看进程启动情况ps aux |grep node_export sudonetstat -tulpn |grep9100
在这里插入图片描述


关掉之前开启的prometheus进程,重新修改prometheus.yml配置文件,将node_export配置进去。然后重启prometheus进程。

## 查看prometheus后台进程的pid号sudonetstat -tulpn |grep9090## 杀死进程号为25195的进程kill -9 25195## 切换到prometheus目录,编辑prometheus.yml文件cd /opt/prometheus-3.8.0.linux-amd64 vim prometheus.yml ## 添加自定义的监控项目#自定义的监控项目 - job_name: "agent1" static_configs: - targets: ["你的prometheus服务端本机:9100"] labels: app: "prometheus服务端本机"# 自行在第二台机器安装node_export,并修改防火墙端口,启动服务,保证机器与机器之间网络通。 - job_name: "agent2" static_configs: - targets: ["你的第二台机器ip:9100"] labels: app: "你的第二台机器的自定义标签"## 修改完.yml配置文件后,以后台进程形式启动prometheus## cd到普罗米修斯的安装目录cd /opt/prometheus-3.8.0.linux-amd64 ## 查看文件夹内文件ls -l ## prometheus.yml为配置文件## 以默认设置后台进程启动普罗米修斯,不占用终端命令行界面,使用符号"&" ./prometheus --config.file=prometheus.yml &
在这里插入图片描述


在这里插入图片描述


重新访问http://你的服务器ip:9090web界面,查看是否有对应的端点显示情况。此处agent2报红,是因为网络还未通。

在这里插入图片描述

Grafana图形化工具安装配置

仅使用prometheus做监控,web界面不直观,多以日志的形式展示,难以阅读,使用Grafana图形化界面对数据进行整合。

## 切换到Grafana的安装目录cd /opt/ ls=l ## 执行grafana安装程序,自动下载相关依赖。 yum install -y grafana-5.4.2-1.x86_64.rpm ## 默认openEuler的yum源仓库不满足,需改仓库源,下述为直接安装时报错,更改镜像源的操作。cd /etc/yum.repos.d/ ## 将原有repo仓库备份cp openEuler.repo openEuler.repo.back ## 删除openEuler.reporm -i openEuler.repo ## 新建华为云镜像源仓库vim /etc/yum.repos.d/huawei-openeuler.repo ## 编辑文件内容为[openEuler-everything]name=openEuler-everything baseurl=https://mirrors.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP4/everything/x86_64/ enabled=1gpgcheck=0gpgkey=https://mirrors.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP4/everything/x86_64/RPM-GPG-KEY-openEuler [openEuler-EPOL]name=openEuler-epol baseurl=https://mirrors.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP4/EPOL/main/x86_64/ enabled=1gpgcheck=0[openEuler-update]name=openEuler-update baseurl=https://mirrors.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP4/update/x86_64/ enabled=1gpgcheck=0## 清理仓库缓存,并新建缓存 yum clean all yum makecache ## 返回grafana的目录cd /opt/ ## 重新执行安装 yum install -y grafana-5.4.2-1.x86_64.rpm 

点此进入华为云镜像仓库地址可获取镜像文件相关配置。

华为云镜像


执行grafana安装成功
## 在防火墙添加默认的监听3000端口 firewall-cmd --zone=public --add-port=3000/tcp --permanent ## 重载防火墙 firewall-cmd --reload 

然后启动garfana:systemctl start grafana-server systemctl enable grafana-server
浏览器访问http://你的服务器ip:3000,默认用户名和密码是admin/admin,若访问打不开网页,修改防火墙设置。
添加数据源普罗米修斯

在这里插入图片描述


选择为普罗米修斯

在这里插入图片描述


填写自定义名称,普罗米修斯的服务地址

在这里插入图片描述


返回首页进入Dashboard自己创建监控图标,但是比较麻烦,不如直接import引入现有的监控大屏。

在这里插入图片描述


前往官网:https://grafana.com/,进入模板下载界面

在这里插入图片描述


选择第一个模板

在这里插入图片描述


点击下载,然后会获得一个json文件,选择模板时,记得要选择与grafana相匹配的版本,否则导入后会报错,此处使用的grafana版本为2019年发布,所以模板也选择2019年发布的

在这里插入图片描述

返回grafana界面,直接上传json文件即可。

在这里插入图片描述


最终界面如下,此处没有启动node_exporter,所以有些地方显示N/A,启动后正常显示。

在这里插入图片描述

第二部分Prometheus+node_exporter+Grafana+altermanage+prometheus-webhook-dingtalk实现监控指标异常钉钉告警

prometheus-webhook-dingtalk搭配钉钉告警

登录阿里的钉钉,然后创建群,群成员必须大于等于2人,然后添加webhook机器人进群,群设置内完成如下操作:
消息推送 开启
Webhook 复制
安全设置 -> 勾选 加签 -> 复制

在这里插入图片描述

进入prometheus-webhook-dingtalk目录,编辑.yml配置文件

## 进入目录cd /opt/prometheus-webhook-dingtalk-2.1.0.linux-amd64/ ls -l ## 复制配置文件,此处不可省略,否则启动prometheus-webhook-dingtalk会报错cp -p config.example.yml config.yml ## 编辑配置文件vim config.yml ## 使用默认的模板templates## 并增加刚刚复制的钉钉机器人url与密钥secret,将其不需要的行注释掉## Request timeout timeout: 5s ## Uncomment following line in order to write template from scratch (be careful!)#no_builtin_template: true## Customizable templates path templates: - contrib/templates/legacy/template.tmpl ## You can also override default template using `default_message`## The following example to use the 'legacy' template from v0.3.0 default_message: title: '{{ template "legacy.title" . }}' text: '{{ template "legacy.content" . }}'## Targets, previously was known as "profiles" targets: webhook1: url: https://oapi.dingtalk.com/robot/send?access_token=你的token # secret for signature secret: 你的密钥 # webhook2:#url: https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxx#webhook_legacy:#url: https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxx# Customize template content#message:# Use legacy template#title: '{{ template "legacy.title" . }}'#text: '{{ template "legacy.content" . }}'#webhook_mention_all:#url: https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxx#mention:#all: true#webhook_mention_users:#url: https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxx#mention:#mobiles: ['156xxxx8827', '189xxxx8325']
## 修改防火墙规则,添加端口8060 firewall-cmd --zone=public --add-port=8060/tcp --permanent ## 重载防火墙 firewall-cmd --reload ## 启动服务 ./prometheus-webhook-dingtalk 
在这里插入图片描述

altermanager配置文件修改

## 进入altermanager目录cd /opt/alertmanager-0.29.0.linux-amd64/ ls -l ## 编辑alertmanager.yml配置文件vim alertmanager.yml ## 配置文件编辑内容如下 global: resolve_timeout: 5m route: group_by: ['alertname'] group_wait: 10s group_interval: 15s repeat_interval: 20m receiver: 'dingding.webhook1' receivers: - name: 'dingding.webhook1' webhook_configs: - url: 'http://你自己安装了webhook-dingtalk服务器的ip:8060/dingtalk/webhook1/send' send_resolved: true inhibit_rules: - source_match: severity: 'critical' target_match: severity: 'warning' equal: ['alertname', 'dev', 'instance']## 然后修改防火墙规则,增加9093 firewall-cmd --zone=public --add-port=9093/tcp --permanent ## 重载防火墙 firewall-cmd --reload ## 启动服务cd /opt/alertmanager-0.29.0.linux-amd64 ./alertmanager 

再次修改prometheus配置文件

先修改prometheus.yml文件,增加告警规则的指定位置,增加altermanager告警服务的地址

# my global config global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.# scrape_timeout is set to the global default (10s).# Alertmanager configuration# 增加alter告警服务的地址 alerting: alertmanagers: - static_configs: - targets: - 你的服务地址:9093 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'.# 增加告警规则指定位置,位置为相对位置 rule_files: - "alter_rules/first_rules.yml"# - "second_rules.yml"# A scrape configuration containing exactly one endpoint to scrape:# Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.# 普罗米修斯默认的监控项目 - job_name: "prometheus"# metrics_path defaults to '/metrics'# scheme defaults to 'http'. static_configs: - targets: ["localhost:9090"]# The label name is added as a label `label_name=<label_value>` to any timeseries scraped from this config. labels: app: "prometheus"#自定义的监控项目 - job_name: "agent1" static_configs: - targets: ["你的目标机器1地址:9100"] labels: app: "prometheus服务端本机" - job_name: "agent2" static_configs: - targets: ["你的目标机器2地址:9100"] labels: app: "你的自定义名称"

在prometheus安装目录新建alter_rules目录,增加告警文件规则

## 进入安装普罗米修斯目录cd /opt/prometheus-3.8.0.linux-amd64/ ## 新建告警规则目录mkdir alter_rules ## 进到该目录cd alter_rules ## 新建告警规则文件touch first_rules.yml ## 告警规则文件内容# 规则组列表,每个规则组是独立的规则集合 groups: # 第一个规则组,用于监控系统资源相关指标 - name: system_resource_monitoring rules: # 监控 CPU 使用率的告警规则 - alert: HighCPUUsage # 告警名称,用于唯一标识该告警 expr: 100 - (avg by (instance)(irate(node_cpu_seconds_total{mode="idle"}[30s])) * 100)>80# 告警表达式,计算每个实例的 CPU 使用率,判断是否超过 80% for: 30s # 持续时间,CPU 使用率必须连续 30s超过 80% 才触发告警 labels: severity: warning # 告警严重级别为警告 annotations: summary: "High CPU usage on {{ $labels.instance }}"# 告警简要描述,动态插入实例名称 description: "The CPU usage on {{ $labels.instance }} has been above 80% for the last 5 minutes."# 告警详细描述,说明 CPU 使用率过高及持续时间# 监控内存使用率的告警规则 - alert: HighMemoryUsage expr: (node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes * 100>90# 计算内存使用率,判断是否超过 90% for: 5m # 持续时间,内存使用率必须连续 5 分钟超过 90% 才触发告警 labels: severity: warning # 告警严重级别为警告 annotations: summary: "High memory usage on {{ $labels.instance }}"# 告警简要描述,动态插入实例名称 description: "The memory usage on {{ $labels.instance }} has been above 90% for the last 5 minutes."# 告警详细描述,说明内存使用率过高及持续时间# 监控磁盘使用率的告警规则 - alert: HighDiskUsage expr: (node_filesystem_size_bytes{mountpoint="/"} - node_filesystem_free_bytes{mountpoint="/"}) / node_filesystem_size_bytes{mountpoint="/"} * 100>85# 计算根目录(/)的磁盘使用率,判断是否超过 85% for: 5m # 持续时间,磁盘使用率必须连续 5 分钟超过 85% 才触发告警 labels: severity: warning # 告警严重级别为警告 annotations: summary: "High disk usage on {{ $labels.instance }}"# 告警简要描述,动态插入实例名称 description: "The disk usage on {{ $labels.instance }} (mountpoint: /) has been above 85% for the last 5 minutes."# 告警详细描述,说明磁盘使用率过高、挂载点及持续时间# 监控磁盘 IO 使用率的告警规则 - alert: HighDiskIOUsage expr: rate(node_disk_io_time_seconds_total[5m])>0.9# 计算磁盘 IO 使用率,判断是否超过 0.9 for: 5m # 持续时间,磁盘 IO 使用率必须连续 5 分钟超过 0.9 才触发告警 labels: severity: warning # 告警严重级别为警告 annotations: summary: "High disk IO usage on {{ $labels.instance }}"# 告警简要描述,动态插入实例名称 description: "The disk IO usage on {{ $labels.instance }} has been above 0.9 for the last 5 minutes."# 告警详细描述,说明磁盘 IO 使用率过高及持续时间# 第二个规则组,用于监控网络和防火墙状态 - name: network_and_firewall_monitoring rules: # 监控网络连通性的告警规则 - alert: NetworkConnectivityIssue expr: probe_success{job="blackbox_exporter"}==0# 判断网络探测是否失败(值为 0 表示失败) for: 2m # 持续时间,网络探测失败必须连续 2 分钟才触发告警 labels: severity: critical # 告警严重级别为严重 annotations: summary: "Network connectivity issue on {{ $labels.instance }}"# 告警简要描述,动态插入实例名称 description: "The network connectivity on {{ $labels.instance }} has failed for the last 2 minutes."# 告警详细描述,说明网络连接失败及持续时间# 监控防火墙状态的告警规则 - alert: FirewallNotRunning expr: node_systemd_unit_state{name="firewalld.service",state="active"}==0# 判断防火墙服务(firewalld)是否未处于活跃状态(值为 0 表示未活跃) for: 2m # 持续时间,防火墙服务未活跃必须连续 2 分钟才触发告警 labels: severity: critical # 告警严重级别为严重 annotations: summary: "Firewall is not running on {{ $labels.instance }}"# 告警简要描述,动态插入实例名称 description: "The firewall service on {{ $labels.instance }} has been inactive for the last 2 minutes."# 告警详细描述,说明防火墙服务未运行及持续时间

测试是否能正常钉钉报警

## 命令行执行ddif=/dev/zero of=/dev/null &## 执行top,查看cpu使用率,如果执行一次dd if=/dev/zero of=/dev/null &达不到100%占用,那就多执行几次top## 各项服务后台进程启动,需要分别cd进到各服务的目录下,执行启动进程 ./prometheus-webhook-dingtalk & ./alertmanager & ./prometheus & ./node_exporter &## 可分别查看其进程有无真正起来## 查看进程启动情况,以node_exporter举例,其他服务替换服务名和端口号即可,其中prometheus-webhook-dingtalk服务名称为prometheus-webhps aux |grep node_exporter ## 可以通过端口号查询进程是否存在,同时获得pid号sudonetstat -tulpn |grep9100## 测试完毕后,需要kill -9 pid号kill -9 dd的pid号 kill -9 各服务的pid号 
在这里插入图片描述


在这里插入图片描述

各项服务的端口号

ss -tulpn |grep node_exporter #端口号9100 ss -tulpn |grep alertmanager #端口号9093 ss -tulpn |grep prometheus-webh #端口号8060 ss -tulpn |grep prometheus #端口号9090 ss -tulpn |grep grafana #端口号3000

问题排查

  • 观察30秒后,没有告警通知发出,则命令行输入top,查看cpu占用飙升后,打开prometheus的web页面。查看是否能正常采集到机器的各项指标,若没有,则说明采集指标异常。
  • 各服务所需的端口一定要在防火墙开放。且监听地址为0.0.0.0。

第三部分设置各项服务为开机启动,失败后重启。

  1. 编辑prometheus系统启动文件

先确认好各服务的安装目录,示例如下,在/opt/下:

在这里插入图片描述
## 编辑prometheus文件sudovi /etc/systemd/system/prometheus.service ## 文件内容如下:[Unit]# 服务描述Description=Prometheus监控系统 # 官方文档链接Documentation=https://prometheus.io/ # 启动顺序,确保在网络服务启动后再启动本服务After=network.target [Service]# 服务类型,simple表示主进程启动后服务即视为激活Type=simple # Prometheus执行文件路径和启动参数# --config.file指定配置文件位置(使用您的实际路径)# --storage.tsdb.path指定监控数据存储路径(使用您的实际路径)# --web.listen-address指定监听地址和端口(0.0.0.0表示监听所有网络接口)ExecStart=/opt/prometheus-3.8.0.linux-amd64/prometheus \ --config.file=/opt/prometheus-3.8.0.linux-amd64/prometheus.yml \ --storage.tsdb.path=/opt/prometheus-3.8.0.linux-amd64/data \ --web.listen-address=0.0.0.0:9090 # 服务异常退出时自动重启Restart=on-failure # 重启前等待5秒RestartSec=5s # 指定工作目录为您的安装目录WorkingDirectory=/opt/prometheus-3.8.0.linux-amd64 # 限制内存使用(可选,根据您的系统配置调整)MemoryLimit=2G [Install]# 指定服务安装到哪个系统目标下,multi-user.target表示多用户命令行模式WantedBy=multi-user.target 
  1. 编辑node_export系统启动文件
## 编辑node_export系统启动文件sudovi /etc/systemd/system/node_exporter.service ## 文件内容如下:[Unit]# 服务描述Description=Node Exporter for Prometheus # 官方文档链接Documentation=https://github.com/prometheus/node_exporter # 启动顺序,确保在网络服务启动后再启动本服务After=network.target [Service]# 服务类型,simple表示主进程启动后服务即视为激活Type=simple # node_exporter执行文件路径(已根据您的实际路径调整)# --web.listen-address指定监听地址和端口(默认9100)# --collector.systemd 启用systemd收集器# --collector.processes 启用进程收集器ExecStart=/opt/node_exporter-1.10.2.linux-amd64/node_exporter \ --web.listen-address=:9100 \ --collector.systemd \ --collector.processes # 服务异常退出时自动重启Restart=on-failure # 重启前等待5秒RestartSec=5s # 指定工作目录为您的安装目录WorkingDirectory=/opt/node_exporter-1.10.2.linux-amd64 # 指定运行用户(这里使用root,生产环境建议使用专用用户)User=root Group=root [Install]# 指定服务安装到哪个系统目标下,multi-user.target表示多用户命令行模式WantedBy=multi-user.target 
  1. 编辑Grafana系统启动文件。因此处使用的是RPM包安装,所以Grafana已经自带systemd服务文件,只需启用即可。
# 启用Grafana服务开机自启sudo systemctl enable grafana-server # 启动Grafana服务sudo systemctl start grafana-server # 检查服务状态sudo systemctl status grafana-server 
  1. 编辑altermanager系统启动文件
## 创建systemd服务文件sudovi /etc/systemd/system/alertmanager.service ## 文件内容如下:[Unit]# 服务描述Description=Alertmanager for Prometheus # 官方文档链接Documentation=https://prometheus.io/docs/alerting/alertmanager/ # 启动顺序,确保在网络服务启动后再启动本服务After=network.target [Service]# 服务类型,simple表示主进程启动后服务即视为激活Type=simple # Alertmanager执行文件路径(已根据您的实际路径调整)# --config.file指定配置文件位置# --storage.path指定告警数据存储路径# --web.listen-address指定监听地址和端口(默认9093)ExecStart=/opt/alertmanager-0.29.0.linux-amd64/alertmanager \ --config.file=/opt/alertmanager-0.29.0.linux-amd64/alertmanager.yml \ --storage.path=/opt/alertmanager-0.29.0.linux-amd64/data \ --web.listen-address=0.0.0.0:9093 # 服务异常退出时自动重启Restart=on-failure # 重启前等待5秒RestartSec=5s # 指定工作目录为您的安装目录WorkingDirectory=/opt/alertmanager-0.29.0.linux-amd64 # 指定运行用户(这里使用root,生产环境建议使用专用用户)User=root Group=root [Install]# 指定服务安装到哪个系统目标下,multi-user.target表示多用户命令行模式WantedBy=multi-user.target 
  1. 设置Prometheus-webhook-dingtalk系统开机启动
## 创建systemd服务文件sudovi /etc/systemd/system/prometheus-webhook-dingtalk.service ## 文件内容如下:[Unit]# 服务描述Description=Prometheus Webhook for DingTalk # 官方文档链接Documentation=https://github.com/timonwong/prometheus-webhook-dingtalk # 启动顺序,确保在网络服务启动后再启动本服务After=network.target [Service]# 服务类型,simple表示主进程启动后服务即视为激活Type=simple # Prometheus-webhook-dingtalk执行文件路径(已根据您的实际路径调整)# --config.file指定配置文件位置# --web.listen-address指定监听地址和端口(默认8060)ExecStart=/opt/prometheus-webhook-dingtalk-2.1.0.linux-amd64/prometheus-webhook-dingtalk \ --config.file=/opt/prometheus-webhook-dingtalk-2.1.0.linux-amd64/config.yml \ --web.listen-address=0.0.0.0:8060 # 服务异常退出时自动重启Restart=on-failure # 重启前等待5秒RestartSec=5s # 指定工作目录为您的安装目录WorkingDirectory=/opt/prometheus-webhook-dingtalk-2.1.0.linux-amd64 # 指定运行用户(这里使用root,生产环境建议使用专用用户)User=root Group=root [Install]# 指定服务安装到哪个系统目标下,multi-user.target表示多用户命令行模式WantedBy=multi-user.target 
  1. 重载系统服务文件加载,各项服务启动,各项服务设置开机自启。
## 重载系统服务文件sudo systemctl daemon-reload ## 设置Prometheus开机自启sudo systemctl enable prometheus ## 启动Prometheus服务sudo systemctl start prometheus # 设置node_exporter开机自启sudo systemctl enable node_exporter # 启动node_exporter服务sudo systemctl start node_exporter # 启用Grafana服务开机自启sudo systemctl enable grafana-server # 启动Grafana服务sudo systemctl start grafana-server # 设置开机自启sudo systemctl enable alertmanager # 启动服务sudo systemctl start alertmanager # 设置开机自启sudo systemctl enable prometheus-webhook-dingtalk # 启动服务sudo systemctl start prometheus-webhook-dingtalk 
  1. 查看各项服务状态
sudo systemctl status prometheus sudo systemctl status node_exporter sudo systemctl status grafana-server sudo systemctl status alertmanager sudo systemctl status prometheus-webhook-dingtalk 

重点观察两个位置的状态。

在这里插入图片描述

Read more

[源力觉醒 创作者计划]_文心一言 4.5开源深度解析:性能狂飙 + 中文专精

[源力觉醒 创作者计划]_文心一言 4.5开源深度解析:性能狂飙 + 中文专精

文章目录 * [源力觉醒 创作者计划]_文心一言 4.5开源深度解析:性能狂飙 + 中文专精 * 一. 部署实战:单卡环境的极速落地 * 1.1 🖥️ 环境配置の手把手教程 📝 * 部署准备:硬件与镜像 * 依赖安装:一行代码搞定 * 1.2 🚀 模型启动の参数与验证 ✅. * 二. 多场景能力验证:从工业到学术 * 2.1 🏥 医疗影像诊断:从模糊影像到病灶定位 * 2.2 🚦 交通流优化:动态拥堵预测与策略设计 * 2.3 🔍 考古文本破译:甲骨文符号的跨学科解读 * 三. 性能优化与问题解决 * 3.1 🚀 性能优化策略:让模型跑得更快 * 3.2 🛠️ 常见错误解决方案 * 四. 与同类模型对比 * 🍬 核心优势对比🍭 * 🍬 对比结论🍭 * 五、

LLaMA 3.1 模型在DAMODEL平台的部署与实战:打造智能聊天机器人

LLaMA 3.1 模型在DAMODEL平台的部署与实战:打造智能聊天机器人

文章目录 前言 一、LLaMA 3.1 的特点 二、LLaMA3.1的优势 三、LLaMA3.1部署流程 (一)创建实例 (二)通过JupyterLab登录实例 (3)部署LLaMA3.1 (4)使用教程 总结 前言 LLama3.1 是 Meta(Facebook 母公司)发布的系列大语言模型之一,属于 LLaMA(Large Language Model Meta AI)模型系列。LLaMA 模型的目标是通过更高效的设计在保持模型性能的前提下,显著降低其计算和资源需求。LLaMA 3.1 是该系列的最新版本,继承了前面版本,如 LLaMA 1

Obsidian 看板 + Copilot:项目管理与每日总结的完美闭环

Obsidian 看板 + Copilot:项目管理与每日总结的完美闭环

在多项目并行的职场节奏中,项目管理是每个人的必修课。我曾深陷“工具选择困难症”,在滴答清单、Notion 等工具间反复横跳。虽然滴答清单足够优秀,但它始终无法与我的个人知识库深度联动,更难以调用 AI 能力来二次加工我的工作轨迹。 今天,我想分享一套基于 Obsidian 看板 + Copilot 的全自动化项目管理工作流。 核心思路 All in One 的自动化闭环这套工作流的核心在于利用 Obsidian 的“万物皆 Markdown”特性。看板文件本质上是 Markdown 列表,通过插件自动记录的时间戳,我们可以让 Copilot 扮演“私人秘书”,瞬间完成从“任务执行”到“复盘总结”。 必备插件 在 Obsidian 插件市场安装以下三个插件: * Kanban:提供直观的看板视图。 * Tasks:自动为完成的任务打上时间戳。 * Copilot:调用

copilot学生认证2026-github copilot学生认证(手把手教会)

copilot学生认证2026-github copilot学生认证(手把手教会)

1.前言 博主在24年的时候发过一篇copilot认证成功的帖子,当时也是领到了一年的pro 文章链接:github copilot学生认证(手把手一小时成功)-ZEEKLOG博客 如今26年了,copilot的申请增加了一年的时间,博主也进入了研究生生涯,前段时间也是再次进行了申请,现在已经用上了,Pro 版直接解锁无限制基础功能 + 海量高级模型,我的感受是:真香!:   既然官方的申请有变化,咱们教程也得与时俱进,下面就开始手把手教大家如何进行申请copilot学生会员。 2.完善 GitHub 账号基础配置 在Emails里面加入你对应学校的教育邮箱(以edu.cn结尾),打开教育邮箱点击GitHub发送的验证邮件链接,即可完成邮箱认证 3.Github学生认证 完成上述步骤后,打开学生认证申请链接,依旧还是在设置里面,这里也可以用手机操作,因为上传证明材料用手机拍照更方便: 选择身份为学生,下滑填写学校信息,输入学校的英文,最后选择自己的学校教育邮箱,点击continue(还得分享位置) 接下来就是上传证明材料: * 可以使用手机摄像头拍摄,证件