什么是zabbix
zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。当集群服务器的数量比较多的时候,人工方式做服务器的健康检查不能够满足实时性要求,也会在在繁忙的工作做遗漏。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
zabbix 5.0 LTS的安装
我们采用长期支持版本进行zabbix的安装。首先准备三台服务器,一种一台服务器安装server和agent,另外一台安装agent.如果有多台机器需要管理的话,只需要安装agent的步骤安装即可。
环境
服务器 | IP | 角色 | zabbix版本 |
centos7.9 | 192.168.137.3 | server | 5.0LTS |
centos7.9 | 192.168.137.9 | agent | 5.0LTS |
centos7.9 | 192.168.137.10 | agent | 5.0LTS |
前提条件
安装好mysql数据库
安装
- 安装zabbix仓库
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# yum clean all
- 安装zabbix server 和 zabbix agent
# yum install zabbix-server-mysql zabbix-agent
- 安装前端软件,界面工具
[zabbix-frontend]
...
enabled=1
...
- 安装zabbix 前端
# yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
此时如何出现包缺少,那么安装下一个centos的仓库
--> 正在处理依赖关系 rh-php72-php-mysqlnd,它被软件包 zabbix-web-mysql-scl-5.0.11-1.el7.noarch 需要
--> 解决依赖关系完成
错误:软件包:zabbix-web-deps-scl-5.0.11-1.el7.noarch (zabbix)
需要:rh-php72-php-mbstring
错误:软件包:zabbix-nginx-conf-scl-5.0.11-1.el7.noarch (zabbix)
需要:rh-nginx116-nginx
错误:软件包:zabbix-web-deps-scl-5.0.11-1.el7.noarch (zabbix)
需要:rh-php72-php-ldap
错误:软件包:zabbix-web-deps-scl-5.0.11-1.el7.noarch (zabbix)
需要:rh-php72-php-bcmath
错误:软件包:zabbix-web-mysql-scl-5.0.11-1.el7.noarch (zabbix)
需要:rh-php72-php-mysqlnd
错误:软件包:zabbix-web-deps-scl-5.0.11-1.el7.noarch (zabbix)
需要:rh-php72-php-gd
错误:软件包:zabbix-web-deps-scl-5.0.11-1.el7.noarch (zabbix)
需要:rh-php72-php-xml
错误:软件包:zabbix-web-deps-scl-5.0.11-1.el7.noarch (zabbix)
需要:rh-php72
错误:软件包:zabbix-web-deps-scl-5.0.11-1.el7.noarch (zabbix)
需要:rh-php72-php-fpm
您可以尝试添加 --skip-broken 选项来解决该问题
增加库,并继续执行
yum install centos-release-scl
[root@localhost ~]# yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.ustc.edu.cn
* centos-sclo-rh: mirrors.ustc.edu.cn
* centos-sclo-sclo: mirrors.ustc.edu.cn
* extras: mirrors.ustc.edu.cn
* updates: mirrors.ustc.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 zabbix-ng
-> 解决依赖关系完成
依赖关系解决
==========================================================================================================================
Package 架构 版本 源 大小
==========================================================================================================================
正在安装:
zabbix-nginx-conf-scl noarch 5.0.11-1.el7 zabbix 15 k
zabbix-web-mysql-scl noarch 5.0.11-1.el7 zabbix 14 k
为依赖而安装:
=------------
setools-libs.x86_64 0:3.3.8-4.el7 zabbix-web.noarch 0:5.0.11-1.el7
zabbix-web-deps-scl.noarch 0:5.0.11-1.el7
完毕!
- 创建相关用户,启动mysql服务器
-
# mysql -uroot -p zabbix mysql> create database zabbix character set utf8 collate utf8_bin; mysql> create user zabbix@localhost identified by 'zabbix'; mysql> grant all privileges on zabbix.* to zabbix@localhost; mysql> quit;
- 初始化zabbix的服务器的数据库,初始化的sql已经安装在特定目录下。这个时间会比较长,耐心等待
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
更改配置文件的数据库连接 Edit file /etc/zabbix/zabbix_server.conf
DBPassword=zabbix
- 更改php 7.2的配置文件,修改时区,zabbix系统默认安装7.2
- 更改 /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
listen 80;
server_name 192.168.137.3;
更改 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai
- 启动服务器访问,http://192.168.137.3/
#systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
#systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
安装界面
访问 http://192.168.137.3,以默认的Admin/Zabbix 登录
Agent的安装及配置
安装
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum install -y zabbix-agent
配置
- 添加hosts文件已解析各服务器
cat <<EOF >/etc/hosts 192.168.137.3 rabbix-server 192.168.137.9 ra-host1 192.168.137.10 ra-host2 EOF
-
编辑zabbix-agent服务的配置文件
vi /etc/zabbix/zabbix_agentd.conf
### Option: Server
# List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.
# Incoming connections will be accepted only from the hosts listed here.
# If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally
# and '::/0' will allow any IPv4 or IPv6 address.
# '0.0.0.0/0' can be used to allow any IPv4 address.
# Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
#
# Mandatory: yes, if StartAgents is not explicitly set to 0
# Default:
# Server=
####
# 修改zabbix server的ip地址为实际IP地址
####
Server=192.168.137.3
重启服务器 systemctl enable zabbix-agent && systemctl start zabbix-agent
页面添加AGENT
zabbix在监控压力不大的情况下,不需要使用zabbix-proxy作为被监控机收集信息的代理。直接通过slave/server模式通信
如果界面是英文,可以在user-settings下面把界面改成中文
添加agent的图形界面,选择主机-创建主机-设置主机
增加号必须的信息
选择模板,
增加完毕,查看添加是否成功。状态要过1分钟左右才会有变化
图形乱码解决
一般情况下,图形上的文字默认情况下是乱码
此时需要从windows服务器c:/windows/fonts/msyh.ttc 上传到zabbix服务器 /root下。
cd /usr/share/zabbix/assets/fonts
mv graphfont.ttf graphfont.ttf.bak
cp /root/msyh.ttc graphfont.ttf #服务器端上传
刷新界面,界面已经成功