使用CentOS搭建zabbix分布式监控系统

一、配置yum源环境

将Centos镜像挂载到/opt/centos目录下,并将zabbix文件拷贝到/opt目录下

修改主机名并配置yum源

1.修改主机名称

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

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

2.配置节点yum源文件

此处安装使用的是本地源安装,若有需要百度网络源替换安装即可

zabbix-server:

[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节点

3.安装vsftp服务

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

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

anon_root=/opt

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

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

4.关闭防火墙服务

zabbix-server****节点:

[root@zabbix-server ~]# systemctl stop firewalld

[root@zabbix-server ~]# systemctl disable firewalld

zabbix-agent****节点:

关闭防火墙服务

[root@zabbix-agent ~]# systemctl stop firewalld

[root@zabbix-agent ~]# systemctl disable firewalld

配置zabbix-agent****节点vsftpd 源文件

此处安装使用的是本地ftp源安装,若有需要百度网络源替换安装即可

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

[centos]

name=centos

baseurl=ftp://192.168.100.10/centos

gpgcheck=0

enabled=1

 

[zabbix]

name=zabbix

baseurl=ftp://192.168.100.10/zabbix

gpgcheck=0

enabled=1

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

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

1.安装http服务

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

2.安装数据库服务

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

3.安装 Zabbix 服务

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

zabbix-agent mariadb-server

4.升级trousers服务

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

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

三、配置并启动 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'

2.启动并配置数据库服务

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

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

[root@zabbix-server ~]# mysql_secure_installation

**设置mysql****数据库密码为“000000****”**

3.登录数据库

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

[root@zabbix-server ~]# mysql -uroot -p000000

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 '000000';**

Query OK, 0 rows affected (0.00 sec)

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

Query OK, 0 rows affected (0.00 sec)

4.导入数据库文件

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

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

[root@zabbix-server ~]# zcat create.sql.gz > /root/zabbix.sql
[root@zabbix-server ~]# mysql -uroot -p000000

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

Your MariaDB connection id is 624

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)]> use zabbix**

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

 

Database changed

MariaDB [zabbix]> source /root/zabbix.sql

至此,数据库配置完毕。

四、设置时区

1.编辑/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

2.编辑/etc/httpd/conf.d/zabbix.conf 文件

修改时区,修改 php_value date.timezone 为Asia/Shanghai,命令如下:

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

<IfModule mod_php5.c>

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

3.修改完配置文件后重启 httpd 服务

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

五、修改 Zabbix 配置文件并启动

1.修改/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

2.启动 Zabbix 服务

命令如下:

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

3.安装net-tools检查端口状态

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

[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:3306      0.0.0.0:*        LISTEN   6117/mysqld     

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

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

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

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

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

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

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

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

至此,Zabbix 监控服务的 server 端配置完毕,接下来需要在 Web 界面操作。

六、使用 Zabbix 服务

1.登录界面

在浏览器访问 (本机ip地址)192.168.100.10/zabbix,进入 Zabbix 安装向导,单击右下角“Next step”按钮,进入下一步操作,如图

zabbix 主机群组与模板关联_centos

显示 PHP 版本信息等内容,然后单击右下角“Next step”按钮,进入下一步操作,如图

zabbix 主机群组与模板关联_centos_02

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

zabbix 主机群组与模板关联_分布式_03

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

zabbix 主机群组与模板关联_centos_04

确认后单击右下角“Next step”按钮。

zabbix 主机群组与模板关联_服务器_05

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

zabbix 主机群组与模板关联_服务器_06

单击“Finish”按钮后,进入登录界面,使用默认的用户名和密码 Admin/zabbix 登录,

zabbix 主机群组与模板关联_centos_07

2.进入 Zabbix 主页

zabbix 主机群组与模板关联_zabbix 主机群组与模板关联_08

中文界面

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

zabbix 主机群组与模板关联_分布式_09


将“Language”一栏修改为“Chinexe(zh CN)”,然后单击下方“Update”按钮,如

zabbix 主机群组与模板关联_zabbix 主机群组与模板关联_10


中文界面的 Zabbix 监控界面已配置完成,如图所示。

zabbix 主机群组与模板关联_分布式_11

七、添加被监控机器

1.回到 zabbix-agent 节点,安装 zabbix-agent 服务

命令如下:

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

2.修改/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=192.168.100.10

138:ServerActive=192.168.100.10

149:Hostname=Zabbix-agent

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

3.启动 zabbix-agent 服务

并查看 10050 端口是否存在,命令如下:

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

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

Active Internet connections (only servers)

16

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

4.回到 Web 界面

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

zabbix 主机群组与模板关联_zabbix 主机群组与模板关联_12


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

zabbix 主机群组与模板关联_服务器_13

添加完毕后如图所示。

zabbix 主机群组与模板关联_centos_14

添加监控项,单击“zabbix-agent”名称,然后单击“模板”标签,进行添加模板操作

界面,如图所示。

zabbix 主机群组与模板关联_centos_15


单击图中的“选择”按钮,进行监控模板添加,在跳转界面勾选用户想要监控

的复选框,然后单击下方“选择”按钮,如图所示。

zabbix 主机群组与模板关联_centos_16

选择完模板后,如图所示。

zabbix 主机群组与模板关联_linux_17

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

zabbix 主机群组与模板关联_服务器_18

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

zabbix 主机群组与模板关联_linux_19


5.监控机器

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

zabbix 主机群组与模板关联_zabbix 主机群组与模板关联_20

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