首页 > 其他分享 >zabbix--独立部署zabbix-web

zabbix--独立部署zabbix-web

时间:2023-06-08 16:36:47浏览次数:47  
标签:web -- nginx zabbix mysql docker php

迁移yum部署的zabbix组件zabbix-web

背景描述:业主对项目生产环境所有服务器进行了漏洞扫描,结果zabbix监控服务器扫描出大量php和apache的漏洞。

原因分析:

​ 由于我们zabbix服务器上面只是部署了zabbix相关的服务,没有运行其它服务,故排除为zabbix-web服务依赖php和apache。官方默认依赖包php的版本为5.4.16,而这个版本在php官方也提到过有很多漏洞。

问题解决:

​ 方式一:可以升级php版本和httpd版本。

​ 方式二:将docker-web服务通过docker运行。(这里采用方式)

 

安装docker#

✏️ 1.安装依赖

# yum install -y yum-utils device-mapper-persistent-data lvm2

✏️ 2.配置docker源

# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

✏️ 3.安装docker-ce

# yum -y install docker-ce

✏️ 4.更改docker.service配置文件

# vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd

✏️ 5.配置daemon.json文件(说明:graph迁移docker默认目录)

# mkdir /etc/docker /data/docker
# cat >/etc/docker/daemon.json<<EOF
{
  "registry-mirrors": ["https://15y9mzqb.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "graph": "/data/docker"
}
EOF

✏️ 6.启动docker

# systemctl daemon-reload 
# systemctl enable docker
# systemctl start docker
# systemctl status docker

 

部署zabbix-web#

这里采用zabbix-web-nginx-mysql镜像, 官网zabbix镜像仓库中也有zabbix-web-httpd-mysql的镜像。

✏️ 1.去到dockerhub上面找到对应版本的镜像

https://hub.docker.com/r/zabbix/zabbix-web-nginx-mysql

✏️ 2.下载镜像

# docker pull zabbix/zabbix-web-nginx-mysql:centos-4.2.8

✏️ 3.启动容器

# docker run --name zabbix-web-nginx-mysql \
	-e DB_SERVER_HOST="172.xx.xx.xx" \
	-e MYSQL_DATABASE="zabbix" \
	-e MYSQL_USER="zabbix" \
	-e MYSQL_PASSWORD="xxx" \
	-e ZBX_SERVER_HOST="172.xx.xx.xx" \
	-e PHP_TZ="Asia/Shanghai" \
	-p 80:80 \
	-d zabbix/zabbix-web-nginx-mysql:centos-4.2.8

✏️ 4.查看状态

# docker ps 
CONTAINER ID        IMAGE                                        COMMAND                  CREATED             STATUS              PORTS                         NAMES
7be0a106109f        zabbix/zabbix-web-nginx-mysql:centos-4.2.8   "docker-entrypoint.sh"   3 hours ago         Up 3 hours          0.0.0.0:80->80/tcp, 443/tcp   zabbix-web-nginx-mysql

✏️ 5.访问测试

访问测试:http://IP/,说明我在再宿主机上面部署时访问需要在地址后面加上/zabbix,而容器则不需要。直接访问映射的端口即可。

 

grafana修改#

如果配置了连接grafana,对应的数据源zabbix的连接地址也需要发生改变。否则grafana会获取不到数据。

✏️ 1.当我们把zabbix-web部署在宿主机时通过如下命令可以测试grafana能否获取数据

# curl -s -X POST -H 'Content-Type:application/json' -d '{"jsonrpc": "2.0","method": "user.login","params": {"user": "Admin","password": "Zabbix@123"},"id": 1}' http://localhost/zabbix/api_jsonrpc.php

✏️ 2.使用docker部署时通过如下命令即可:

# curl -s -X POST -H 'Content-Type:application/json' -d '{"jsonrpc": "2.0","method": "user.login","params": {"user": "Admin","password": "Zabbix@123"},"id": 1}' http://localhost:80/api_jsonrpc.php

所以grafana数据源中的zabbix设置也需要设置为http://localhost:80/api_jsonrpc.php

通过上面部署就完成了zabbix-web独立部署,其实zabbix-server等都是可以在docker中部署,后面补充

标签:web,--,nginx,zabbix,mysql,docker,php
From: https://www.cnblogs.com/A121/p/17466875.html

相关文章

  • jquery 实现 点击按钮后倒计时效果,多用于实现发送手机验证码、邮箱验证码
    <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><title></title>......
  • 一次windows下使用cmake遇到的问题
    背景在windows下的cmake和mingw提供的make,在windows环境下进行了简单尝试,结果发现make的时候失败:#include<iostream>intmain(){std::cout<<"Hello,makefile."<<std::endl;return0;}CMakeList如下:project(test)add_executable(testtest.cpp)非常......
  • CSS实现简单动态渐变闪烁效果
    CSS练习用例:.event{border-radius:4px;-webkit-border-radius:4px;color:#FFFFFF;font-size:12px;margin:0px30px;padding:2px0px;}.event.received{background-color:#4B946A;display:none;}@keyframe......
  • TLD5097EL-ASEMI代理英飞LED驱动TLD5097EL
    编辑:llTLD5097EL-ASEMI代理英飞LED驱动TLD5097EL型号:TLD5097EL品牌:Infineon(英飞凌)封装:SSOP-14-EP-150mil类型:LED驱动、汽车芯片TLD5097EL特性输入电压范围宽,从4.5V到45V极低关断电流:Iq_OFF<10µA开关频率范围从100kHz到500kHz与外部时钟源同步模拟调光功能,可调......
  • 使用ActivityOptions做Activity切换动画
    不知道大家有没有注意到startActivity(Intent,Bundle),那么ActivityOptions就是这个Bundle的原型,负责Activity跳转时的动画。publicvoidonClick(Viewview){Intentintent=newIntent(this,SecondActivity.class);ActivityOptionsoptions=Act......
  • simulink之S函数
    simulink中用户可以使用已有的模块构建系统模型,如果遇到无法由内建模块构成的模型时,编写S-函数也能完成仿真,不但灵活,而且可以采用C,C++,Fortran或Ada云烟,只要生成dll文件,就可以在simulink中直接调用。S-函数允许用户向模型中添加自己编写的模块,按照简单规则,在S-函数添加算法。将......
  • MySql锁知识记录积累(一)
    1.关于脏读、幻读和不可重复读脏读:一个事务A读取到了另一个事务B未提交的数据,叫做脏读不可重复读:事务A被事务B干扰到了!在事务A范围内,两个相同的查询,读取同一条记录,却反返回了不同的结果,即不可重复读幻读:事务A查询一个范围内的结果集,另一个并发事务B往这个范围中插入/删除了数据,并......
  • java jxl创建/读取/修改Excel 操作Excel
    创建Excelpackagetest1;importjava.io.File;importjava.io.IOException;importjxl.Workbook;importjxl.write.Label;importjxl.write.WritableSheet;importjxl.write.WritableWorkbook;importjxl.write.WriteException;importjxl.writ......
  • RocketMQ消费暂停问题分析
    一、背景客经使用rocketMq批量推送数据到pcr执行次贷策略引擎和互斥决策引擎,pcr将决策结果推送到前置路由。二、问题现象描述在客经推数据时,pcr-updateBorrowState消息积压越来越多,从日志上看,pcr不拉取消息,重启服务器后可以消费消息,过一会又消费变慢,不断重启才让所有消息消费......
  • 毕业后,我的第一辆车
    你好,我是阿秀。从学校毕业的时候,我身上差不多有将近12W块钱,有些是自己慢慢存的,有些是在校期间做私活兼职赚的:聊聊我读研期间做过的一些私活和兼职六月毕业后我和我对象去北京玩了几天,去天安门看了毛爷爷,去了圆明园,去了天坛,去吃了老北京卤煮,试了试老北京豆汁儿,额,豆汁儿可能不太适合......