1.概述
Open ***是linux上常用的接入型×××应用,它能够提供一种开源,免费并且稳定的***接入访问的解决方案。 虽然open ***好处很多,但是在图形化呈现,审计等方面非常薄弱,不能满足安全审计的需求,跟其他的专用***或者网络设备***服务相比有很大的差距。 为此,我们需要使用zabbix对open ***进行监控,除了对重要性能指标进行监控外,还需要对用户登录,流量等进行图形化监控。
2.使用zabbix模版
2.1.采用zabbix agent监控open***
针对linux服务器,一般采用zabbix agent的方式进行监控,无需使用snmp的方式进行。 Zabbix agent的配置方法如下:
代码语言:javascript复制Yum源配置
配置了yum源之后才能正常使用yum下载安装abbix agent
wget http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.3-1.el7.x86_64.rpm
#下载rpm文件
rpm -ivh zabbix-agent-3.4.3-1.el7.x86_64.rpm
#安装rpm包文件
zabbix_agent安装配置
yum install zabbix-agent -y
vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.56.11
#用于被动模式,数据获取,主动模式和被动模式按照自己需求选择。
ServerActive=192.168.56.11
#用于主动模式,数据提交,主动模式和被动模式按照自己需求选择。
systemctl start zabbix-agent
#启动zabbix agent
主动模式和被动模式的区别。主动模式和被动模式的出发点是agent端,所以agent主动向server端发送数据就成为主动模式,而等待server端主动获取数据则称为被动模式。记得有位自住开发监控的大牛曾经写文章说道:zabbix在机器量很大时,zabbix-server端要主动获取上千台agent端监控项,服务器性能就成了瓶颈。很显然他并不知道zabbix还有主动模式。
2.2.openn***模版使用
zabbix官网提供open *** 的监控模板,提供了详细的配置及使用方法。 该模板及脚本由github上提供,详细地址为 github下载地址:https://github.com/Grifagor/zabbix-open*** Open×××用户监控脚本。它显示了Open×××用户的状态及其上行和下行流量。文件证书名称的“项目”是使用LLD进行的。 建立: 将文件discover_***.sh复制到Open×××上的服务器上的任何目录(例如/etc/zabbix/scripts/discover_***.sh)。在此文件中指定Open×××证书所在目录的路径(第№3行)。 复制“zabbix_agentd.txt”文件中的所有行并粘贴到zabbix代理配置(/etc/zabbix/zabbix_agentd.conf)的末尾。可能需要更改discover_***.sh的路径。 将open***.xml导入zabbix模板。 基本的安装和配置比较简单
值得注意的是
1、在zabbix_agent.txt中的需要把 “/var/log/open-status.log”替换为“/etc/oepn***/open-status.log”
UserParameter=discovery.open***,/etc/zabbix/scripts/discover_***.sh
UserParameter=user_status.open***[], cat /var/log/open***-status.log | grep $1, >/dev/null && echo 1 || echo 0
UserParameter=num_user.open***, cat /var/log/open***-status.log | sed -n '/Connected Since/,/ROUTING/p' | sed -e '1d' -e '$d' | wc -l
UserParameter=user_byte_received.open***[], if [ "grep -c $1, /var/log/open***-status.log
" != "0" ]; then cat /var/log/open***-status.log | grep $1, | tr "," "n" | sed -n '3p' ; else echo "0" ; fi
UserParameter=user_byte_sent.open***[*], if [ "grep -c $1, /var/log/open***-status.log
" != "0" ]; then cat /var/log/open***-status.log | grep $1, | tr "," "n" | sed -n '4p' ; else echo "0" ; fi
UserParameter=discovery.open***.ipp,/etc/zabbix/scripts/discover_***_ipp.sh # for discovery with ifconfig-pool-persist 2、需要赋予/etc/oepn***/open-status.log 任何用户的读写权限 chomd 666 /etc/oepn***/open-status.log 不然监控项会提示没有权限获取文件信息 3、需要赋予/etc/zabbix/scripts/discover_***.sh脚本可执行权限,不然不能自动发现监控项 chomd x /etc/zabbix/scripts/discover_***.sh
3.图形化显示
***模版带有自动发现规则,只要模版配置成功,zabbix就能自动发现或者产生监控项。本模板强大的地方就在于能够发现用户,同时发现用户登录使用的流量等信息。
(图:自动发现的监控项) 虽然模板能够发现监控项,但是不能够自动的生成图形和触发器,同时更细致的监控项也需要自行添加。
3.1.用户登陆数
新建图形,命名为用户登陆数,选择监控项为open*** num_user,配置如下
(图:配置图形-用户数)
(图:图形展示-用户数)
3.2.用户状态一览表
新建图形,命名为用户状态一览表,选择监控项为open*** user_statusr,配置如下
(图:配置图形-用户状态一览表)
(图:图形展示-用户状态一览表)
3.3.配置用户流量图形
选择相应的“open*** byte_received”和“open*** byte_sent”监控项,配置不同用户的登录的流量使用图形。
(图:配置图形-用户流量)
(图:图形展示-用户流量)
4.配置其他重要监控项及图形
因为open***的工作原理是使用NAT,外网访问公网地址和端口号,open ***再使用2层隧道地址分配给用户,实现接入。所以我们就必须监控服务器对应的端口情况,同时还需要监控open ***的守护进程。 本次open ***使用的端口是udp 1194。
4.1.监控udp 1194
新建监控项,命名为udp 1194,类型为zbbix客户端,键值为net.udp.listen[1194] 如下图所示:
(图:udp_1194监控项) 在配置完成后,按照之前的方式创建图形,创建好的图形如下所示:
(图:udp1194效果)
4.2.监控open***服务
新建名为“process_open***”的监控项,类型为ZABBIX客户端, 键值为“proc.num[,root,all,open***]” 如下图所示:
(图:process_open***的监控项) 在配置完成后,按照之前的方式创建图形,创建好的图形如下所示:
(图:效果)
4.3.触发器
需要配置触发器,当open***的 udp 1194端口被占用,或者是服务进程挂掉的时候,触发报警
(图:1194端口的触发器)
(图:服务的触发器) 注意,一定调整合适的严重性,一般的信息级别的告警是不会发送邮件的。
5.最终效果
使用聚合图形,集中展示图像化监控效果: