1.相关
DSM版本:6.2.2-24922 Update 2
docker版本:18.09.0-0505
mysql版本:5.7.27
zabbix-java-gateway版本:4.0.20
zabbix-server-mysql版本:4.0.20
zabbix-web-nginx-mysql版本:4.0.20
zabbix-agent版本:4.0.20
grafana版本:6.3.3
2.效果
3.步骤
因为在DSM中没有使用“root
”用户登录,所以在登录终端之后使用sudo -i
切换到“root
”用户,提示输入密码输入自己的密码或运行命令之前都加上“sudo
”运行即可。
3.1.DSM安装docker
进入DSM-套件中心-所有套件-找到“Docker”并安装
3.2.开启ssh服务
找到DSM中的-“控制面板”-终端机和SNMP-钩选“启动ssh功能”-应用
3.3.mysql-server
--name mysql-server
:指定容器名称-t
:分配终端\
:换行--hostname mysql-server
:容器主机名称--restart=always
:自动启动容器-v /etc/localtime:/etc/localtime
:让容器时间和宿主机时间同步-v /volume1/docker/mysql/1/:/var/lib/mysql
:映射数据库目录/volume1/docker/mysql/1/
:DSM上的目录路径,你的可能不是“volume1”,路径请先创建好,如果是“linux”不需要自己创建,容器在启动时没有此目录会自动创建/var/lib/mysql
:容器内mysql数据路径-e
:指定变量-p 3306:3306
:指定映射的端口(可指定多个端口),-p 代表将容器上的端口(后)映射到本机的3306(前)上。-d
:后台运行mysql:5.7
:使用mysql5.7版本--character-set-server=utf8
:字符集设置--collation-server=utf8_bin
:排序规则
3.4.zabbix-java-gateway
文章目录[隐藏] 1docker命令1.1容器管理1.1.1创建并启动容器1.1.2看正在运行的容器1.1.3 […]
3.5.zabbix-server-mysql
--link mysql-server:mysql
:链接到“mysql-server”容器,后面的“mysql”是别名--link zabbix-java-gateway:zabbix-java-gateway
:链接到“zabbix-java-gateway”容器,后面“zabbix-java-gateway”是别名
3.6.zabbix-web-nginx-mysql
-v /root/simkai.ttf:/usr/share/zabbix/assets/fonts/DejaVuSans.ttf
:映射字体文件,解决图表中中文字符乱码的问题,单独处理图表中中文字符乱码请点我,请将字体文件提前上传到/root/
目录下。-e PHP_TZ=Asia/Shanghai
:使用的时区,如果不加服务器报警的时候就会使用国外的--link zabbix-server-mysql:zabbix-server
:不要修改默认的“zabbix-server”名称,如果修改了会造成“zabbix-server”端起不来。-v /etc/localtime:/etc/localtime
3.7.zabbix-proxy-mysql
zabbix-server-mysql
的数据库与zabbix-proxy-mysql
不在一台主机上面,为了方便都使用zabbix
名称的数据库,不会冲突,但是如果是一台主机请注意修改zabbix-proxy-mysql
的数据库为zabbix_proxy
即可。另外zabbix-proxy-mysql
这样启动是主动模式,如果要修改为被动可以增加-e ZBX_PROXYMODE="1"
,主动=0;被动=1-e ZBX_SERVER_HOST="zabbix.china.com"
:zabbix-server主机的IP地址域是域名-e ZBX_HOSTNAME="proxy-china"
:zabbix-proxy-mysql主机的名称,随便定义,也就是要在web页面的“agent代理程序”中要输入的名称。
3.8.容器版agent
-e ZBX_METADATAITEM="system.uname"
:自动注册时使用的主机元数据docker exec -it zabbix-agent ifconfig eth0
3.9.非容器版agent
不使用docker版的agent,Zabbix server上线的方法,使用yum或是离线安装好agent,编辑配置文件
vim /etc/zabbix/zabbix_agentd.conf Server=127.0.0.1,172.17.0.4(zabbix-server-mysql容器IP地址) ServerActive=127.0.0.1(这个默认不要去修改) Hostname=Zabbix server(这个默认不要去修改)
修改保存之后重启zabbix-agent
systemctl restart zabbix-agent
然后去Web页面修改Zabbix server的接口IP为宿主机IP地址或docker网关地址,等待上线即可,如下图:
3.10.运行grafana
docker logs -f zabbix-server-mysql
。3.11.访问应用
zabbix-web:http:\\ip
默认用户名:Admin/admin
默认密 码:zabbix
grafana-web:http:\\ip:3000
默认用户名:admin
默认密 码:admin
3.12.报错处理
在zabbix4.2.6上点击右上角的人物图像会出现报错造成我们无法修改配置,4.2.6以下版本无此问题,报错如下:
Fatal error: Uncaught Error: Call to undefined function mime_content_type() in /usr/share/zabbix/include/sounds.inc.php:27 Stack trace: #0 /usr/share/zabbix/include/views/administration.users.edit.php(345): getSounds() #1 /usr/share/zabbix/include/classes/mvc/CView.php(199): include(‘/usr/share/zabb…’) #2 /usr/share/zabbix/profile.php(189): CView->render() #3 {main} thrown in /usr/share/zabbix/include/sounds.inc.php on line 27
sudo docker exec -it zabbix-web-nginx-mysql bash apk add php7-fileinfo exit sudo docker restart zabbix-web-nginx-mysql
或我们可以通过点击“administration”-“users”-“Admin”进入如下界面修改,修改完成之后需要重新登录。
3.13.解决图表文字乱码
当我们修改成为中文界面的时候,图表下的文字会出现乱码的情况,可以点击“配置”-主机-图形-CPU jumps-“预览”即可看到。下面解决文字码码的问题。
copy C:\Windows\Fonts\simkai.ttf c:\
以上命令可以在“CMD”窗口中运行或是新建“txt”文件把代码放进去,然后将“txt”修改为“bat”运行即可将字体复制到“c”盘根目录下,然后将字体上传到“DSM”系统中的目录下。
sudo docker cp simkai.ttf zabbix-web-nginx-mysql:/usr/share/zabbix/assets/fonts
sudo docker cp simkai.ttf zabbix-web-nginx-mysql-v3:/usr/share/zabbix/fonts
sudo docker exec -it zabbix-web-nginx-mysql vi /usr/share/zabbix/include/defines.inc.php
define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name