Zabbix简介
Zabbix的优势
- 支持自定义监控脚本,提供需要输出的值即可
- zabbix存储的数据库表结构稍有复杂但是逻辑清晰
- zabbix存在模板的概念,可以方便的将一组监控项进行部署
- zabbix每一个item也就是监控项,都可以看到历史记录,且web界面友好
- zabbix有强大的Trigger(触发器)定义规则,可以定义复杂的报警逻辑
- zabbix提供了ack报警确认机制
- zabbix支持邮件,短信,微信等告警
- zabbix在触发告警后,可以远程执行系统命令
- zabbix有原生的PHP绘图模块
zabbix专有词汇
- zabbix server,服务端,收集数据,写入数据
- zabbix agent,部署在被监控的机器上,是一个进程,和zabbix server进行交互,以及负责执行命令
- Host,服务器的概念,指zabbix监控的实体,服务器,交换机等
- Hosts,主机组
- Applications,应用
- Events,事件
- Media,发送通知的通道
- Remote command,远程命令
- Template,模板
- Item,对于某一个指标的监控,称之为Items,如某台服务器的内存使用状况,就是一个item监控项
- Trigger,触发器,定义报警的逻辑,有正常,异常,位置三个状态
- Action,当Trigger符合设定值后,zabbix指定的动作,如发个邮件给nana,说服务器出现问题了
zabbix程序组件
- zabbix_server,服务端守护进程
- zabbix_agentd,agent守护进程
- zabbix_proxy,代理服务器
- zabbix_database,存储系统,mysql,pgsql
- zabbix_web,web GUI图形化界面
- zabbix_get,命令行工具,测试向agent发起数据采集请求
- zabbix_sender,命令行工具,测试向server发起数据
- zabbix_java_gateway,java网关
zabbix5.0服务端部署
zabbix5.0版本对于基础环境的要求有大的变化,最大的就是对php版本的要求,最低要求是7.2.0版本,对php扩展组件版本也有要求。
zabbix服务端虚拟机设置,内存至少为2个G以上。
主机 | ip |
---|
zabbix01(服务端) | 192.168.15.201 | zabbix02(客户端) | 192.168.15.202 | zabbix03(客户端) | 192.168.15.203 |
安装zabbix服务端配置
1. 获取zabbix官方源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
2. zabbix默认的源默认是在国外的源,将国外的zabbix源地址替换成阿里云的地址
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
3. 清空缓存
yum clean all
yum makecache
4. 安装zabbix server和agent
yum -y install zabbix-server-mysql zabbix-agent
5. 安装Software Collections,便于后续安装高版本的php,默认yum安装的php版本为5.4(版本过低)。
SCL(Software Collections)可以让同一个操作系统上安装和使用多个版本的软件,而不会影响整个系统的安装包,软件包会安装在/opt/rh目录下。
为了避免系统广泛冲突,/opt/rh包安装在目录中,例如,允许在CentOS7机器上安装Python3.8,而不会删除或干扰Python2.7。
/etc/opt/rh软件包所有的配置文件都存储在目录中相应的目录中,SCL包提供了定义使用所包含应用程序所需的环境变量shell脚本。
例如,PATH,LD_LIBRARY_PATH和MANPATH,这些脚本存储在文件系统中,作为/opt/rh/package-name/enable 。
yum install centos-release-scl -y
6. 修改zabbix-frontend前端源,开启enabled参数
vim /etc/yum.repos.d/zabbix.repo
...
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
7. 下载zabbix前端环境,且是安装到scl环境下
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y
ls /opt/rh/
8. 在下zabbix所需的数据库,直接用centos自带的mariadb
yum install mariadb-server -y
9. 启动数据库并设置开机自启
systemctl enable --now mariadb
10. 初始化数据库,设置root密码
mysql_secure_installation
11. 使用root用户登陆mariadb,建立zabbix数据库,这里的编码设置,非常重要,否则zabbix无法安装
mysql -uroot -p123
create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by '123';
grant all privileges on zabbix.* to zabbix@localhost;
flush privileges;
exit
12. 使用zabbix-mysql命令,导入数据库信息
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
13. 修改zabbix server配置文件,修改数据库的密码
vim /etc/zabbix/zabbix_server.conf
...
DBPassword=123
14. 修改zabbix的php配置文件中的时区
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
...
php_value[date.timezone] = Asia/Shanghai
15. 启动zabbix服务器,设置开机自启
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
打开浏览器,输入url地址:http://192.168.15.201/zabbix/setup.php
|