按照官方文档安装zabbix
一、监控的意义
- 防范事故于未然、没有故障的时候,收集数据。有故障就报警
- 人不可能24小时盯着–》软件–》盯着–》告警(短信、钉钉、微信、邮件)–》处理
监控哪些内容
二、zabbix原理
常用监控软件
-
第三方软件:zabbix、cacti、nagios、open-falcon、Prometheus、netdata
费用低廉 不能做到完全的定制,不能和公司业务完全吻合
-
自研
需要专人开发,成本比较高,今后的维护也比较多 完全符合公司的业务特点
zabbix架构图
常用组件说明:
- zabbix server:负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据都由它组织进行;
- database storage:专用于存储所有配置信息,以及由zabbix收集的数据;
- web interface:zabbix的GUI接口;
- proxy:可选组件,常用于监控节点很多的分布式环境中,代理server收集部分数据转发到server,可以减轻server的压力;
- agent:部署在被监控的主机上,负责收集主机本地数据如cpu、内存、数据库等数据发往server端或proxy端
数据的获取
- push–>推 agent–>server
- pull–>拉 server–>agent
三、安装zabbix
1.准备
- 设置主机名方便辨识
[root@localhost ~]# hostnamectl set-hostname zabbix
- 关闭防火墙和selinux
[root@zabbix ~]# systemctl stop firewalld
[root@zabbix ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@zabbix ~]# setenforce 0
[root@zabbix ~]# vim /etc/sysconfig/selinux
2.在官网选择版本
3.安装和配置zabbix服务器
- 安装zabbix仓库
[root@zabbix ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
- 安装zabbix的server和agent
[root@zabbix ~]# yum install zabbix-server-mysql zabbix-agent -y
- 安装zabbix前端
[root@zabbix ~]# yum install centos-release-scl -y
-
编辑配置文件 /etc/yum.repos.d/zabbix.repo 将前端部分设为启动
-
安装zabbix前端包
[root@zabbix ~]# yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
- 创建初始数据库
zabbix不提供数据库,需要自己安装数据库,作者这里安装的是mariadb
[root@zabbix ~]#yum install mariadb mariadb-server -y
登陆数据库执行一下操作
# mysql -uroot -p
password # 默认是没有密码的
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by '设置密码';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;
导入初始架构和数据
[root@zabbix ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
- 为Zabbix server配置数据库 编辑配置文件 /etc/zabbix/zabbix_server.conf
[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf
-
为Zabbix前端配置PHP 编辑配置文件 /etc/opt/rh/rh-php72/php-fpm.d/
修改时区
-
启动Zabbix server和agent进程
[root@zabbix ~]# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
[root@zabbix ~]# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
- 查看Zabbix server和agent进程是否启动
agnetd、pool、server都启动才算成功
[root@zabbix ~]# ps aux | grep zabbix
zabbix 2220 0.0 0.1 78852 1260 ? S 17:52 0:00 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
zabbix 2222 0.0 0.1 78852 1324 ? S 17:52 0:00 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
zabbix 2223 0.0 0.2 78852 2264 ? S 17:52 0:00 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
zabbix 2224 0.0 0.2 78852 2372 ? S 17:52 0:00 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
zabbix 2225 0.0 0.2 78972 2448 ? S 17:52 0:00 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
zabbix 2226 0.0 0.3 234388 3780 ? S 17:52 0:00 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
zabbix 2227 0.0 0.2 78852 2220 ? S 17:52 0:00 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
zabbix 2234 0.0 0.4 234408 4828 ? S 17:52 0:00 /usr/sbin/zabbix_server: configuration syncer [synced configuration in 0.058821 sec, idle 60 sec]
apache 2241 0.0 0.7 336788 7208 ? S 17:52 0:00 php-fpm: pool zabbix
apache 2242 0.0 0.7 336788 7208 ? S 17:52 0:00 php-fpm: pool zabbix
apache 2243 0.0 0.7 336788 7208 ? S 17:52 0:00 php-fpm: pool zabbix
apache 2245 0.0 0.7 336788 7208 ? S 17:52 0:00 php-fpm: pool zabbix
apache 2246 0.0 0.7 336788 7216 ? S 17:52 0:00 php-fpm: pool zabbix
zabbix 2247 0.0 0.2 234388 2968 ? S 17:52 0:00 /usr/sbin/zabbix_server: alert manager #1 [sent 0, failed 0 alerts, idle 5.011083 sec during 5.011188 sec]
zabbix 2248 0.0 0.2 234388 2264 ? S 17:52 0:00 /usr/sbin/zabbix_server: alerter #1 started
zabbix 2249 0.0 0.2 234388 2264 ? S 17:52 0:00 /usr/sbin/zabbix_server: alerter #2 started
zabbix 2250 0.0 0.2 234388 2264 ? S 17:52 0:00 /usr/sbin/zabbix_server: alerter #3
3.配置zabbix前端
- 在浏览器输入 zabbix服务器ip/zabbix 登陆zabbix
-
全都是ok说明未出现错误,直接next step
- 配置数据库连接
mysql的端口号是3306
密码为之前数据库设置的密码
- host为zabbix服务器ip,name可以自己设置
- 点击next step 即可完成
- 登陆zabbix前端
username 默认为Admin
password默认为zabbix
- 查看
- 设置语言为中文
4.解决乱码问题
-
找到楷体文件
-
将楷体文件传到zabbix服务器 位置:/usr/share/zabbix/assets/fonts
-
修改配置 vim /usr/share/zabbix/include/defines.inc.php
define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name