node_exporter添加访问验证

假设你想要求所有访问Prometheus实例的用户提供用户名和密码。为了这个例子,使用admin作为用户名,并选择任何你喜欢的密码。

步骤1:密码哈希

首先,生成密码的bcrypt哈希值。为了生成哈希密码,我们将使用python3-bcrypt。让我们通过运行apt install python3-bcrypt来安装它,假设你正在运行类似debian的发行版。其他替代方案也存在来生成哈希密码;为了测试,你也可以使用网上的bcrypt生成器。

这里是一个使用python3-bcryptpython脚本,它会提示你输入密码并对其进行哈希处理:

1
2
3
4
5
6
7
import getpass
import bcrypt
# 提示输入密码
password = getpass.getpass("password: ")
hashed_password = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt())
# 获取密码的哈希值
print(hashed_password.decode())

查看更多

Debian脚本中使用了&>/dev/null,$?总是返回0

一、问题现象

CentOS中编写了一段Shell脚本,作用很简单,就是监控nginx的配置文件是否发生了变化,如果发生了变化就自动reload一次,脚本如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash
while true
do
md5=`md5sum /etc/nginx/conf.d/port-to-domain.conf | awk '{print $1}'`
grep ${md5} /tmp/md5result &>/dev/null
if [ $? -ne 0 ];then
echo `date` 'Config File Change'
echo `date` 'Command nginx -t exec'
nginx -t
if [ $? -eq 0 ];then
echo `date` 'Command nginx -t exec success'
nginx -s reload
echo `date` 'Command nginx -s reload exec'
else
echo `date` 'Command nginx -t exec failed'
fi

echo ${md5} > /tmp/md5result
echo `date` 'Change md5result'
else
echo `date` 'Config File NoChange'
fi
sleep 5
done

CentOS中运行一切正常,但是在Debian中运行异常,具体是grep ${md5} /tmp/md5result &>/dev/null的返回值总是0

查看更多

openEuler开启kdump失败

一、现象

openEuler启动kdump失败,显示No memory reserved for crash kernel

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@kvm-hkcloud01 ~]# systemctl status kdump
kdump.service - Crash recovery kernel arming
Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Mon 2024-06-24 14:50:48 CST; 26min ago
Process: 1004 ExecStart=/usr/bin/kdumpctl start (code=exited, status=1/FAILURE)
Main PID: 1004 (code=exited, status=1/FAILURE)

Jun 24 14:50:47 kvm-hkcloud01 systemd[1]: Starting Crash recovery kernel arming...
Jun 24 14:50:48 kvm-hkcloud01 kdumpctl[1015]: No memory reserved for crash kernel
Jun 24 14:50:48 kvm-hkcloud01 kdumpctl[1015]: Starting kdump: [FAILED]
Jun 24 14:50:48 kvm-hkcloud01 systemd[1]: kdump.service: Main process exited, code=exited, status=1/FAILURE
Jun 24 14:50:48 kvm-hkcloud01 systemd[1]: kdump.service: Failed with result 'exit-code'.
Jun 24 14:50:48 kvm-hkcloud01 systemd[1]: Failed to start Crash recovery kernel arming.

二、问题分析

根据提示来看,应该是申请不到内存导致的,但从free的结果来看,是可以满足kdump的要求的

查看更多

Linux中sysrq-trigger的妙用

sysrq被称为魔术组合键,只要内核没有完全锁住,不管内核在做什么事情,使用这些组合键都可以搜集包括系统内存使用、CPU任务处理、进程运行状态等系统运行信息。 注意:信息的输出都在/var/log/message下

Linux如何模拟崩溃?如何强制关机?这时候就可以使用到本文提到的/proc/sysrq-trigger文件了。

查看更多

Jquery禁用按钮,防止重复提交

使用对象.prop("disabled",true)可以进行禁用,对象.prop("disabled",false)取消禁用。

  • html代码如下
1
2
3
4
5
6
7
<form id="editEventForm" novalidate="novalidate">
.....
<div class="card-footer">
<a href="javascript:history.go(-1);" class="btn btn-success float-right"></i> 返回</a>
<button type="submit" class="btn btn-primary float-right" style="margin-right:5px;">提交</button>
</div>
</form>

查看更多