centos7系統搭建nagios監控

~監控節點安裝

1. 系統準備

1.1 更新系統并安裝依賴

sudo yum install -y httpd php php-cli gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel wget unzip
sudo yum install -y epel-release ?# 安裝 EPEL 倉庫
sudo yum install -y automake autoconf libtool #安裝 Autotools 和依賴

2. 創建 Nagios 用戶和組

sudo useradd nagios
sudo groupadd nagcmd
sudo usermod -a -G nagcmd nagios
sudo usermod -a -G nagcmd apache ?# 允許 Apache 訪問 Nagios

3. 安裝 Nagios Core

3.1 下載并編譯源碼

cd /tmp
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.6.tar.gz
tar xzf nagios-4.4.6.tar.gz
cd nagios-4.4.6
?
# 配置、編譯、安裝
./configure --with-command-group=nagcmd
make all
sudo make install
sudo make install-config ? ?# 安裝默認配置文件
sudo make install-commandmode

4. 安裝 Nagios 插件

4.1 下載并編譯插件

cd /tmp
wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
tar xzf nagios-plugins-2.3.3.tar.gz
cd nagios-plugins-2.3.3
?
# 配置、編譯、安裝
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
sudo make install

5. 配置 Apache 和 Web 界面

5.1 生成 Apache 配置文件

sudo cp /tmp/nagios-4.4.6/sample-config/httpd.conf /etc/httpd/conf.d/nagios.conf

5.2 配置身份驗證

# 創建 Web 登錄用戶(例如 `nagiosadmin`)
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
# 輸入兩次密碼

5.3 重啟 Apache

sudo systemctl start httpd
sudo systemctl enable httpd

6. 配置 Systemd 服務

6.1 創建服務文件

sudo vi /etc/systemd/system/nagios.service

添加以下內容:

[Unit]
Description=Nagios
Wants=network-online.target
After=network-online.target
?
[Service]
Type=forking
ExecStart=/usr/local/nagios/bin/nagios /usr/local/nagios/etc/nagios.cfg
ExecReload=/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg && /usr/local/nagios/bin/nagios -s reload
?
[Install]
WantedBy=multi-user.target

6.2 啟動 Nagios 服務

sudo systemctl daemon-reload
sudo systemctl start nagios
sudo systemctl enable nagios
sudo systemctl status nagios ?# 檢查狀態應為 active (running)

7. 配置防火墻

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

8. 調整 SELinux 策略(可選)

sudo setenforce 0 ?# 臨時禁用 SELinux(測試用)
# 或永久調整策略
sudo ausearch -c 'nagios' --raw | audit2allow -M my-nagios
sudo semodule -i my-nagios.pp

9. 訪問 Nagios Web 界面

通過瀏覽器訪問:

http://<服務器IP>/nagios?
sudo chown -R nagios:nagios /usr/local/nagios
sudo chmod -R 755 /usr/local/nagios
?
1. 檢查 Nagios 配置文件
運行配置驗證命令,確保無語法錯誤:
sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
?關鍵點:
如果輸出顯示錯誤(如 Error processing object config files),需按提示修復配置文件。
常見錯誤:未閉合的引號、錯誤的主機/服務定義、插件路徑錯誤。
?2. 調整 Systemd 服務超時時間
編輯服務文件,增加啟動超時時間(默認 90 秒):
sudo vi /etc/systemd/system/nagios.service
修改以下參數:
[Service]
TimeoutStartSec=300 ?# 增加至 300 秒(5 分鐘)
TimeoutStopSec=30 ? ?# 停止超時 30 秒
重新加載并重啟服務:
sudo systemctl daemon-reload
sudo systemctl restart nagios
  • 用戶名nagiosadmin

  • 密碼:之前設置的密碼


10. 添加被監控節點

10.1 創建主機配置文件

sudo vi /usr/local/nagios/etc/objects/hosts.cfg

添加主機定義(示例):

define host {host_name ? ? ? node1alias ? ? ? ? ? Node1 Server
# 被監控節點 IPaddress ? ? ? ? 192.168.1.100check_command ? check-host-alivemax_check_attempts  5check_interval ? 5check_period ? ? 24x7contacts ? ? ?  nagiosadmin
}

10.2 創建服務配置文件

sudo vi /usr/local/nagios/etc/objects/services.cfg

添加服務定義(示例):

sudo cat /usr/local/nagios/etc/objects/templates.cfg
?
sudo nano /usr/local/nagios/etc/objects/services1.cfg
define service {use ? ? ? ? ? ? ? ? local-service #cat /usr/local/nagios/etc/objects/templates.cfg的service的namehost_name ? ? ? ? ? node1service_description Disk Usagecheck_command ? ? ? check_nrpe!check_diskcontacts ? ? ? ? ?  nagiosadmin
}
?
sudo nano /usr/local/nagios/etc/objects/services.cfg
define service {use ? ? ? ? ? ? ? ? local-service #cat /usr/local/nagios/etc/objects/templates.cfg的service的namehost_name ? ? ? ? ? ? ? node1service_description ? ? CPU Loadcheck_command ? ? ? ? ? check_nrpe!check_loadcontacts ? ? ? ? ? ? ?  nagiosadmin
}

10.3 配置 check_nrpe 命令

編輯 /usr/local/nagios/etc/objects/commands.cfg,添加:

define command {command_name ?  check_nrpecommand_line ?  $USER1$/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$
}

10.4 驗證并重啟 Nagios

sudo vi /usr/local/nagios/etc/nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/services1.cfg
cfg_file=/usr/local/nagios/etc/objects/services2.cfg
?
sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg ?# 驗證配置
sudo systemctl restart nagios
?

11. 驗證監控狀態

  1. Web 界面:登錄后查看 HostsServices 狀態是否為綠色(OK)。

  2. 命令行驗證:/usr/local/nagios/libexec/check_nrpe -H <被監控節點IP> -c check_load

在 CentOS 7 主監控節點上安裝 check_nrpe 插件的詳細步驟

check_nrpe 是 Nagios 主監控節點用來通過 NRPE 協議與被監控節點通信的核心插件。以下是安裝和配置的完整流程:


1. 安裝依賴

sudo yum update -y
sudo yum install -y gcc make openssl-devel automake autoconf wget

2. 下載并編譯 NRPE 源碼

2.1 下載源碼包

cd /tmp
wget https://githubfast.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.1.0/nrpe-4.1.0.tar.gz
tar xzf nrpe-4.1.0.tar.gz
cd nrpe-4.1.0

2.2 配置并編譯插件

僅編譯 check_nrpe 插件(無需安裝完整的 NRPE 服務):

./configure --with-ssl=/usr/bin/openssl
make check_nrpe ?# 僅編譯插件

3. 安裝 check_nrpe 插件

3.1 手動復制插件到 Nagins 插件目錄

sudo cp src/check_nrpe /usr/local/nagios/libexec/

3.2 設置權限

sudo chown nagios:nagios /usr/local/nagios/libexec/check_nrpe
sudo chmod 755 /usr/local/nagios/libexec/check_nrpe

4. 驗證插件功能

測試插件是否能連接被監控節點:

/usr/local/nagios/libexec/check_nrpe -H <被監控節點IP> -c check_load

5. 配置 Nagios 使用 check_nrpe

5.1 定義命令

編輯 Nagios 命令配置文件:

sudo vi /usr/local/nagios/etc/objects/commands.cfg

添加以下內容:

define command {command_name ?  check_nrpecommand_line ?  $USER1$/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$
}

5.2 添加主機和服務定義

示例主機配置文件(如 hosts.cfg):

define host {host_name ? ? ? node1alias ? ? ? ? ? Node1 Serveraddress ? ? ? ? 192.168.1.100check_command ? check-host-alivemax_check_attempts  5check_interval  5check_period ?  24x7contacts ? ? ?  nagiosadmin
}
?
define service {host_name ? ? ? ? ? ? ? node1service_description ? ? CPU Loadcheck_command ? ? ? ? ? check_nrpe!check_loadcheck_interval ? ? ? ?  5check_period ? ? ? ? ?  24x7notification_interval ? 30contacts ? ? ? ? ? ? ?  nagiosadmin
}

5.3 驗證并重啟 Nagios

sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
sudo systemctl restart nagios
?
?
后臺運行
sudo nohup /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg >/dev/null 2>&1 &
?
殺死進行
kill -9 $(ps -aux | grep nagios | grep -v "grep" | awk -F " " '{print $2}')
?
?

~被監控節點

1. 系統準備

1.1 更新系統并安裝依賴

sudo yum install -y epel-release
sudo yum install -y gcc make openssl-devel automake autoconf wget

2. 創建 Nagios 用戶和組

# 創建 Nagios 用戶和組(如果不存在)
sudo useradd -r -s /sbin/nologin nagios
sudo groupadd nagcmd
sudo usermod -a -G nagcmd nagios

3. 安裝 Nagios 插件

3.1 下載并編譯插件

cd /tmp
wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
tar xzf nagios-plugins-2.3.3.tar.gz
cd nagios-plugins-2.3.3
?
# 配置、編譯、安裝
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
sudo make install
?
# 驗證插件安裝
ls /usr/local/nagios/libexec/check_* ?# 應顯示插件列表

4. 安裝和配置 NRPE

4.1 下載并編譯 NRPE

cd /tmp
wget https://githubfast.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.1.0/nrpe-4.1.0.tar.gz
tar xzf nrpe-4.1.0.tar.gz
cd nrpe-4.1.0
?
# 配置并編譯
./configure \--with-nagios-user=nagios \--with-nagios-group=nagios \--with-ssl=/usr/bin/openssl
?
make all
sudo make install

4.2 配置 NRPE 服務

編輯配置文件 /usr/local/nagios/etc/nrpe.cfg

sudo vi /usr/local/nagios/etc/nrpe.cfg

修改以下參數:

# 替換為實際IP
allowed_hosts=127.0.0.1,192.168.198.206
# 監聽所有接口或者指定接口的IP地址
server_address=0.0.0.0
server_port=5666
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10%
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_mem]=/usr/local/nagios/libexec/check_mem -w 20% -c 10%

4.3 創建 Systemd 服務文件

sudo vi /etc/systemd/system/nrpe.service

添加以下內容:

[Unit]
Description=NRPE (Nagios Remote Plugin Executor)
After=network.target
?
[Service]
Type=simple
User=nagios
Group=nagios
ExecStart=/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
Restart=on-failure
?
[Install]
WantedBy=multi-user.target

4.4 啟動 NRPE 服務

sudo systemctl daemon-reload
sudo systemctl start nrpe
sudo systemctl enable nrpe
sudo systemctl status nrpe ?# 檢查狀態應為 active (running)

5. 配置防火墻

開放 NRPE 默認端口(5666):

sudo firewall-cmd --permanent --add-port=5666/tcp
sudo firewall-cmd --reload

6. 調整 SELinux 策略(可選)

6.1 臨時禁用 SELinux 測試

sudo setenforce 0

6.2 永久調整策略(推薦)

sudo yum install -y policycoreutils-python
?
sudo ausearch -c 'nrpe' --raw | audit2allow -M my-nrpe
sudo semodule -i my-nrpe.pp

7. 驗證 NRPE 功能

7.1 在 Nagios 主服務器上測試

# 測試 NRPE 連通性
/usr/local/nagios/libexec/check_nrpe -H <被監控節點IP>
?
# 測試具體命令(如檢查磁盤)
/usr/local/nagios/libexec/check_nrpe -H <被監控節點IP> -c check_disk

~在 CentOS 7 上使用 Grafana + InfluxDB 展示 Nagios 監控數據的詳細步驟

以下是將 Nagios 監控數據存儲到 InfluxDB,并通過 Grafana 可視化的完整流程:


1. 安裝并配置 InfluxDB

1.1 安裝 InfluxDB

# 添加 InfluxDB 倉庫
cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF
?
# 安裝并啟動服務
sudo yum install influxdb
sudo systemctl start influxdb
sudo systemctl enable influxdb

1.2 創建數據庫和用戶

# 進入 InfluxDB CLI
influx
?
# 創建數據庫和用戶
CREATE DATABASE nagios;
CREATE USER nagios_user WITH PASSWORD 'your_password' WITH ALL PRIVILEGES;
GRANT ALL ON nagios TO nagios_user;
exit

2. 安裝并配置 Grafana

2.1 安裝 Grafana

# 添加 Grafana 倉庫
sudo tee /etc/yum.repos.d/grafana.repo <<EOF
[grafana]
name=grafana
baseurl=https://rpm.grafana.com
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://rpm.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
EOF
?
# 安裝并啟動服務
sudo yum install grafana
sudo systemctl start grafana-server
sudo systemctl enable grafana-server

2.2 訪問 Grafana

  • 打開瀏覽器訪問:http://<服務器IP>:3000,默認賬號:admin/admin


3. 配置 Nagios 將數據寫入 InfluxDB

3.1 安裝 NCPA(Nagios Cross-Platform Agent)

# 下載并安裝 NCPA
wget https://assets.nagios.com/downloads/ncpa/ncpa-2.4.0-1.el7.x86_64.rpm
sudo rpm -i ncpa-*.rpm
?
# 配置 NCPA(允許主節點訪問)
sudo nano /usr/local/ncpa/etc/ncpa.cfg
# 修改以下參數:
allowed_hosts = 127.0.0.1,<Nagios主節點IP>
community_string = your_community_string
?
# 重啟服務
sudo systemctl restart ncpa_listener

3.2 配置 Nagios 輸出到 InfluxDB

# 安裝依賴工具(用于發送數據到 InfluxDB)
sudo yum install python3-pip
# 指定安裝到系統目錄
sudo pip3 install --target=/usr/lib64/python3.6/site-packages influxdb

~被監控節點

腳本內容**:

# 創建數據發送腳本
vi /usr/local/nagios/libexec/check_cpu_custom.sh
# cat  /usr/local/nagios/libexec/check_cpu_custom.sh
#!/bin/bash
?
# 設置區域為使用小數點格式
export LC_ALL=C
?
# 定義 InfluxDB 連接參數
INFLUXDB_HOST="192.168.198.206" ? ? ? ? ?# InfluxDB 服務器地址
INFLUXDB_PORT="8086" ? ? ? ? ? ? ? # 端口
INFLUXDB_DB="nagios" ? ? ? # 數據庫名
INFLUXDB_USER="nagios_user" ? ? ? ? ? ? # 用戶名
INFLUXDB_PASS="admin@123" ? ? ?# 密碼
HOST_NAME=$(hostname -s) ? ? ? ? ? # 獲取主機名
?
# 獲取CPU使用率(基于/proc/stat的可靠方法)
# 第一次采樣
read -r cpu user nice system idle iowait irq softirq steal guest guest_nice < /proc/stat
total1=$((user + nice + system + idle + iowait + irq + softirq + steal))
idle1=$((idle + iowait))
?
sleep 1
?
# 第二次采樣
read -r cpu user nice system idle iowait irq softirq steal guest guest_nice < /proc/stat
total2=$((user + nice + system + idle + iowait + irq + softirq + steal))
idle2=$((idle + iowait))
?
# 計算差值
total_diff=$((total2 - total1))
idle_diff=$((idle2 - idle1))
?
# 計算使用率(保留兩位小數)
if [ $total_diff -eq 0 ]; thenusage=0.00
elseusage=$(echo "scale=2; 100 * ($total_diff - $idle_diff) / $total_diff" | bc)usage=$(printf "%.2f" $usage) ?# 確保格式為 0.00
fi
?
# 判斷狀態碼
if [ $(echo "$usage >= 90" | bc -l) -eq 1 ]; thenstatus_code=2status_text="CRITICAL"
elif [ $(echo "$usage >= 80" | bc -l) -eq 1 ]; thenstatus_code=1status_text="WARNING"
elsestatus_code=0status_text="OK"
fi
?
# 生成納秒級時間戳
#timestamp=$(date +%s%N)
timestamp=$(date +%s%N) ?
?
# 發送數據到 InfluxDB(包含狀態碼)
curl -i -XPOST "http://${INFLUXDB_HOST}:${INFLUXDB_PORT}/write?db=${INFLUXDB_DB}&u=${INFLUXDB_USER}&p=${INFLUXDB_PASS}" \--data-binary "cpu_usage,host=${HOST_NAME} value=${usage},status=${status_code} ${timestamp}"
?
# 輸出Nagios狀態
echo "${status_text} - CPU使用率: ${usage}% | usage=${usage}%;80;90"
exit $status_code
?
驗證腳本
chown nagios:nagios /usr/local/nagios/libexec/check_cpu_custom.sh
chmod 755 /usr/local/nagios/libexec/check_cpu_custom.sh
./usr/local/nagios/libexec/check_cpu_custom.sh

編輯nrpe.cfg文件,進行追加內容

vi /usr/local/nagios/etc/nrpe.cfg
?
command[check_cpu_custom]=/usr/local/nagios/libexec/check_cpu_custom.sh

~ 監控節點

設置權限**:

3.3 配置 Nagios 命令**

# 編輯 commands.cfg
sudo vi /usr/local/nagios/etc/objects/commands.cfg
?
# 添加以下命令定義
define command {command_name ?  check_cpu_customcommand_line ? ?$USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
?
試驗
/usr/local/nagios/libexec/check_nrpe -H 被監控節點IP地址 -c check_cpu_custom

3.4 修改服務模板

在服務定義中添加 submit_to_influxdb 命令:

define service {use ? ? ? ? ? ? ? ? ? ? local-servicehost_name ? ? ? ? ? ? ? node1service_description ? ? CPU Usage#check_command參數對應commands.cfg文件中參數,前面固定填寫check_nrpe,后面的$HOSTADDRESS$參數command_line的參數用!隔開,默認被監控IP地址為host_name的node1  不進行填寫  ,而node1在/usr/local/nagios/etc/objects/hosts.cfg文件有定義(PS:同時/etc/hosts文件也要對應IP地址和域名,注意統一性),$ARG1$填寫command_name的參數check_command ? ? ? ? ? check_nrpe[!被監控IP地址]!check_cpu_customcontacts ? ? ? ? ? ? ?  nagiosadmin#event_handler參數填寫commands.cfg文件中的command_nameevent_handler ? ? ? ? ? check_cpu_custom #event_handler_enabled為開啟event_handlerevent_handler_enabled  1
}

4. 配置 Grafana 數據源和儀表盤

4.1 添加 InfluxDB 數據源

  1. 登錄 Grafana,點擊 Configuration > Data Sources > Add data source

  2. 選擇

    InfluxDB

    ,填寫以下信息:

    • URL: http://localhost:8086

    • Database: nagios

    • User: nagios_user

    • Password: your_password

4.2 導入 Nagios 儀表盤模板

  1. 訪問 Grafana 儀表盤市場,搜索 "Nagios"。

  2. 選擇模板(例如 ID: 14541),下載 JSON 文件。

  3. 在 Grafana 中點擊 Create > Import,上傳 JSON 文件。


5. 驗證數據流

5.1 檢查 InfluxDB 數據

influx -database nagios -execute "SHOW MEASUREMENTS"

5.2 手動觸發 Nagios 檢查

/usr/local/nagios/libexec/check_nrpe -H node1 -c check_cpu_custom

6. 防火墻配置

# 開放 InfluxDB 和 Grafana 端口
sudo firewall-cmd --permanent --add-port=8086/tcp ? # InfluxDB
sudo firewall-cmd --permanent --add-port=3000/tcp ? # Grafana
sudo firewall-cmd --reload

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/76116.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/76116.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/76116.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

3. git config

文章目錄 基本概述配置級別基本用法設置配置項查看配置項刪除配置項 常用配置項 基本概述 git config 的作用是&#xff1a;設置用戶信息、編輯器、別名、倉庫行為等。 配置級別 級別作用范圍配置文件路徑命令選項倉庫級別&#xff08;Local&#xff09;當前倉庫.git/config…

WHAT - React 組件的 props.children 屬性

目錄 一、什么是 children二、基本用法三、類型定義&#xff08;TypeScript&#xff09;四、一些高級用法1. 條件渲染 children2. 多個 children 插槽&#xff08;命名插槽&#xff09; 五、children 的優勢總結 在 React 中&#xff0c;children 是一個非常重要且特殊的 內置屬…

Spring Boot開發三板斧:高效構建企業級應用的核心技法

&#x1f9d1; 博主簡介&#xff1a;CSDN博客專家、CSDN平臺優質創作者&#xff0c;獲得2024年博客之星榮譽證書&#xff0c;高級開發工程師&#xff0c;數學專業&#xff0c;擁有高級工程師證書&#xff1b;擅長C/C、C#等開發語言&#xff0c;熟悉Java常用開發技術&#xff0c…

實戰篇-梳理時鐘樹

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言一、pandas是什么&#xff1f;二、使用步驟 1.引入庫2.讀入數據 總結 前言 這是B站傅里葉的貓視頻的筆記 一、建立工程 以Vivado的wave_gen為例子。為了引入異…

圖靈逆向——題六-倚天劍

從第六題開始就要有個先看看請求頭的習慣了[doge]。 別問博主為什么要你養成這個習慣&#xff0c;問就是博主被坑過。。。 headers里面有一個加密參數S&#xff0c;然后你就去逆向這個S對吧。 然后一看響應&#xff1a; 好家伙返回的還是個密文&#xff0c;所以要兩次逆向咯。…

ubuntu自動更新--unattended-upgrades

ubuntu自動更新--unattended-upgrades 1 介紹2 發展歷程3 配置與使用4 disable Auto update服務命令 參考 1 介紹 Unattended-Upgrades 是一個用于自動更新 Debian 及其衍生系統&#xff08;如 Ubuntu&#xff09;的工具。它的主要功能是自動檢查、下載并安裝系統更新&#xf…

從 Excel 到你的表格應用:條件格式功能的嵌入實踐指南

一、引言 在日常工作中&#xff0c;面對海量數據時&#xff0c;如何快速識別關鍵信息、發現數據趨勢或異常值&#xff0c;是每個數據分析師面臨的挑戰。Excel的條件格式功能通過自動化的視覺標記&#xff0c;幫助用戶輕松應對這一難題。 本文將詳細介紹條件格式的應用場景&am…

【HarmonyOS Next之旅】DevEco Studio使用指南(十一)

目錄 1 -> 代碼實時檢查 2 -> 代碼快速修復 3 -> C快速修復使用演示 3.1 -> 填充switch語句 3.2 -> 使用auto替換類型 3.3 -> 用&#xff1f;&#xff1a;三元操作符替換if-else 3.4 -> 從使用處生成構造函數 3.5 -> 將變量拆分為聲明和賦值 1…

win10離線環境下配置wsl2和vscode遠程開發環境

win10離線環境下配置wsl2和vscode遠程開發環境 環境文件準備wsl文件準備vscode文件準備 內網環境部署wsl環境部署vscode環境部署 遷移后Ubuntu中的程序無法啟動 環境 內網機&#xff1a;win10、wsl1 文件準備 wsl文件準備 在外網機上的wsl安裝Ubuntu24.04&#xff0c;直接在…

Elasticsearch | ES索引模板、索引和索引別名的創建與管理

關注&#xff1a;CodingTechWork 引言 在使用 Elasticsearch (ES) 和 Kibana 構建數據存儲和分析系統時&#xff0c;索引模板、索引和索引別名的管理是關鍵步驟。本文將詳細介紹如何通過 RESTful API 和 Kibana Dev Tools 創建索引模板、索引以及索引別名&#xff0c;并提供具…

提高MCU的效率方法

要提高MCU(微控制器單元)的編程效率,需要從硬件特性、代碼優化、算法選擇、資源管理等多方面入手。以下是一些關鍵策略: 1. 硬件相關優化 時鐘與頻率: 根據需求選擇合適的時鐘源(內部/外部振蕩器),避免過高的時鐘頻率導致功耗浪費。關閉未使用的外設時鐘(如定時器、UA…

Visual Studio未能加載相應的Package包彈窗報錯

環境介紹&#xff1a; visulal studio 2019 問題描述&#xff1a; 起因&#xff1a;安裝vs擴展插件后&#xff0c;重新打開Visual Studio&#xff0c;報了一些列如下的彈窗錯誤&#xff0c;即使選擇不繼續顯示該錯誤&#xff0c;再次打開后任然報錯&#xff1b; 解決思路&am…

Android中Jetpack設計理念、核心組件 和 實際價值

一、Jetpack 的定義與定位&#xff08;基礎必答&#xff09; Jetpack 是 Google 推出的 Android 開發組件集合&#xff0c;旨在&#xff1a; 加速開發&#xff1a;提供標準化、開箱即用的組件 消除樣板代碼&#xff1a;解決傳統開發中的重復勞動問題 兼容性保障&#xff1a;…

計算機網絡 實驗二 VLAN 的配置與應用

一、實驗目的 1. 熟悉 VLAN 和 PORT VLAN 的原理&#xff1b; 2. 熟悉華為網絡模擬器的使用&#xff1b; 3. 掌握網絡拓撲圖的繪制&#xff1b; 4. 掌握單交換機內 VLAN 的配置。 二、實驗設備 PC、華為模擬器 ENSP。 三、實驗步驟 知識準備&#xff1a;VLAN 和 PORT V…

聊透多線程編程-線程基礎-3.C# Thread 如何從非UI線程直接更新UI元素

目錄 1. 使用 Control.Invoke 或 Control.BeginInvoke&#xff08;Windows Forms&#xff09; 2. 使用 Dispatcher.Invoke 或 Dispatcher.BeginInvoke&#xff08;WPF&#xff09; 3. 使用 SynchronizationContext 桌面應用程序&#xff08;如 Windows Forms 或 WPF&#xf…

TCP 和 UDP 可以使用同一個端口嗎?

TCP 和 UDP 可以使用同一個端口嗎&#xff1f; 前言 在深入探討 TCP 和 UDP 是否可以使用同一個端口之前&#xff0c;我們首先需要理解網絡通信的基本原理。網絡通信是一個復雜的過程&#xff0c;涉及到多個層次的協議和機制。在 OSI 模型中&#xff0c;傳輸層是負責端到端數…

RVOS-2.基于NS16550a ,為os添加終端交互功能。

2.1 實驗目的 為os添加uart功能&#xff0c;通過串口實現開發板與PC交互。 2.1 硬件信息 QEMU虛擬SoC含有 虛擬NS16550A設備 。 不同的地址線組合&#xff08;A2、A1、A0&#xff09;對應的讀寫模式和寄存器如下所示&#xff1a; 2.2 NS16550a 的初始化 線路控制寄存器&#…

java導入excel更新設備經緯度度數或者度分秒

文章目錄 一、背景介紹二、頁面效果三、代碼0.pom.xml1.ImportDevice.vue2.ImportDeviceError.vue3.system.js4.DeviceManageControl5.DeviceManageUserControl6.Repeater7.FileUtils8.ResponseModel9.EnumLongitudeLatitude10.詞條 四、注意點本人其他相關文章鏈接 一、背景介…

【力扣hot100題】(080)爬樓梯

讓我們掌聲恭迎動態規劃的始祖—— 最基礎的動態規劃&#xff0c;原始方法是維護一個數組&#xff0c;每次記錄到該階梯的方案數量&#xff0c;每次的數量是到上一個階梯的方案數量加上到上上一階梯的方案數量&#xff0c;因為只有兩種走法。 進階可以優化空間復雜度&#xf…

CVE-2025-24813 漏洞全解析|Apache Tomcat 關鍵路徑繞過與RCE

CVE-2025-24813 漏洞全解析&#xff5c;Apache Tomcat 關鍵路徑繞過與RCE 作者:Factor .Poc作者:iSee857 CVE-2025-24813 漏洞全解析&#xff5c;Apache Tomcat 關鍵路徑繞過與RCE一、漏洞概述二、影響版本三、漏洞原理&#x1f3af; 利用流程&#xff08;兩步&#xff09;&am…