1、什么是zabbix:
zabbix是一个基于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等平台上;
2、zabbix系统架构:
数据采集——数据分析——数据存储——展示、告警;
本章使用的是zabbix-agent的被动模式;
3、zabbix版本的选择:
https://www.zabbix.com/life_cycle_and_release_policy
半年更新一次(支持6个月)、一年半更新一个大版本为稳定版(支持5年);
4、zabbix4.0软件要求:
https://www.zabbix.com/documentation/4.0/manual/installation/requirements
5、时间同步:
crontab -e
*/5 * * * * /usr/sbin/ntpdate ntp.aliyun.com $>/dev/null
6、zabbix服务器设置:
服务器的主机名 | 节点 | ip地址 |
master-node1 | 控制节点 | 172.16.1.90 |
slave-node1 | 从节点 | 172.16.1.91 |
7、控制节点安装:
(1)安装zabbix4.0的源:
rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
(2)由于国内较慢,更改为阿里的 zabbix yum 源:
vim /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://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=http://mirrors.aliyun.com/zabbix/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
(3)验证yum源的有效性:
yum list | grep zabbix
yum repolist enabled
(4)安装支持 mysql 的 zabbix-server 服务:
yum install zabbix-server-mysql -y
(5)安装支持 mysql 的 zabbix-web 前端服务:
yum install zabbix-web-mysql -y
(6)安装数据库:
1)安装:
yum install -y mariadb-server
2)查看版本:
mysql -V
mysql Ver 15.1 Distrib 5.5.60-MariaDB, for Linux (x86_64) using readline 5.1
3)启动mariadb并加入到开机自启中:
systemctl start mariadb.service
systemctl enable mariadb.service
4)查看端口号:
netstat -tunlp | grep mysqld
3306
5)初始化mariadb:
mysql_secure_installation
6)创建 zabbix-server、zabbix-web 服务需要连接的库:
mysql -uroot -p123456
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@"172.16.1.%" identified by "123456";
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> quit;
Bye
7)初始化 zabbix 数据库:
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uroot -p123456 zabbix
#验证数据是否导入成功:
mysql -uroot -p123456 -e "use zabbix;show tables"
(7)配置 zabbix-server:
1)修改 zabbix-server 连接数据库的配置文件(部分修改):
vim /etc/zabbix/zabbix_server.conf
ListenPort=10051
DBHost=172.16.1.90
DBName=zabbix
DBUser=zabbix
DBPassword=123456
DBPort=3306
ListenIP=172.16.1.90
Timeout=30
2)启动 zabbix-server 服务并加入到开机自启动:
systemctl start zabbix-server.service
systemctl enable zabbix-server.service
3)查看 zabbix-server 的端口号:
[root@controller-node1 ~]# netstat -tunlp | grep zabbix_server
tcp 0 0 172.16.1.90:10051 0.0.0.0:* LISTEN 2193/zabbix_server
(8)apache配置:
说明:httpd服务是在安装zabbix-web-mysql服务中被当做依赖包被安装;
1)修改ServerName:
vim /etc/httpd/conf/httpd.conf +95
ServerName 127.0.0.1:80
2)启动httpd服务并加入到开机自启动:
systemctl start httpd
systemctl enable httpd
3)查看httpd的端口号:
[root@controller-node1 ~]# netstat -tunlp | grep httpd
tcp6 0 0 :::80 :::* LISTEN 2283/httpd
(9)使用 zabbix-web 服务的web界面配置zabbix-web服务:
1)修改时区:
vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
systemctl restart httpd
2)打开web配置界面:
http://172.16.1.90/zabbix/setup.php
3)配置数据库:
4)zabbix-server信息配置:
5)配置总结:
6)配置完成:
7)补充说明:
#在分离数据库时需要修改的文件;
[root@controller-node1 ~]# cat /etc/zabbix/web/zabbix.conf.php
<?php
// Zabbix GUI configuration file.
global $DB;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = '172.16.1.90';
$DB['PORT'] = '0';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = '123456';
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
$ZBX_SERVER = '172.16.1.90';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'Zabbix server';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
(10)在zabbix-server上安装zabbix-agent:
1)下载zabbix-agent并安装:
mkdir -p /tools/
cd /tools/
wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm
rpm -ivh zabbix-agent-4.0.0-2.el7.x86_64.rpm
2)配置zabbix-agent配置文件(部分修改):
vim /etc/zabbix/zabbix_agentd.conf
Server=172.16.1.90
###################################################################
#允许访问zabbix-agent服务器的ip地址,默认127.0.0.1;
#Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
###################################################################
ListenPort=10050
#监听的端口,默认;
ListenIP=172.16.1.90
#监听的ip地址,默认0.0.0.0;
StartAgents=3
#在被动模式下,此参数用于设置控制监听进程可启用的子进程的数量,若监控项较多且采集很频繁,建议加大此数值,默认值为3;
Timeout=30
#zabbix-agent取值超时,默认3s;
3)启动zabbix-agent并加入到开机自启动:
systemctl start zabbix-agent.service
systemctl enable zabbix-agent.service
4)查看端口号:
[root@controller-node1 tools]# netstat -tunlp | grep zabbix_agentd
tcp 0 0 172.16.1.90:10050 0.0.0.0:* LISTEN 3713/zabbix_agentd
(11)登录:
1)http://172.16.1.90/zabbix:
说明:该用户密码是数据库中的用户名和密码;
2)登录后的界面:
说明:当前监控是在zabbix-server安装后就自动添加的;
(12)调整zabbix-web页面显示为简体中文:
(13)解决zabbix-web中文乱码的问题:
1)查看zabbix-web链接的字体:
[root@controller-node1 ~]# ls -l /etc/alternatives/zabbix-web-font
lrwxrwxrwx 1 root root 38 6月 16 12:59 /etc/alternatives/zabbix-web-font -> /usr/share/fonts/dejavu/DejaVuSans.ttf
2)在windows中找到需要的字体格式后上传到"/usr/share/fonts/dejavu/"目录下:
#在windows中查找需要的字体:
#将字体上传到"/usr/share/fonts/dejavu/"目录下:
[root@controller-node1 ~]# cd /usr/share/fonts/dejavu/
[root@controller-node1 dejavu]# rz -y
3)对旧的字体备份后进行替换:
#备份旧的字体:
[root@controller-node1 dejavu]# cp -a DejaVuSans.ttf DejaVuSans.ttf.bak
#替换字体:
[root@controller-node1 dejavu]# \mv simkai.ttf DejaVuSans.ttf
说明:替换好字体后不需要重启zabbix-web服务;