如何安装配置Collectd和Collectd-Web监控服务器资源

如何安装配置Collectd和Collectd-Web监控服务器资源,第1张

想更轻松地管理独立式PyhtonCGIServer脚本(启动、停止和查看状态),不妨在系统可执行路径下构建下列collectd-server Bash脚本,并使用下列配置:
# nano /usr/local/bin/collectd-server
将下列内容添加到collectd-server文件。
#!/bin/bash
PORT="8888"
case $1 in
start)
cd /usr/local/collectd-web/
python runserverpy 2> /tmp/collectdlog &
sleep 1
stat=`netstat -tlpn 2>/dev/null | grep $PORT | grep "python"| cut -d":" -f2 | cut -d" " -f1`
if [[ $PORT -eq $stat ]]; then
sock=`netstat -tlpn 2>/dev/null | grep $PORT | grep "python"`
echo -e "Server is still running:\n$sock"
else
echo -e "Server has stopped"
fi
;;
stop)
pid=`ps -x | grep "python runserverpy" | grep -v "color"`
kill -9 $pid 2>/dev/null
stat=`netstat -tlpn 2>/dev/null | grep $PORT | grep "python"| cut -d":" -f2 | cut -d" " -f1`
if [[ $PORT -eq $stat ]]; then
sock=`netstat -tlpn 2>/dev/null | grep $PORT | grep "python"`
echo -e "Server is still running:\n$sock"
else
echo -e "Server has stopped"
fi
;;
status)
stat=`netstat -tlpn 2>/dev/null |grep $PORT| grep "python" | cut -d":" -f2 | cut -d" " -f1`
if [[ $PORT -eq $stat ]]; then
sock=`netstat -tlpn 2>/dev/null | grep $PORT | grep "python"`
echo -e "Server is running:\n$sock"
else
echo -e "Server is stopped"
fi
;;
)
echo "Use $0 start|stop|status"
;;
esac
万一你更改了runserverpy脚本的PORT变量值,就要确保你相应地对该bash文件更改了端口变量。
11 一旦你构建了collectd-server脚本,添加执行权限,以便能够运行它。现在唯一剩下来的事情就是,以类似管理系统服务的方式来管理Collectd-web服务器,为此执行下列命令。
# chmod +x /usr/local/bin/collectd-server
# collectd-server start
# collectd-server status
# collectd-server stop

1 准备工作 首先,监视Linux一定要有rstatd这个守
护进程,有的Linux版本里也有可能是rpcrstatd
这里只是名字不同而已,功能是一样
的 一般来说LINUX需要下载一个包才有这个服务

说明:
● 主机名 host_name,必须是主机配置文件hostscfg中定义的主机。
● 检查用的命令check_command,在命令配置文件中定义或在nrpe配置文件中有定义。
● 最大重试次数max_check_attempts 一般设置为3-4次比较好,这样不会因为网络闪断片刻而发生误报。
● 检查间隔和重试检查间隔的单位是分钟。
● 通知间隔指探测到故障以后,每隔多少时间发送一次报警信息。 它的单位是分钟。
● 通知选项跟服务定义配置文件相同。
● 联系组contact_groups由配置文件contactgroupcfg定义。
● 检查主机资源需要安装和配置nrpe,这个过程在后面完成。

配置方式:
1 完成自定义监控脚本的编写(windows或linux脚本)
脚本要求:(1)既然是监控,那必然要有输出结果值(字符串,数字皆可)
(2)必须要求zabbix用户有执行权限,当然可以直接设置所有用户都有执行权限(chmod 777 脚本文件)
(3)若脚本需要传入参数,按照参数传入的顺序,在脚本中可用$1-$9来引用传入的参数
2 找到zabbix agent的配置文件zabbix_agentdconf,修改如下两个参数
UnsafeUserParameters=0 => UnsafeUserParameters=1并去掉前面的注释符
UserParameter= => UserParameter=aaabbb[], /usr/local/script/monitorsh $1 $2 …
说明:aaabbb[] ---zabbix服务器添加监控信息时需要用到的key值,
格式:aaabbb[](例:systemfilesize[])
/usr/local/script/monitorsh ----监控脚本绝对路径
为了便于灵活监控,有时脚本需要传入参数,此参数可从zabbix服务器端传入,所有参数按顺序分别从$1-$9表示
注:(1)若无需传入参数,则红色部分可省略
(2)该自定义脚本可由zabbix服务器控制收集数据的频率(如:每30s运行一次),无需再添加计划任务
(3)以上参数请根据实际情况填写,并注意去除参数前注释符(#)
(4)注意在key值和后面的脚本之间有个逗号隔开
至此,自定义监控脚本zabbix agent端配置结束
3 测试
测试命令: /usr/local/bin/zabbix_agentd -t key[参数]
示例:/usr/local/bin/zabbix_agentd -t systemfilesize[/etc/atxt,abc,…]
4 监控脚本举例:
脚本名称:/usr/local/script/monitorsh
脚本内容:echo `date +"%F %T"`
脚本要求:必须在控制台输出值,该值将作为返回值返回给zabbix服务器端


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13479149.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-15
下一篇 2023-08-15

发表评论

登录后才能评论

评论列表(0条)

保存