安装zabbix server

zabbix server节点需提前安装好MySQL,安装zabbix web依赖的Apache和php模块,然后安装三个zabbix组件zabbix-server-mysql、zabbix-web-mysql、zabbix-get。

[root@zryrunning ~]#rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
 [root@zryrunning ~]#yum install zabbix-server-mysql zabbix-get
 [root@zryrunning ~]#yum install zabbix-web-mysql 

安装完zabbix server后,会形成以下文件,有些文件我们需要使用:

[root@zryrunning ~]# rpm -ql zabbix-server-mysql
/etc/logrotate.d/zabbix-server
/etc/zabbix/zabbix_server.conf   #配置文件
/usr/lib/systemd/system/zabbix-server.service   #Unit File
/usr/lib/tmpfiles.d/zabbix-server.conf
/usr/lib/zabbix/alertscripts
/usr/lib/zabbix/externalscripts
/usr/sbin/zabbix_server_mysql
/usr/share/doc/zabbix-server-mysql-4.0.0
/usr/share/doc/zabbix-server-mysql-4.0.0/AUTHORS
/usr/share/doc/zabbix-server-mysql-4.0.0/COPYING
/usr/share/doc/zabbix-server-mysql-4.0.0/ChangeLog
/usr/share/doc/zabbix-server-mysql-4.0.0/NEWS
/usr/share/doc/zabbix-server-mysql-4.0.0/README
/usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz #数据库初始化脚本,但不包含创建数据库zabbix
/usr/share/man/man8/zabbix_server.8.gz
/var/log/zabbix
/var/run/zabbix

安装mariadb这里不介绍,安装好mariadb后手动创建zabbix数据库并授权zabbix账户访问,根据实际情况授权IP登陆MySQL,只本机登陆用localhost。
然后可以根据zabbix软件包携带的sql脚本初始化数据库

MariaDB [(none)]> create database zabbix charset 'utf8';
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all on zabbix.* to zabbix@'localhost' identified by '123123';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
[root@zryrunning ~]# mysql -uroot -p -Dzabbix < /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql
Enter password: 
MariaDB [zabbix]> show tables;
+----------------------------+
| Tables_in_zabbix           |
+----------------------------+
| acknowledges               |
| actions                    |
| alerts                     |
| application_discovery      |
| application_prototype      |
| application_template       |
| applications               |
| auditlog                   |
| auditlog_details           |
...
| trigger_depends            |
| trigger_discovery          |
| trigger_tag                |
| triggers                   |
| users                      |
| users_groups               |
| usrgrp                     |
| valuemaps                  |
| widget                     |
| widget_field               |
+----------------------------+
144 rows in set (0.00 sec)

编辑zabbix配置文件/etc/zabbix/zabbix_server.conf,修改连接数据库的密码

DBPassword=123123

其他常见zabbix_server参数列举:

#zabbix服务端监听的端口,不修改
ListenPort=10051
#指定zabbix服务端和agent通信时使用的源IP。安全考虑,zabbix agent根据IP进行一定的访问控制,只允许指定IP以server的身份采集被监控主机的数据,如果IP不对则拒绝。当server端配置了多个IP地址时,可以通过SourceIP指定用于与agent通信的源IP。
SourceIP=
#指定哪种方式记录日志,三种方式可选:system、file、console,默认为file。system表示将日志发往syslog,file表示使用指定文件作为日志输出,console表示将日志发往控制台。
LogType=file
LogFile=/var/log/zabbix/zabbix_server.log
#日志文件达到多大时自动转储,单位MB,如设为50,表示日志大小达到50MB时滚动一次,
LogFileSize=50
#设置日志级别
#0 - basic information about starting and stopping of Zabbix processes
#1 - critical information
#2 - error information
#3 - warnings
#4 - for debugging (produces lots of information)
#5 - extended debugging (produces even more information)
DebugLevel=3
#配置zabbix数据库所在服务器IP,zabbix_server通过该IP连接数据库,本文MySQL与zabbix server同主机部署,配置localhost
DBHost=localhost
#配置zabbix server所使用数据库的名字
DBName=zabbix
#配置zabbix server登陆数据库使用的用户名
DBUser=zabbix
#配置zabbix server登陆数据库的密码
DBPassword=123123
#配置zabbix server登陆数据库使用的端口号
DBPort=3306
#如果数据库和zabbix server部署在同一服务器上时,配置zabbix server登陆数据库用的socket文件。
DBSocket=/var/lib/mysql/mysql.sock

zabbix-server端配置好之后,启动zabbix-server,并设置开机启动(可选)。

[root@zryrunning ~]# systemctl enable zabbix-server
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.
[root@zryrunning ~]# systemctl start zabbix-server

这时查看监听端口可以看到zabbix-server和MySQL进程正在监听10051和3306端口。

zabbix安装部署实录

zabbix_server只是zabbix服务端的后台程序,要访问zabbix页面还需要安装zabbix web。

安装zabbix web

zabbix web依赖于Apache服务和若干php模块,安装好依赖模块后,安装zabbix-web-mysql

[root@zryrunning ~]# yum install httpd php php-mysql php-mbstring php-gd php-bcmath php-ldap php-xml
[root@zryrunning ~]# yum install zabbix-web-mysql  zabbix-web

zabbix针对httpd专门提供了配置文件/etc/httpd/conf.d/zabbix.conf,启动httpd之前,只需将时区修改为东八区,就可使用。

[root@zryrunning ~]# vi /etc/httpd/conf.d/zabbix.conf
...
php_value date.timezone Asia/Shanghai

然后启动httpd,并设置开机启动(可选)

systemctl start httpd.service
systemctl enable httpd.service

zabbix初始化配置

到这一步完成了zabbix web的安装配置,下面是登陆zabbix web进行zabbix初始化配置。
打开浏览器,访问http://Host_IP/zabbix , 初次登陆会跳转到/zabbix/setup.php页面进行初始化配置。

P2
zabbix安装部署实录

初始化第一步,zabbix自动检查安装环境是否满足要求,根据右边列如有不OK项,则需要单独处理。

P3
zabbix安装部署实录

第二步,配置数据库连接,需配置数据库类型、IP、端口、数据库名、用户和密码。初始化MySQL时授权了zabbix账户,创建了zabbix数据库,配置database name和user为zabbix,因MySQL安装在本地所以配置localhost。

P4
zabbix安装部署实录

第三步,配置zabbix server详细信息,包括IP地址(host)、端口、server名称等。

P5
zabbix安装部署实录

第四步,检查初始化配置是否有误。务必确认信息无误,则点击下一步。

P6
zabbix安装部署实录

zabbix初始化配置完成,相关配置信息被保存在/etc/zabbix/web/zabbix.conf.php中。如果想修改初始化配置信息,可以修改该文件。至此zabbix初始化完成,点击finish。

P7
zabbix安装部署实录

首次登陆zabbix web,账户admin,密码zabbix。

安装zabbix agent

以上步骤完成后可以在web页面查看各种仪表盘,但是需要把监控对象添加进来,才能采集到有意义的监控数据。这只需在被监控主机上安装zabbix-agent和zabbix-sender

yum install zabbix-agent zabbix-sender

安装完zabbix-agent后,生成两个重要的文件:
   配置文件:/etc/zabbix/zabbix_agentd.conf
    Unit File:/usr/lib/systemd/system/zabbix-agent.service

修改zabbix_agentd.conf的配置将zabbix server的IP填到Server,如果有多个zabbix server IP用逗号分隔

[root@VM1 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=IP1,IP2,...

然后启动zabbix-agent服务,并设置开机启动(可选)

[root@zryrunning ~]# systemctl start zabbix-agent
[root@zryrunning ~]# systemctl enable zabbix-agent
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.

到此zabbix安装部署完成,但要真正监控系统的运行状态需要通过zabbix 页面做更详细的配置。