本篇使用docker镜像安装zabbix服务端,yum方式安装zabbix-agent。
本篇分两部分,第一部分是正常的zabbix安装,第二部分是安装过程中遇见的各种疑难杂症。
zabbix/zabbix-appliance 版本:4.4.6
zabbix-agent版本:4.4.6
1、查看最新zabbix镜像
docker search zabbix
2、下载镜像
docker pull zabbix/zabbix-appliance
3、长期使用需要创建卷:
docker volume create Zabbix_data
4、启动容器
先确保端口没有被占用
docker run --name zabbix -p 88:80 -p 10051:10051 -v zabbix_data:/var/lib/mysql -d zabbix/zabbix-appliance
5、docker ps 查看是否运行
6、登录web页面 http://IP:88
默认账密:Admin zabbix
7、在本机(zabbix-server服务端)安装agent(自己监控自己)
yum install -y zabbix-agent
8、修改agent配置文件
- vim /etc/zabbix/zabbix_agentd.conf
-
- Server=172.17.0.2(docker容器ip)
-
- ServerActive=192.168.48.128(服务端主机IP)
-
- Hostname=Zabbix server(这里默认,让它自己解析)
----------释义-----------
查看docker容器IP(zabbix-appliance容器的ip):
docker inspect 容器IP
9、启动zabbix-agent
- systemctl start zabbix-agent
-
- systemctl enable zabbix-agent
查看是否启动
netstat -lnp | grep 10050
10、web页面配置主机
以上配置完后点击更新
以下ZBX变绿后就OK了
11、在另外一台服务器安装agent,步骤同上,区别如下
- vim /etc/zabbix/zabbix_agentd.conf
-
- Server=192.168.48.128(服务端主机IP,公网或者云环境就填公网IP)
-
- ServerActive=192.168.48.128(服务端主机IP,公网或者云环境就填公网IP)
-
- Hostname=Zabbix server(这里默认,让它自己解析)
配置图
图形功能乱码页面信息
在windows系统C:\Windows\Fonts 目录下找到 楷体 ,上传linux服务器
将楷体文件拷贝到容器内部目录
docker cp /root/shell/SIMKAI.TTF c07b356bc0fd:/usr/share/zabbix/assets/fonts/
进入容器
docker exec -it c07b356bc0fd bash
进入容器目录,楷体 已经拷贝到目标目录了
cd /usr/share/zabbix/assets/fonts/
修改楷体名称
备份原有:
mv DejaVuSans.ttf DejaVuSans.ttf.bak
将楷体改名成原有字体名:
mv SIMKAI.TTF DejaVuSans.ttf
回到zabbix页面,发现乱码已经修复
zabbix-appliance版本是4.4.6
zabbix-agent版本是4.4.10,这个版本高了,导致在对mysql进行键值配置后服务端一直无法获取数据。
zabbix默认向下兼容,很明显要把zabbix-agent4.4.10版本替换为4.4.6
卸载当前版本
yum remove -y zabbix-agent
查看安装包
rpm -qa|grep zabbix-agent
zabbix-agent-4.4.10-1.el7.x86_64
删除
rpm -e zabbix-agent-4.4.10-1.el7.x86_64
更换新的
vim repoetc/zabbix/zabbix.repo
- [zabbix]
- name=Zabbix Official Repository - $basearch
- baseurl=http://repo.zabbix.com/zabbix/4.4/rhel/7/$basearch/
- enabled=1
- gpgcheck=0
- gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
-
- [zabbix-debuginfo]
- name=Zabbix Official Repository debuginfo - $basearch
- baseurl=http://repo.zabbix.com/zabbix/4.4/rhel/7/$basearch/debuginfo/
- enabled=0
- gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
- gpgcheck=0
-
- [zabbix-non-supported]
- name=Zabbix Official Repository non-supported - $basearch
- baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
- enabled=1
- gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
- gpgcheck=0
清除yum缓存
yum clean all
查看zabbix历史版本,这里得配合zabbix.repo一起使用,确保zabbix.repo里的版本范围是需要的范围
yum search zabbix --showduplicates
--showduplicates # 在 list/search 命令下,显示源里重复的条目
找到需要的版本
执行安装
yum install -y zabbix-agent-4.4.6-1.el7.x86_64
查看目前时间发现时间不对,更新时间,下载chrony
- 下载chrony
- apk add chrony
- 更新时间
- chronyd
发现没有更新过来
解决办法:下载 tzdata,-U防止添加失败,更新库缓存
apk add -U tzdata
拷贝时区目录下内容,localtime不存在不用担心,会自动创建
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
再查看时间已经恢复正常
进入容器修改文件:/etc/php7/conf.d/99-zabbix.ini
修改为红框内的内容:Asia/Shanghai
杀掉php进程:kill -9 phpid(不要一次全部kill,这样会杀不掉,进程最好一个一个kill,这是个坑)
确保php进程全部消失后,在目录 /usr/sbin 找到 php-fpm7 ,
执行 ./php-fpm7 以启动php,到这一步图形时间不一致问题会得到解决!
进阶参考:
以下命令需参考上文理解
- docker run --name zabbix_yxx -p 8090:80 -p 10051:10051
- -v zabbix_data:/var/lib/mysql
- ##将宿主机时间同步到容器
- -v /etc/localtime:/etc/localtime:ro
- ##主要同步/etc/php7/conf.d/99-zabbix.ini,这个文件关系到zabbix图形时间显示,很重要
- -v /root/zabbix_config_docker/php_config_docker/php7:/etc/php7/
- ##挂载zabbix,方便后期维护修改
- -v /root/zabbix_config_docker/zabbix_config_docker/zabbix:/etc/zabbix/
- ##同步字体,防止页面乱码
- -v /root/zabbix_config_docker/fonts_config_docker/fonts:/usr/share/zabbix/assets/fonts/
- -d zabbix/zabbix-appliance
本篇结束,有需求可以移步我的下一篇文章