问题,两个服务的文件路径都是 /usr/local/sdata下,要让两个服务共存,至少需要讲一个服务的文件迁移到别的文件夹,同时将所有的配置项都进行修改,使能找到指定的文件路径,
方案1,先按照zabbix服务,
将/usr/local/sdata整体迁移到其他的目录,然后修改其中的配置文件,将文件路径指定到修改后的文件目录中,同时修改/usr/lib/systemd/system/下关于mysql sdata-server sdata-agent的systemd信息,还有日志文件的路径也要修改,尤其是mariadb的配置信息,需要与monitor的区分开,
httpd的配置文件再etc下,需要修改sdata的配置信息,可能还要修改zabbix的php信息
配置完成后,启动相应的服务
启动agent mysql都没问题,但是在启动server的时候提示 error while loading shared libraries: libgd.so.2: cannot open shared object
参考
https://blog.csdn.net/u011252402/article/details/83098516
查询二进制文件的依赖 ldd
将monitor lib底下的so文件复制到指定的lib下,/ust/lib64,zabbix服务启动成功
由于迁移了文件夹,需要rpm -e 删除原来装的包,然后在安装show的包,show的包配置文件只要和zabbix的区分开应该没啥问题,
2019-11-21 19:16:45 补充:
-e后会有问题,在/usr/lib/systemd/system/下的systemctl控制的服务也会被删除,还得把这些文件也备份一下。
不然还得手动的创建文件,然后systemctl daemon-reload下,重载配置生效,然后就能systemctl来管理服务。
方案2
- 先安装show,登录mysql,将monitor数据库整体dunmp出来,mysqldump -uroot -p -h127.0.0.1 monitor>/root/monitor.sql
- 删除/usr/local/sdata/mysql,删除了跟卸载了一样,
- 然后在安装zabbix 的mysql和server,有冲突的话直接rpm -ivh xxx --force,
在数据库中创建一个monitor,use monitor, sorce /root/monitor.sql,再创建monitor用户,grant all privileges on monitor.* to 'monitor'@'localhost' identified by 'xxxxx'; - 修改httpd的配置文件,修改监听端口,解决和nginx的80冲突,
- 修改后端代码,修改zabbix里冲突的代码,更新前端代码,修改aidataview,再迁移更新的表,
- 启动supervisord进程,supervisorctl进入管理,启动所有进程python进程,
- 在zabbix配置页中修改自动发现的动作,打开自动发现,在操作中添加一个关联模板的操作。这样每个机器源数据过来,根据源数据决定添加到那个分组,添加模板,主机就会自动添加到系统中,
- windows端直接用客户端,直接添加server ip即可,linux直接在页面配置,对于snmp的添加,尽量在zabbix页面上配置,配置ip,团体名,挂载模板,监控项就会自动发现出来了。