1.搭建夜莺监控
使用夜莺v8最新版本,因为可以不强制链接mysql数据库和redius。
选择二进制版本下载,并解压缩到/opt/n9e 下,将文件权限配置一下,全都切换到root用户
使用systemctl启动夜鹰监控
[Unit]
Description=Nightingale Monitoring Server
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/n9e
ExecStart=/opt/n9e/n9e
Restart=always
RestartSec=30
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# 可选:如果夜莺需要特定环境变量
# Environment="KEY=value"
# 安全加固(可选)
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=full
[Install]
WantedBy=multi-user.target
- ExecStart:指定二进制文件的绝对路径(如
/opt/n9e/n9e
) - WorkingDirectory:设置工作目录,我配置完后才能正常启动。
然后重载
systemctl daemon-reload
开启即可。
2.配置https
我企图用nginx反向代理,但是失败了,想把默认的17000的http代理到https://xxx.com/n9e 结果失败了。
转而在夜鹰自己的配置文件中,添加证书。
在/opt/n9e/etc/config.toml 中找到
# https cert file path
CertFile = "/root/.acme.sh/xxx.com_ecc/xxx.com.cer"
# https key file path
KeyFile = "/root/.acme.sh/xxx.com_ecc/xxx.com.key"
但这样的缺点就是还需要输入端口号17000才能正常访问。
3.配置Telegram告警
这个比较坑,官方的配置中少了请求头,导致一直失败。
打开告警通知-通知媒介中,找到Telegram
其中看到参数标识,里面的botname是无用的可以删掉。然后在下面的http配置中找到请求头
在里面添加:
参数名:Content-Type
参数值:application/json
这样就没问题了。
然后再通知规则中添加电报的配置
在里面的通知媒介选择Telegram,Token是在电报中跟botfather申请机器人时对方告知的机器人token,chatid填写与机器人对话的id。