手把手教你搭建分布式zabbix

规划节点

Zabbix分布式监控系统的节点规划,见表4-13-1。

表4-13-1 节点规划

IP

主机名

节点

172.16.51.5

zabbix-server

Server节点

172.16.51.38

zabbix-agent

Agent节点        

1. 基础环境配置

(1)主机名配置

一台server节点和一台agent节点,使用secureCRT进行连接。

Server节点修改主机名为zabbix-server:

[root@localhost ~]# hostnamectl set-hostname zabbix-server

修改完之后重新连接secureCRT,并查看主机名:

 

[root@zabbix-server ~]# hostnamectl

   Static hostname: zabbix-server

         Icon name: computer-vm

           Chassis: vm

        Machine ID: dae72fe0cc064eb0b7797f25bfaf69df

           Boot ID: bf8e7d1eef924a008869a5275404abbc

    Virtualization: kvm

  Operating System: CentOS Linux 7 (Core)

       CPE OS Name: cpe:/o:centos:centos:7

            Kernel: Linux 3.10.0-229.el7.x86_64

      Architecture: x86_64

Agent节点修改主机名为zabbix-agent:

[root@localhost ~]# hostnamectl set-hostname zabbix-agent

修改完之后重新连接secureCRT,并查看主机名:

 [root@zabbix-agent ~]# hostnamectl

   Static hostname: zabbix-agent

         Icon name: computer-vm

           Chassis: vm

        Machine ID: dae72fe0cc064eb0b7797f25bfaf69df

           Boot ID: 31c2078162b3477fb3deb9195092e135

    Virtualization: kvm

  Operating System: CentOS Linux 7 (Core)

       CPE OS Name: cpe:/o:centos:centos:7

            Kernel: Linux 3.10.0-229.el7.x86_64

      Architecture: x86_64

(2)Yum源配置

将提供的CentOS-7-x86_64-DVD-1511.iso镜像和zabbix文件夹上传至zabbix-server节点的/opt目录下。

在zabbix-server节点创建挂载目录:

[root@zabbix-server ~]# mkdir -p /opt/centos

将CentOS-7-x86_64-DVD-1511.iso挂载到/opt/centos目录:

[root@zabbix-server ~]# cd /opt/

[root@zabbix-server opt]# ll

total 4228100

drwxr-xr-x 2 root root          6 Oct  4 18:43 centos

-rw-r--r-- 1 root root 4329570304 Feb 26  2018 CentOS-7-x86_64-DVD-1511.iso

drwxr-xr-x 3 root root       4096 Oct  4 18:46 zabbix

[root@zabbix-server opt]# mount CentOS-7-x86_64-DVD-1511.iso centos/

mount: /dev/loop0 is write-protected, mounting read-only

挂载好iso文件后,将/etc/yum.repo.d目录下的所有文件移动到/media下。

[root@zabbix-server ~]# mv /etc/yum.repos.d/* /media/

在/etc/yum.repo.d目录下创建local.repo文件,文件内容如下:

[root@zabbix-server ~]# cat /etc/yum.repos.d/local.repo

[centos]

name=centos

baseurl=file:///opt/centos

gpgcheck=0

enabled=1

[zabbix]

name=zabbix

baseurl=file:///opt/zabbix

gpgcheck=0

enabled=1

至此,zabbix-server节点的Yum源配置完毕。

接下来配置zabbix-agent节点的Yum源。首先在zabbix-server节点上安装vsftpd服务。

[root@zabbix-server ~]# yum install vsftpd -y

修改vsftpd服务的配置文件vsftpd.conf,在配置文件的最上面,添加一行代码,命令如下:

[root@zabbix-server ~]# vi /etc/vsftpd/vsftpd.conf

anon_root=/opt

# Example config file /etc/vsftpd/vsftpd.conf

#

# The default compiled in settings are fairly paranoid. This sample file

保存修改并退出,启动vsftpd服务,命令如下:

[root@zabbix-server ~]# systemctl start vsftpd

[root@zabbix-server ~]# systemctl status vsftpd

vsftpd.service - Vsftpd ftp daemon

   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled)

   Active: active (running) since Fri 2019-10-04 19:04:54 UTC; 5s ago

  Process: 10014 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)

 Main PID: 10015 (vsftpd)

   CGroup: /system.slice/vsftpd.service

           └─10015 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf



Oct 04 19:04:54 zabbix-server systemd[1]: Started Vsftpd ftp daemon.

到zabbix-agent节点上,首先将/etc/yum.repo.d目录下的所有文件移动到/media目录下,然后创建local.repo文件,文件内容如下所示:

[root@zabbix-agent ~]# mv /etc/yum.repos.d/* /media/

[root@zabbix-agent ~]# vi /etc/yum.repos.d/local.repo

[centos]

name=centos

baseurl=ftp://172.16.51.5/centos

gpgcheck=0

enabled=1

[zabbix]

name=zabbix

baseurl=ftp://172.16.51.5/zabbix

gpgcheck=0

enabled=1

至此,2个节点的Yum源全部配置完毕。

(3)安装LAMP+Zabbix服务(在zabbix-server节点执行)

安装httpd服务,命令如下:

[root@zabbix-server ~]# yum install httpd -y

安装数据库服务,命令如下:

[root@zabbix-server ~]# yum install -y mariadb-server mariadb

安装Zabbix服务,命令如下:

[root@zabbix-server ~]# yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent mariadb-server

升级trousers服务,命令如下:

[root@zabbix-server ~]# yum install trousers -y

至此,Zabbix服务所需要的软件包已安装完毕。

2. 配置并启动Zabbix服务

(1)启动httpd服务

使用命令启动httpd服务,并设置开机自启,最后查看运行状态。命令如下:

[root@zabbix-server ~]# systemctl start httpd

[root@zabbix-server ~]# systemctl enable httpd
ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'

[root@zabbix-server ~]# systemctl status httpd

httpd.service - The Apache HTTP Server

   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled)

   Active: active (running) since Fri 2019-10-04 19:34:32 UTC; 27s ago

     Docs: man:httpd(8)

           man:apachectl(8)

 Main PID: 10215 (httpd)

   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"

   CGroup: /system.slice/httpd.service

           ├─10215 /usr/sbin/httpd -DFOREGROUND

           ├─10217 /usr/sbin/httpd -DFOREGROUND

           ├─10218 /usr/sbin/httpd -DFOREGROUND

           ├─10219 /usr/sbin/httpd -DFOREGROUND

           ├─10220 /usr/sbin/httpd -DFOREGROUND

           └─10221 /usr/sbin/httpd -DFOREGROUND



Oct 04 19:34:31 zabbix-server systemd[1]: Starting The Apache HTTP Server...

Oct 04 19:34:32 zabbix-server httpd[10215]: AH00557: httpd: apr_sockaddr_info_get() fa...er

Oct 04 19:34:32 zabbix-server httpd[10215]: AH00558: httpd: Could not reliably determi...ge

Oct 04 19:34:32 zabbix-server systemd[1]: Started The Apache HTTP Server.

Hint: Some lines were ellipsized, use -l to show in full.

(2)启动并配置数据库服务

启动数据库服务,并设置开机自启,命令如下:

[root@zabbix-server ~]# systemctl start mariadb

[root@zabbix-server ~]# systemctl enable mariadb

ln -s '/usr/lib/systemd/system/mariadb.service' '/etc/systemd/system/multi-user.target.wants/mariadb.service'

登录数据库,创建zabbix库(中文编码格式),命令如下:

[root@zabbix-server ~]# mysql

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 2

Server version: 5.5.44-MariaDB MariaDB Server

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;

Query OK, 1 row affected (0.00 sec)

授予zabbix用户的访问权限,命令如下:

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix';

Query OK, 0 rows affected (0.00 sec)



MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

Query OK, 0 rows affected (0.00 sec)

退出数据库,进入到/usr/share/doc/zabbix-server-mysql-3.4.15/目录,导入数据库文件,命令如下:

MariaDB [(none)]> Ctrl-C -- exit!

Aborted

[root@zabbix-server ~]# cd /usr/share/doc/zabbix-server-mysql-3.4.15/

[root@zabbix-server zabbix-server-mysql-3.4.15]# ll

total 2120

-rw-r--r-- 1 root root      98 Nov 12  2018 AUTHORS

-rw-r--r-- 1 root root  866545 Nov 12  2018 ChangeLog

-rw-r--r-- 1 root root   17990 Nov 12  2018 COPYING

-rw-r--r-- 1 root root 1267039 Nov 12  2018 create.sql.gz

-rw-r--r-- 1 root root      52 Nov 12  2018 NEWS

-rw-r--r-- 1 root root    1062 Nov 12  2018 README

[root@zabbix-server zabbix-server-mysql-3.4.15]# zcat create.sql.gz |mysql -uroot zabbix

至此,数据库配置完毕。

(3)设置时区

编辑/etc/php.ini文件,设置时区,在[Date]字段下,设置date.timezone=PRC,命令如下:

[root@zabbix-server ~]# vi /etc/php.ini

[Date]

; Defines the default timezone used by the date functions

; http://php.net/date.timezone

date.timezone = PRC

编辑/etc/httpd/conf.d/zabbix.conf文件,修改时区,修改php_value date.timezone 为Asia/Shanghai,命令如下:

[root@zabbix-server ~]# vi /etc/httpd/conf.d/zabbix.conf



        php_value max_execution_time 300

        php_value memory_limit 128M

        php_value post_max_size 16M

        php_value upload_max_filesize 2M

        php_value max_input_time 300

        php_value max_input_vars 10000

        php_value always_populate_raw_post_data -1

        # php_value date.timezone Europe/Riga

        php_value date.timezone Asia/Shanghai

    

修改完配置文件后重启httpd服务,命令如下:

[root@zabbix-server ~]# systemctl restart httpd

(4)修改Zabbix配置文件并启动

修改/etc/zabbix/zabbix_server.conf配置文件,修改完的配置文件如下所示:

[root@zabbix-server ~]# vi /etc/zabbix/zabbix_server.conf

[root@zabbix-server ~]# grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf

38:LogFile=/var/log/zabbix/zabbix_server.log

49:LogFileSize=0

72:PidFile=/var/run/zabbix/zabbix_server.pid

82:SocketDir=/var/run/zabbix

91:DBHost=localhost

100:DBName=zabbix

116:DBUser=zabbix

124:DBPassword=zabbix

132:DBSocket=/var/lib/mysql/mysql.sock

330:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log

447:Timeout=4

489:AlertScriptsPath=/usr/lib/zabbix/alertscripts

499:ExternalScripts=/usr/lib/zabbix/externalscripts

535:LogSlowQueries=3000

启动Zabbix服务,命令如下:

[root@zabbix-server ~]# systemctl start zabbix-server

查看端口号,验证zabbix-server的服务端口10051是否存在,命令如下:

[root@zabbix-server ~]# netstat -ntpl

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    

tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      10611/zabbix_server

tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      10510/mysqld        

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      975/sshd            

tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      886/master          

tcp6       0      0 :::10051                :::*                    LISTEN      10611/zabbix_server

tcp6       0      0 :::80                   :::*                    LISTEN      10579/httpd         

tcp6       0      0 :::21                   :::*                    LISTEN      10015/vsftpd        

tcp6       0      0 :::22                   :::*                    LISTEN      975/sshd            

tcp6       0      0 ::1:25                  :::*                    LISTEN      886/master

手把手教你搭建分布式zabbix_第1张图片

填写连接数据库的必要信息,Password为zabbix,填写内容如图4-13-3所示,填写完毕后单击右下角“Next step”按钮,进行下一步操作。

手把手教你搭建分布式zabbix_第2张图片

图4-13-3 填写连接数据库的信息

填写Zabbix服务端的详细信息,内容如图4-13-4所示,Name字段可以随意填写,是给监控平台起个名字。然后单击右下角“Next step”按钮,进行下一步操作。

手把手教你搭建分布式zabbix_第3张图片

图4-13-4填写Zabbix服务端的详细信息

平台配置概况如图4-13-5所示,确认后单击右下角“Next step”按钮。

手把手教你搭建分布式zabbix_第4张图片

图4-13-5 平台配置概况

安装Zabbix,安装成功后,单击右下角“Finish”按钮,结束安装,如图4-13-6所示。

手把手教你搭建分布式zabbix_第5张图片

图4-13-6 结束配置

单击“Finish”按钮后,进入登录界面,使用默认的用户名和密码Admin/zabbix登录,如图4-13-7所示。

手把手教你搭建分布式zabbix_第6张图片

图4-13-7 登录Zabbix平台

进入Zabbix主页,如图4-13-8所示。

手把手教你搭建分布式zabbix_第7张图片

图4-13-8 Zabbix主页

(2)中文界面

单击右上角的头像按钮,进入设置界面,如图4-13-9所示。

手把手教你搭建分布式zabbix_第8张图片

图4-13-9 用户界面

将“Language”一栏修改为“Chinexe(zh CN)”,然后单击下方“Update”按钮,如图4-13-10所示。

手把手教你搭建分布式zabbix_第9张图片

图4-13-10 修改界面配置

中文界面的Zabbix监控界面已配置完成,如图4-13-11所示。
手把手教你搭建分布式zabbix_第10张图片

图4-13-11 配置完成

(3)添加被监控机器

回到zabbix-agent节点,安装zabbix-agent服务,命令如下:

[root@zabbix-agent ~]# yum install -y zabbix-agent

修改/etc/zabbix/zabbix_agentd.conf配置文件,配置zabbix-agent,修改如下:

[root@zabbix-agent ~]# vi /etc/zabbix/zabbix_agentd.conf

[root@zabbix-agent ~]# grep -n '^'[a-Z] /etc/zabbix/zabbix_agentd.conf

13:PidFile=/var/run/zabbix/zabbix_agentd.pid

32:LogFile=/var/log/zabbix/zabbix_agentd.log

43:LogFileSize=0

97:Server=172.16.51.5

138:ServerActive=172.16.51.5

149:Hostname=Zabbix-agent

267:Include=/etc/zabbix/zabbix_agentd.d/*.conf

启动zabbix-agent服务,并查看10050端口是否存在,命令如下:

[root@zabbix-agent ~]# systemctl start zabbix-agent

[root@zabbix-agent ~]# netstat -ntpl

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    

tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      10613/zabbix_agentd

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      979/sshd            

tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      899/master          

tcp6       0      0 :::10050                :::*                    LISTEN      10613/zabbix_agentd

tcp6       0      0 :::22                   :::*                    LISTEN      979/sshd            

tcp6       0      0 ::1:25                  :::*                    LISTEN      899/master      

回到Web界面,选择菜单栏“配置”→“主机”→“创建主机”命令,会跳转到如图4-13-12所示的配置主机的页面。

手把手教你搭建分布式zabbix_第11张图片

图4-13-12 创建主机

填写信息,将zabbix-agent节点添加到被监控机器,填写信息如图4-13-13所示。然后单击下方“添加”按钮。

手把手教你搭建分布式zabbix_第12张图片

图4-13-13 添加被监控机器

添加完毕后如图4-6-14所示。

手把手教你搭建分布式zabbix_第13张图片

图4-13-14 添加结果

添加监控项,单击“zabbix-agent”名称,然后单击“模板”标签,进行添加模板操作界面,如图4-13-15所示。

手把手教你搭建分布式zabbix_第14张图片

图4-13-15 添加监控模板

单击图4-13-15中的“选择”按钮,进行监控模板添加,在跳转界面勾选用户想要监控的复选框,然后单击下方“选择”按钮,如图4-13-16所示。

手把手教你搭建分布式zabbix_第15张图片

图4-13-16 选择监控模板

选择完模板后,如图4-13-17所示。

手把手教你搭建分布式zabbix_第16张图片

图4-13-17 模板选择完毕

单击“添加”按钮,显示链接的模板,然后单击“更新”按钮,如图4-13-18所示。

手把手教你搭建分布式zabbix_第17张图片

图4-13-18 更新模板

单击“更新”按钮后,zabbix-agent节点被添加到监控中,如图4-13-19所示。

手把手教你搭建分布式zabbix_第18张图片

图4-13-19 更新结果

(4)监控机器

在最上面的选择菜单栏中“监测中”→“图形”命令,群组选择Linux server,主机选择zabbix-agent,图形选择需要显示的监控项,此处选择为CPU jumps,如图4-13-20所示。

手把手教你搭建分布式zabbix_第19张图片

图4-13-20 显示的监控项

需要被监控的主机,首先安装zabbix-agent服务,然后修改配置文件并启动服务。登录Zabbix的Web界面,添加主机,并添加监控模板。成功添加后,就可以通过Zabbix界面进行主机的监控。

你可能感兴趣的:(zabbix)