一、版本选择及帮助查询
1.官网zabbix类型分析
在安装zabbix时,有许多种不同的版本,在选择版本时尽可能的参考官方网站及文档:www.zabbix.com进入下载页面
在这个页面中,我们会发现有许多不同的下载类型,分别是:Install from Packages是rpm源码包,可以更新zabbix的yum源后直接通过yum直接下载;Zabbix Cloud Images是云服务镜像,包括aws亚马逊云,gcp谷歌云等;Zabbix Container Images是用于docker容器;Zabbix Appliance是经过处理加工的zabbix文件包,其中包括iso镜像包、vdmk虚拟机磁盘数据包等,将所有文件包下载到虚拟机中即可直接使用;Zabbix Sources是zabbix的源代码包,用于编译安装的tar包,下载后进行编译安装,对比rpm包性能更加优越;最后一个Zabbix Agents就是zabbix客户端的安装包,包括不同的系统,如windows64位、32位、macOS系统等。所以在大多数生产环境中,选择rpm包yum安装或者tar包编译安装。
2.zabbix的yum源更新操作流程
这里我们以yum安装为例,选择Install from Packages类型下的4.0LTS-Red Hat Enterprise Linux-7-MySQL版本,这里4.0LTS版本中的TLS是指Long Time Support 长期维护版本,Red Hat Enterprise Linux是指红帽公司提供的zabbixd的yum源,这里与CentOS一致,7指使用的系统版本,CentOS7就选择7,CentOS6就选择6,最后是选择数据库服务,推荐选择MySQL,如下图所示:
接下来小伙伴们可以通过多种方式来更新本地zabbix的yum源,下图是来自zabbix官网的yum源地址,还可以采用国内清华源地址https://mirrors.tuna.tsinghua.edu.cn/或者阿里源地址https://opsx.alibaba.com/mirror进入到镜像站后选择zabbix进入点击4.0版本选择rhel,在选择你当前linux系统版本,最后选择行x86_64/的64位镜像,进入后选择zabbix-release,至于小版本看个人需求,影响不大,最后选择el7结尾的rpm包即可,复制后进入服务器后,通过rpm -ivh粘贴即可,具体操作流程如下:
官方源下载版本:复制粘贴到服务器中即可(但因源地址为外网地址速度较慢,对网络要求较高)
清华源下载地址:操作流程
通过rpm -ql命令检查zabbix的yum源,出现下图标记则代表zabbix源更新成功
但是由于清华源地址下载的rpm包本质上还是在zabbix官网地址上的,所以我们需要执行以下命令“sed -i 's#http://repo.zabbix.com/#https://mirrors.tuna.tsinghua.edu.cn/zabbix/#g' /etc/yum.repos.d/zabbix.repo ”将zabbix官网地址替换成清华源即可,最终文件内容显示如下即可:
ps:阿里云镜像站zabbix源文件内容(复制粘贴即可用)
cat < /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/\$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/\$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
EOF
二、zabbix环境准备及安装内容
1.环境准备
yum install -y httpd php mariadb-server
这里所说的环境准备其实就是zabiix显示页面LAMP环境的准备,httpd是Apache超文本传输协议(HTTP)服务器的主程序,端口默认是80,如服务器还存在nginx服务,其默认端口也是80,关闭或修改端口信息即可;php是超文本预处理器,是一种通用开源脚本语言,在介绍篇中也提到过,zabbix显示页面是以php语言开发的;mariadb就是数据库的一种,这里就不过多阐述,主要就是存放zabbix监控数据信息的,一般初始设置为本地,生产环境中可以通过数据库迁移,迁移到数据库服务器上
2.zabbix服务端安装及安装内容
yum install -y zabbix-server-mysql zabbix-web-server zabbix-agent
这里再次强调一下,zabbix服务器既是服务端也是客户端,所以也需要安装zabbix-agent客户端,zabbix-web-server则是web页面的一些插件,安装具体内容如下:
rpm -qa zabbix-server-mysql zabbix�web-mysql zabbix-agent httpd php mariadb-server
zabbix-server-mysql-4.0.12-1.el7.x86_64 #zabbix-server-mysql主要下载了关于zabbix监控服务端的一些操作命令
zabbix-web-mysql-4.0.12-1.el7.noarch
zabbix-agent-4.0.13-1.el7.x86_64
mariadb-server-5.5.64-1.el7.x86_64
httpd-2.4.6-90.el7.centos.x86_64
php-5.4.16-46.el7.x86_64
zabbix-server-mysql主要下载内容及作用(mysql就是代表zabbix使用的MySQL数据库)
rpm -ql zabbix-server-mysql
/etc/logrotate.d/zabbix-server #日志切割配置文件
/etc/zabbix/zabbix_server.conf #zabbix服务端的配置文件 配置数据库相关
/usr/lib/systemd/system/zabbix-server.service #zabbix-server管理配置文件(命令)
/usr/lib/zabbix/alertscripts #zabbix监控报警 脚本 告警/报警 发邮件/发微信
/usr/lib/zabbix/externalscripts #zabbix监控检测网络状况并发出警告
/usr/sbin/zabbix_server_mysql #zabbix服务端命令
/usr/share/doc/zabbix-server-mysql-4.0.12/create.sql.gz #创建zabbix数据库后初始化脚本 (在zabbix数据库中 创建表 字段xxx)
/usr/share/man/man8/zabbix_server.8.gz #关于zabbix监控帮助即man手册内容压缩包
/var/log/zabbix #zabbix日志
/var/run/zabbix ---> /run/zabbix #进程pid文件
zabbix-web-mysql下载内容——web页面插件
注意:由于我们下载的是zabbix-web-mysql,所以当我们执行rpm -ql zabbix-web-mysql查看下载内容时,发现没有包含文件,是因为真正的文件包名称为zabbix-web-4.0.14-1.el7.noarch,如下图:
zabbix-web-4.0.14-1.el7.noarch内容如下:(主要内容均是以php结尾的处理动态页面请求的脚本文件,内容太多只取一部分)
zabbix客户端软件包内容
rpm -ql zabbix-agent
/etc/logrotate.d/zabbix-agent #zabbix客户端配置文件 主配置文件
/etc/zabbix/zabbix_agentd.conf #目录下面的内容是zabbix扩展配置,类似于 /etc/nginx/conf.d/
/etc/zabbix/zabbix_agentd.d #自定义监控配置存放处
/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf #自定义监控
3.LAMP显示环境与LNMP显示环境关系图
生产环境中基本无差别
三、zabbix数据库准备与连接
1.zabbix数据库准备
systemctl stop nginx
systemctl disable nginx
systemctl start mariadb
systemctl enable mariadb
mysql #初始无密码
create database zabbix default charset utf8; #创建zabbix表并设定UTF-8字符集
grant all on zabbix.* to 'zabbix'@'localhost' identified by '123456'
grant all on zabbix.* to 'zabbix'@'172.16.1.%' identified by '123456'
select user,host from mysql.user; #select是查看字段的主要语句,而show是主要查看表或者库的主要语句, 该语句的意思就是指,查看mysql库的user表,下的user字段和host字段,产看多个字段用逗号连接
补充
1:当XShell与Linux的字符集一致时,显示无乱码,均默认为UTF-8
2:当Linux与数据库字符集一致时,用户访问网站,读取数据库信息时显示无乱码,但Linux默认字符集为UTF-8,而数据库默认字符集为Latin,可以通过“show create database 任意未指定字符集的表”,查看默认字符集,如下图:
3:当我们连接的是MySQL数据库或者是MariaDB数据库时存在一个微小的小Bug(5.5/5.6版本才会出现),就是当user表中的user字段为空时,那么部分连接数据库地址将无法正常使用,因此我们将user字段中的空子段删除即可,并更新权限表(修改用户信息时建议更改后第一时间更新权限表flush privileges)如下图:
2.修改Zabbix服务端配置文件
编辑zabbix服务端配置文件,使得zabbix通过配置文件直接识别到对应的zabbix数据库中,编辑内容如图所示:
3.手动导入zabbix数据库相关表
当zabbix数据库创建成功后,由于数据库中没有任何的表结构和其他相关字段信息,因此我们需要将初始化脚本的压缩包导入到zabbix数据库中
ll /usr/share/doc/zabbix-server-mysql-4.0.14/create.sql.gz #查看初始化脚本为giz压缩包
-rw-r--r-- 1 root root 1316758 Oct 28 17:16 /usr/share/doc/zabbix-server-mysql-4.0.14/create.sql.gz
zcat /usr/share/doc/zabbix-server-mysql-4.0.14/create.sql.gz | mysql -uroot -p 123456 zabbix #通过zcat命令将压缩包在不解压的情况下导入到数据库中的zabbix库中
补充:zcat命令就是将以giz压缩格式的压缩包在不解压的请款下查看其压缩包内容
最终导入结束后如下图(导入需一些时间不要着急):
4.修改zabbix时间戳
zabbix在监控过程中,需要时刻校对时间信息,因此在配置过程中,我们需要将zabbix的时区进行确定,因为zabbix没有默认时区,我们需要修改/etc/httpd/conf.d/zabbix.conf文件,将时区更改为亚洲/上海,注意大小写,修改内容如下:
5.web页面连接数据库
- 启动所有相关服务端程序
systemctl enable zabbix-server.service httpd.service zabbix-agent.service mariadb
systemctl start zabbix-server.service httpd.service zabbix-agent.service mariadb
- web页面访问配置zabbix
在web页面输入对应IP地址登录(如10.0.0.71/zabbix),之后一直点击下一步即可如图:
点击下一步后显示状态全部为OK即可,如下图:
点击下一步显示web页面连接数据库,如实填写端口密码信息即可(端口写0就行),如下图
点击下一步显示zabbix服务端信息,如图所示,其中Host信息代表zabbix服务端地址,如果zabbix服务端和数据库在同一台服务器上则填写localhost,如不在则填写zabbix服务端所在的IP地址,端口为10051即zabbix服务端默认端口号,Name随意
点击下一步,确认刚刚所填写信息,如图:
点击下一步,安装成功并完成界面,如图:
补充:后期修改zabbix服务端的web页面连接的数据库地址,我们需要修改的配置文件为: /etc/zabbix/web/zabbix.conf.php,如图:
点击完成后,显示正式的登陆页面,初始用户名为Admin初始密码为zabbix,如图:
四、Zabbix图形化界面
1.修改web页面语言
2.zabbix监控自己(即zabbix服务端监控zabbix服务端,使得zabbix即使服务端也是客户端)
-
第一里程:修改zabbix客户端配置文件
修改内容如下:注意的一点就是修改zabbix服务端地址时,由于此次是让zabbix服务端进行自我监控,所以默认不用修改,填写本地即可
- 第二里程:如果修改配置文件,则粗腰重启zabbix客户端
systemctl restart zabbix-agent.service
-
第三里程:web页面查看,4号位置如果显示为绿色则已经正常启动监控(需要等待一会才会有显示),如图操作:
-
第四里程:查看zabbix自我监控数据,如图操作:
点击图形即显示数据图形化,即数据走势
- 第五里程:直接查找所需图形化数据,选择不同主机及其需索监控选项,还可以选择监控对应时间,如图操作:
补充:在查看图形化数据的时候,有些图形会存在乱码现象,可以将图形化界面语言调回至英文版即可