海运的博客

smokeping master不检测使用slave网页排序图表问题

发布时间:October 11, 2026 // 分类: // No Comments

smokeping master所有节点都开启nomasterpoll = yes时访问web查看排序图表时不正常,nginx显示错误日志:
fastcgi://unix:/run/fcgiwrap.socket, host: "192.168.1.1", referrer: https://www.haiyun.me/?target=_charts
smokeping.cgi [client 192.168.1.2]: Warning: Dropping median/Ping/ALIDNS-V4~pve from sortercache

把下面补丁应用到smokeping/lib/Smokeping.pm

--- Smokeping.pm.20261011       2021-12-03 15:38:25.000000000 +0800
+++ Smokeping.pm        2026-10-11 10:51:19.103637469 +0800
@@ -1119,7 +1119,9 @@
     $tree = $phys_tree;
 
     my @slaves;
-    if (not $tree->{nomasterpoll} or $tree->{nomasterpoll} eq 'no' or $mode eq 'a' or $mode eq 'n'){
+    # <-- 在末尾加上 or $mode eq 'c',防止 nomasterpoll=yes 时直接返回空
+    if (not $tree->{nomasterpoll} or $tree->{nomasterpoll} eq 'no' or $mode eq 'a' or $mode eq 'n' or $mode eq 'c'){
+    #if (not $tree->{nomasterpoll} or $tree->{nomasterpoll} eq 'no' or $mode eq 'a' or $mode eq 'n'){
         @slaves  = ("");
     };
 
@@ -1129,7 +1131,9 @@
  
     return "" if not defined $tree->{host} or 0 == @slaves;
 
-    my $file = $mode eq 'c' ? (split(/~/, $open->[-1]))[0] : $open->[-1];
+    # <-- 去掉三元运算截断,直接保留 $open->[-1](即保留 ~pve 以读取正确的 RRD 文件)
+    my $file = $open->[-1];
+    #my $file = $mode eq 'c' ? (split(/~/, $open->[-1]))[0] : $open->[-1];
     my @dirs = @{$phys_open};
     pop @dirs;
     my $dir = "";
@@ -1531,14 +1535,16 @@
                 }
                 $page .= "<div class=\"panel-body\">";
                 $page .= ( qq{<a href="}.cgiurl($q,$cfg)."?".hierarchy($q).qq{displaymode=n;start=$startstr;end=now;}."target=".$t.$s.'">'
-                      . qq{<IMG ALT="" SRC="${imghref}${s}_${end}_${start}.png">}."</a>" ); #"
+                      #. qq{<IMG ALT="" SRC="${imghref}${s}_${end}_${start}.png">}."</a>" ); #"
+                      . qq{<IMG ALT="" WIDTH="$xs{$s}" HEIGHT="$ys{$s}" SRC="${imghref}${s}_${end}_${start}.png">}."</a>" ); #" 修复刚打开网页时空白图片挤压在一块
                 $page .= "</div></div>\n";
             }
         } else { # chart mode
             $page .= qq{<div class="panel-body">};
             my $href= (split /~/, (join ".", @$open))[0]; #/ # the link is 'slave free'            
             $page .= (  qq{<a href="}.lnk($q, $href).qq{">}
-                      . qq{<IMG ALT="" SRC="${imghref}_${end}_${start}.png">}."</a>" ); #"
+                      #. qq{<IMG ALT="" SRC="${imghref}_${end}_${start}.png">}."</a>" ); #"
+                      . qq{<IMG ALT="" WIDTH="$xs{''}" HEIGHT="$ys{''}" SRC="${imghref}_${end}_${start}.png">}."</a>" ); #" 同上
             $page .= "</div>";
             
         }
@@ -1628,6 +1634,7 @@
                 warn "Warning: Duplicate entry $chart/$path in sortercache\n" if defined $cache{$chart}{$path};
                 my $root = $cfg->{Targets};
                 for my $element (split /\//, $path){
+                    $element =~ s/~.+//; # <-- 剥离 ~pve 等后缀再去匹配配置树
                     if (ref $root eq 'HASH' and defined $root->{$element}){
                         $root = $root->{$element}
                     }

更新nextcloud及插件

发布时间:June 11, 2026 // 分类: // No Comments

export ALL_PROXY=socks5://127.0.0.1:2013 
export http_proxy=socks5://127.0.0.1:2013    
export https_proxy=socks5://127.0.0.1:2013

更新主程序,由于不能跨越多个版本升级,可能需要执行多次。

chown -R www-data /home/nextcloud/cloud/
sudo -E -u www-data php /home/nextcloud/cloud/updater/updater.phar 
#无需确认自动更新
sudo -E -u www-data php /home/nextcloud/cloud/updater/updater.phar --no-interaction

上面更新时会自动更新插件,如需更新插件,注意配置文件不要禁用app市场。

#如果手动更新最后没有关闭维护模式需先关闭
cd /home/nextcloud/cloud/
sudo -E -u www-data php occ maintenance:mode --off  
sudo -E -u www-data php occ app:update --all
sudo -E -u www-data php occ app:update spreed

修改最小权限:

chown -R root:root /home/nextcloud/cloud/
chown www-data /home/nextcloud/cloud/apps/
chown -R www-data /home/nextcloud/cloud/config/
chown -R www-data /home/nextcloud/cloud/data/

无误后删除备份文件:

/home/nextcloud/cloud/data/updater-*

debian 12开机关机systemd-journald日志不连续解决

发布时间:November 20, 2025 // 分类: // No Comments

timedatectl set-local-rtc 0

debian12下initramfs-tools使用udhcpc配置dhcp ip

发布时间:November 18, 2025 // 分类: // No Comments

initramfs-tools自带的dhcp有时不能获取到ip,修改使用udhcpc配置dhcp,先禁用自带的网络配置:

sed -i -e '/configure_networking\(\)/{n; a\' -e 'return 0' -e '}' /usr/share/initramfs-tools/scripts/functions

初始化时启动udhcpc:

cat << EOF > /usr/share/initramfs-tools/scripts/init-premount/00-network
#!/bin/sh
PREREQ=""

prereqs() {
  echo "$PREREQ"
}

case "$1" in
  prereqs)
    prereqs
    exit 0
    ;;
esac

interface=eth0
ip link set dev $interface up
udhcpc -i $interface -q -n -t 5 -T 5 -A 30 -b -s /scripts/udhcpc.script

exit 0
EOF
chmod +x /usr/share/initramfs-tools/scripts/init-premount/00-network

udhcpc调用的ip配置脚本:

cat << EOF > /etc/initramfs-tools/scripts/udhcpc.script 
#!/bin/sh

case "$1" in
  BOUND|bound|RENEW|renew)
        # 配置网卡
        ip addr flush dev $interface
        ip addr add $ip/$mask dev $interface
        ip link set dev $interface up

        # 配置默认路由
        ip route del default 2>/dev/null
        if [ -n "$router" ]; then
          for gw in $router; do
            ip route add default via $gw dev $interface
          done
        fi

        # 配置 DNS
        if [ -n "$dns" ]; then
          for ns in $dns; do
            echo "nameserver $ns" >> /etc/resolv.conf
          done
        fi

        ;;
esac

exit 0
EOF
chmod +x /etc/initramfs-tools/scripts/udhcpc.script 
update-initramfs -u -k all

dns压力测试工具queryperf使用

发布时间:October 24, 2025 // 分类: // No Comments

bind包含queryperf的最后版本是9.13.2,也可使用后续独立版本dnsperf

wget https://downloads.isc.org/isc/bind9/9.13.2/bind-9.13.2.tar.gz
tar zxf bind-9.13.2.tar.gz
cd bind-9.13.2/contrib/queryperf
./configure && make
cp queryperf /usr/local/bin/

批量生成一些域名:

#!/usr/bin/env python3

def generate_query_file(filename, num_entries, base_domain="qq.com"):
    with open(filename, 'w') as f:
        for i in range(num_entries):
            f.write(f"{base_domain} A\n")

if __name__ == "__main__":
    generate_query_file("qq_com.txt", 1000000)
    print("测试文件生成完成!")

测试:

queryperf -d qq_com.txt -s 192.168.1.1 -p 53 -l 600
分类
最新文章
最近回复
  • 海运: 可能版本问题
  • 海运: 如果运营商限制型号
  • 海运: 没有
  • Mruru: 烽火猫切换rootfs的方法有么大佬?
  • nono: 修改光猫型号是做啥子用的
  • 960: root账号默认密码hg2x0 不对哇
  • rer: 感谢分享!~
  • opnfense: 谢谢博主!!!解决问题了!!!我之前一直以为内置的odhcp6就是唯一管理ipv6的方式
  • liyk: 这个方法获取的IPv6大概20分钟之后就会失效,默认路由先消失,然后Global IPV6再消失
  • 海运: 不好意思,没有。
归档