文章目录[隐藏]
最近在面试相关运维相关的岗位,就发现了许多的工具,其中就包括NETDATA监测面板!加上自己写的Bot预警太简单了,就尝试了一下。其中alarm和可视化的详细程度等等而言感觉还不错!
安装
我这里用的docker配置的
安装docker
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
我用的是CENTOS,其它请参考下面链接
安装NETDATA
这里的1999可以自己配置,换其它端口也行,后续去防火墙开放即可!
docker run -d --name=netdata \
-p 19999:19999 \
-v netdataconfig:/etc/netdata \
-v netdatalib:/var/lib/netdata \
-v netdatacache:/var/cache/netdata \
-v /etc/passwd:/host/etc/passwd:ro \
-v /etc/group:/host/etc/group:ro \
-v /proc:/host/proc:ro \
-v /sys:/host/sys:ro \
-v /etc/os-release:/host/etc/os-release:ro \
--restart unless-stopped \
--cap-add SYS_PTRACE \
--security-opt apparmor=unconfined \
netdata/netdata
网站
我这里配置了一个反向代理到域名!具体看你服务器是啥环境了,我这就不瞎BB了!
AlARM配置
我这里给自己配置的是TELEGRAM和网站(通过浏览器来给通知发送信息)
- 如需配置邮件,请转向NETDATA 监控面板邮件配置
获取Telegram的信息
我之前配置过BOT,但要进官网去配置API,这次配置只是让去BOT那里配置就行了,具体情况不了解,如果BOT无法获取API,请参考https://www.emperinter.info/2020/04/18/telegram-bot/里面的BOT申请教程配置API!
- 创建BOT
- 获取自己的USER ID
配置
- 进入该docker环境(注意替换为你自己服务器分配的CONTAINER ID)
docker ps
docker exec -it bab6e102f429 /bin/bash
- 生成配置文件并配置你的BOT信息
/etc/netdata/edit-config health_alarm_notify.conf
vi /etc/netdata/health_alarm_notify.conf
格式如下(注意替换你自己的TOKEN和USERID),如需其它配置请参考https://learn.netdata.cloud/docs/agent/health/notifications/telegram
SEND_TELEGRAM="YES"
TELEGRAM_BOT_TOKEN="111122223:7OpFlFFRzRBbrUUmIjj5HF9Ox2pYJZy5"
DEFAULT_RECIPIENT_TELEGRAM="-100233335555"
测试
配置测试
# become user netdata
su -s /bin/bash netdata
# enable debugging info on the console
export NETDATA_ALARM_NOTIFY_DEBUG=1
# send test alarms to sysadmin
/usr/libexec/netdata/plugins.d/alarm-notify.sh test
# send test alarms to any role
/usr/libexec/netdata/plugins.d/alarm-notify.sh test "ROLE"
- 测试及一次预警触发情况如下图