二进制包安装Zabbix

架构图:

1.到官方站点或者镜像站点下载对应版本Zabbix
<镜像站点下载会快一些,博主下载的是清华镜像站点的Zabbix 5.0LTS版:持久稳定版,社区支持到2025年>
<https://mirrors.cloud.tencent.com ,镜像站点的路径是仿照官网的,如果要再不同的镜像站下载Zabbix只需要改网址不用改URL>

wget https://mirrors.cloud.tencent.com/zabbix/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+bionic_all.deb

以上安装的包可通过 dpkg -L 包名  查询到配置文件的路径

2.下载Zabbix二进制包后安装会生成一个zabbix的apt仓库,update后安装所需要的包软件。

dpkg -i zabbix-release_5.0-1+bionic_all.deb
apt update
apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent language-pack-zh-hans zabbix-get -y

zabbix-server-mysql : zabbix-server 连接Mysql数据库的包

zabbix-frontend-php :组建 Zabbix Web 用来处理动态请求的包
zabbix-apache-conf zabbix-agent :
zabbix-server 的代理,安装于被监控端,与zabbix-server 建立联系,zabbix-server即可从被监控端获取监控项数据。(与zabbix-server一并安装即可监控zabbix-server状态)

language-pack-zh-hans :中文包
zabbix-get:用于zabbix-server检测与zabbix-agent代理之间的连通性 。语法: zabbix_get  -s 被监控端IP  -k 'agent.ping'

数据库配置:
3.创建 zabbix 数据库、创建zabbix 账号并授权主机 ,数据库与账号的最好是zabbix,因为 
zabbix-server 配置文件默认连接数据库的账号、访问的database 都为zabbix。

create database zabbix character set utf8 collate utf8_bin;

create user zabbix@'10.0.0.%' identified by '123456';

grant all privileges on zabbix.* to zabbix@'10.0.0.%';

 

回到10.0.0.200:

4.测试是否能够连接数据库

mysql -uzabbix -p123456 -h 10.0.0.40

5.连接DB 为zabbix数据库导入数据表

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p123456 zabbix -h 10.0.0.40

6.修改zabbix-server配置文件关于连接DB的选项  

sed -ri.bak 's@^# (DBHost)=localhost@\1=10.0.0.40@' /etc/zabbix/zabbix_server.conf
sed -ri.bak 's@^# (DBPort)=.*@\1=3306@' /etc/zabbix/zabbix_server.conf
sed -ri.bak 's@# (DBPassword)=.*@\1=123456@' /etc/zabbix/zabbix_server.conf

7. 修改php时区,因为是通过zabbix二进制包安装,在此文件可修改 /etc/zabbix/apache.conf

sed -ri.bak 's@ (.*)#( php_value date.timezone) Europe/Riga.*@\1\2 Asia/Shanghai@' /etc/zabbix/apache.conf

8.启动 zabbix-web ( zabbix-frontend-php + zabbix-apache-conf ) 、zabbix-server(zabbix-server-mysql)、zabbix-agent(zabbix-agent)

systemctl restart zabbix-server zabbix-agent apache2
systemctl enable zabbix-server zabbix-agent apache2

 9.完成配置向导 使zabbix-web中的php连接DB

 

10.检查是否OK ,不OK则返回配置文件进行修改。

11.将连接什么DB 、DB的地址、DB的端口、连接DB的账号密码以及database 一一填写。 

12.填写zabbix-server与zabbix-web处于同一台机器上那么就填写localhost,不在同一台机器则填写zabbix-server的IP地址(默认端口为10051)。

13.点击下一步后,会生成一个php连接数据库的文件。
<出现以下这种情况是由于生成的php连接数据库文件没有权限写入到/usr/share/zabbix/ 下> 

解决方案:这里我选择了 1
1)和wordpress有些类似(存放再web服务器根目录的应用程序文件,web服务器想要对其操作必须拥有其权限),需将/usr/share/zabbix/ 这个目录的所有者和所属组从root改成运行apache时所用的账号www-data(通过ps aux查看)
2)按提示将生成的文件拷贝到 /usr/share/zabbix/ 下并命名为 zabbix.conf.php

14.登录zabbix-web,第一次登录默认账号为Amin 密码为 zabbix
<如果 zabbixserver is running 显示为no 但zabbix-server又能够启动却不显示监听的10051端口 建议检查以下zabbix-server的配置文件连接数据库的选项是否有错>

15.修改字体,但有个潜在BUG改成中字之后有些内容会乱码(据说是因版权问题)

解决方案:
1)通过fonts打开机器字体库。

2)将字体库的任意一个中文字体对以下文件进行替换:替换后文件名不变!(也就是 graphfont.ttf )

 

PS:
1)zabbix-web可做高可用(即布置两台),第二台zabbix-web无需安装  zabbix-server-mysql zabbix-agent 
优点:可以更加清晰的定位故障到底是 zabbix-web 的web功能问题、zabbix-server 服务本身无法接收来自zabbix-agent发来过来的监控数据、DB故障导致zabbix-server无法上传数据或zabbix-web无法从DB获取被监控端数据。
缺点:多一台zabbix-web的成本。
扩展:甚至可以在两台zabbix-web之间加个Nginx七层负载均衡,但一般生产中不这么干。
<新zabbix-web 完成安装向导,生成此文件后/usr/share/zabbix/conf/zabbix.conf.php 后修改连接数据库的信息即可>

 

 

 

 

 

 

 





 

posted on 2021-08-08 18:37  1251618589  阅读(5)  评论(0编辑  收藏  举报

导航