使用zabbix监控位于局域网中的主机,由于被监控主机没有公网ip,所以使用主动式zabbix_agentd进行监控。
主动式监控(zabbix_agentd主动向zabbix_server发送数据)配置文件
#### 日志文件位置
LogFile=c:\zabbix_agentd\zabbix_agentd.log
#### 禁用被动模式
StartAgents=0
#### 主动上传数据ip地址
ServerActive=210.73.27.13
#### 主机名(对应zabbix_server中的配置)
Hostname=zhezhao
#### 每隔1分钟,向zabbix_server确认一次需要收集的数据
RefreshActiveChecks=60
现在有个需求,就是zabbix_server的域名(或者ip地址)在将来有可能会发生变化,要求可以通过web页面修改zabbix_agent配置文件中的ServerActive参数,并重启服务。
我们先读取zabbix_agentd.conf配置文件,通过正则表达式替换ServerActive参数。
我们可以通过添加.net framework库中的System.ServiceProcess
引用,来停止和开启zabbix_agentd服务。
替换完成配置文件中的ServerActive参数之后,重启zabbix_agentd服务,新的配置文件就会生效。
using System.ServiceProcess;
using System.Text.RegularExpressions;
using System.Web.Mvc;
namespace zabbix.Contr